« 2013年4月 | トップページ | 2013年6月 »

2013.05.27

こないだの土曜日に植物園に行ってきた

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

なんか無性に緑が見たくなったので
デジカメを持って土曜日に植物園に行きました。

歩くと結構な距離があるのね。
14時くらいに出かけて行ったら
最終的に閉園時間まで歩きまわってました。

ちょっとヌカったのが
デジカメのメモリーカードが結構使っていたことに気づかず
途中で写真撮影ができなくなるというワナがあったところ。

そのため、途中からは携帯のカメラで写真撮影してました。

まだチェックしていないからうまく撮れているか分かんないけど
いいのがあったら、そのうちブログに貼るかもしれません。

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

2013.05.25

もしかして、ロリポップ!のMySQLって外から繋げないのか?

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

C#でDB接続のテストプログラムを作って実行してみたんだが
Error connecting to the server: Unable to connect to any of the specified MySQL hosts.
と出て接続ができない。

そもそもMySQLのデータベースホストにPingが通らない。

ちなみに昔、ロリポップ!でMovableTypeやOpenPNEをたてた時に
作ったDBにはPingが通る。

一応、こっちのDBにもつないでみたが
Error connecting to the server: Host 'XXX.XXX.XXX.XXX' is not allowed to connect to this MySQL server
と出て繋がらない。

しかも、ここで表示されるIPアドレスって
データベースホストのIPアドレスじゃない。

かげさんのマシンのIPアドレスとも違うので
かげさんのネット環境のグローバルIPだと思われる。

ということは、ロリポップ!のMySQLには
外部から接続できないのではなかろうか?

そう推測して一応、ロリポップ!へSSHで接続して
pingを叩いてみたら、まさかのpingコマンドが無いだと!?
むぅ、検証ができない・・・

ロリポップ!のサポートに連絡したいところだが
そもそもロリポップ!ではデータベースについては
サポート外となっているんだよなぁ。

ネットで調べてもロリポップ!のMySQLへ
PHPから接続する例は、いろいろあるんだけど
実は、かげさん、PHPのプログラムは組んだことがないんだよねぇ。

サクッと動くと思ってたから着手したんだけど
やっぱり、この手の環境周りのことでハマると急激に体調が悪くなる・・・。
DB関連とRaspberryPi関連は、しばらくおあずけにした方が良さそうだな・・・。

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

Raspberry Piをゲット

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

Raspberrypi

 

名刺サイズのパソコンを本代込み6000円で入手しました。
(Raspberry Pi:35ドル、本代:2,380+税)

このサイズで、ついているインタフェースがコチラ
・Micro USBポート(電源供給用)
・HDMI(1.3と1.4をサポート)
・LAN(100BASE-TX)
・USB2.0ポート2個
・オーディオ出力(ステレオミニジャック)
・ビデオ出力(コンポジット出力)
・低レベル周辺機器
・DSIコネクタ(LCDディスプレイ接続用の拡張ポート)
・CSIコネクタ(カメラモジュール接続用の拡張ポート)
・SDメモリカードスロット(裏側にある)

CPUコアはARM1176JZF-S(動作クロックは700MHz)
メモリは512MBです。
(軽いGUIのLinuxが動かせるくらい)

Raspberry Pi自体が入手困難だった時期があり
入手可能な時に入手だけはしておこう
という購入理由だったので
実は、まだ特に用途とかは考えていなかったりするんだが・・・

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

開発用のDBとか作ろうかな

| |コメント (2)|トラックバック (0)

 このエントリーをはてなブックマークに追加

うーん、開発効率を考えると
開発支援ツールが必要なんだが
データの持ち方やら何やらを考えると
開発用のDBが欲しくなる。

そうすれば、このデータをAとBのツールで共有して
とかがやりやすいんだよなぁ。

ExcelVBAとか使えばある程度なんとかなるんだけど
アプリケーションのライセンスの都合で複数のマシンを使っているので
それだとExcelのライセンス数の問題が出てきてコスト面の問題が出てくる。
(OSマルチブートとかしているとライセンス数が足りない・・・)

コスト面を考えるとKingOfficeがいいんだが、
コイツでマクロを組もうとするとVBA版を買わないとダメなのだ。
マシン購入時についてきたのはVBA版じゃないし
KingOfficeは後からVBA版にアップグレードすることができないのがネックになる。

DBサーバを作ろうとするとどのマシンをサーバにするか
という問題もある。

まぁ、そこは既に契約しているロリポップ!レンタルサーバの
mySQLを使えば、どのマシンからもアクセスできるわけだし
何とかなるだろう。(30個までDBを作れるから後27個作れる)

今現在も自作ツールでVC++のソースを自動生成したりはしているんだけど
DBにしておけば、登録データを基にVC++のソースを
再構築するのもやりやすくなるはず。
(今は、マップ毎にパラメータを入力しているので
 それを覚えていてくれると、とても助かるのだ)

ちょっと具体的に考えてみようかなぁ。

 このエントリーをはてなブックマークに追加

| |コメント (2)|トラックバック (0)

2013.05.19

Windowsゲーム「初音ミク冒険記」、コメントいただいた指摘に対応した2013/05/19版公開!

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

Version20130519

気づいたら前回の公開から2ヶ月以上経ってしまいました。
実は仕事の関係で精神的に参っていたので
あまり進展がありません。

プレイできるマップを増やすつもりでいたのですが
ちょっと思ったとおりに動かないところがあって時間がかかっています。

このままだと、いつ次の公開になるのかわからないので
現時点のものを公開します。

次の公開では移動できるマップが増えるとイイな。

今回は、過去にななしあさんやsatoshifukusimaさんの指摘があった部分を直したりして
プログラムの内部的には、いろいろ変更が入っているので
不具合とか気になる点が見つかった場合は、コメントもらえると嬉しいです。
もちろん「やってみたよ!」というコメントも大歓迎です!

ざっくりと前回公開からの差分をまとめると以下のようになります。

  1. PCL表示時間をポーズボタン(標準だとスペースキー)で短縮できるようにした
  2. メッセージ表示で登場人物の説明をカットできるようにした
  3. キャンプメニューの「操作説明」を「各種説明」に変更
  4. 「各種説明」で「操作説明」と「登場人物説明」を表示できるようにした
  5. 各ステージごとのステージ名称表示フラグが設定されていない場合
    ステージ名称を表示するようにした
  6. 壁に向かってジャンプし、壁にぶつかった後も壁側に移動キーを押し続けると
    壁に張り付いた空中浮遊状態になる不具合の修正
  7. その他もろもろのバグ対応(ゲームには影響がない、どうでも良い変更など)

ダウンロードはコチラから。

それでは、個別に見ていきましょう。
今回も、結構、長い記事です。

PCL表示時間をポーズボタン(標準だとスペースキー)で短縮できるようにした

ゲーム起動時のPCL(ピアプロ・キャラクター・ライセンス)の表示時間が長いという
指摘がななしあさんよりあったので対応しました。

PCLをなくすことはできないので、
1表示8.5秒→1秒に時間が短縮されるようにしています。

これでも待ち時間があるのが嫌だと言う人は
PCLを表示しないで初音ミク冒険記を起動する方法を
readme.txtに書いているのでそれを参考にして下さい。

メッセージ表示で登場人物の説明をカットできるようにした

キャンプメニューの「操作説明」を「各種説明」に変更

「各種説明」で「操作説明」と「登場人物説明」を表示できるようにした

ななしあさんからの指摘で
会話メッセージ中に登場人物の説明が入ることで
「会話が長くなる」ので要約出来ないか
というのがあったので、
登場人物の説明を会話中でカットできるようにしました。

具体的には、メッセージ表示中にカットするか選択できるようになっています。
Screenshot0102

オレンジのメッセージが出ている時に
「メッセージ送り」ボタンを押すと登場人物の説明をカットし
「説明割込」ボタンを押すとコレまで通り、会話中に登場人物の説明が入ります。

「説明割込」ボタンが未設定の場合、
キャンプメニューのボタンが「説明割込」ボタンとして設定されます。
自分でゲームパッドのボタン設定をしたい場合は、
オプションのパッド設定でカスタマイズして下さい。
(キー設定では変更できません)

この機能を追加したことで、
今度は勢いで「メッセージ送りボタン」を押してしまい
登場人物の説明を見逃すことがありえるため
後から登場人物の説明を見ることができるようにしようと思い
キャンプメニューの「操作説明」を「各種説明」に変更し
サブメニューとして「操作説明」と「登場人物説明」が出るようにしました

詳細は、過去に記事を書いたのでリンクをはっておきます。
初音ミク冒険記、割込説明ボタンの追加と登場人物説明の追加 初音ミク冒険記ページの画像更新など

各ステージごとのステージ名称表示フラグが設定されていない場合、ステージ名称を表示するようにした

Screenshot0107

各ステージで「ステージ名称表示したというフラグ」が未設定の時に
5秒ほどこのようにステージ名が表示されるようになりました。

探索系ドラキュラでステージに最初に入った時にステージ名が出るのが
カッコイイと思ったのでつけてみました。

壁に向かってジャンプし、壁にぶつかった後も壁側に移動キーを押し続けると、壁に張り付いた空中浮遊状態になる不具合の修正

satoshifukusimaさんが去年報告してくれた時には
仕様ですと回答したんだけど、どう考えてもバグでした。

詳細は、過去に記事を書いたのでリンクをはっておきます。
前に仕様ですとコメントしたけど、やっぱりバグだった・・・

なお、この修正をしたことで第1章「試練の洞窟 エリア2」で
2本目の「魔法のネギ」が取りづらくなりました。

具体的には、
「クイック・ステップ+ジャンプ」
「クイック・ムーブ+ジャンプ」
して2本目の「魔法のネギ」を取れる場所が、
2箇所あったのが1箇所になりました。

Screenshot0108

前はこの場所から上記の操作で2本目の「魔法のネギ」が取れたけど
今回から取れなくなっています。
修正前は頭と壁の衝突判定がなかったので取れたのですが
今回の修正では頭と壁の衝突判定をつけたので
頭が真ん中にある壁にぶつかってしまうので取れません。
実はこの足場は、下図の狭い場所から
「クイック・ステップ+ジャンプ」がうまくいかない人向けに作ってたので

Screenshot0106

従来通り、この場所から上記の操作をすれば取得できます。

その他もろもろのバグ対応

プロローグ最初のマップ、第1章最後のマップで
ミクが坂を降りようとして動けなくなるバグの対応をしました。
原因は他のミクが動けなくなるバグと同じなんですが、
ここだけはマップを修正すること回避できるので
ここだけ対応しました。

ボカロタウン(入口)に最初に来た時、かつ、デフォ子初登場イベント実施前に
ミクが移動した状態でセーブすると、そのデータをロードした時に
セーブデータのミクの位置ではなく、
固定でミクの場所を設定していた不具合の修正しました。

ボス戦でセーブできない時に
セーブデータのロードや削除をしようとすると
画面上のセーブデータの一番上のデータを選択できない不具合の修正しました。

一部のマップでマップ左上にいるミクと
画面左上のステータス表示が重なって見づらくなる部分を解消
(試練の洞窟 パズルエリアは、あえて修正しないことにした)

注意事項1

Windows版の古いバージョンの「初音ミク冒険記」で
セーブデータを作っている人は、セーブデータをコンバートしないと
初音ミク冒険記が起動できないことがあります。

注意事項2

前回同様、過去の初音ミク冒険記が動かせる環境がない人は
「ミクやルカ」の画像が含め
全キャラが白いマスク画像で表示されます。

過去の初音ミク冒険記が動かせる環境がある人は
ダウンロードのページに簡単な作業手順をまとめたので
それに従って実行環境を構築して下さい。
不明な場合はコメント下さい。

また、過去の初音ミク冒険記が動かせる環境がある人も
「ミクやルカ」の画像は表示できても
「デフォ子」や「ネル」、「ハク」、
「レン」、「リン」、「MEIKO」、「KAITO」、
「モモ」、「テト」の画像が
真っ白で表示されますので、あしからず・・・。

注意事項3

第2章のボカロタウンのマップ画像は、マップ間移動ができる部分や
調べることが出来る場所の目印程度しかありません。

少しずつマップチップも作っていこうと思いますが
気長にお待ちください。

画像関連は、今後もいろいろとネックになるような気がしています。

グラフィック出来る人いないだろうか・・・

追加、修正した機能のリスト

・PCL表示時間をポーズボタン(標準だとスペースキー)で短縮できるようにした
(PCLを非表示にはできないので時間短縮できるようにした)
(ななしあさんの指摘)

・ボカロタウン(入口)に最初に来た時、かつ、デフォ子初登場イベント実施前に
 ミクが移動した状態でセーブすると、そのデータをロードした時に
 セーブデータのミクの位置ではなく、固定でミクの場所を設定していた不具合の修正

・タイトルメニュー表示時、画面下中央にロゴが出るようにした

・タイトル系などの一部のゲームモードでスクリーンショットを撮る際
 ロゴを表示しないように修正(ロゴが無い方が良い時もあるので)

・選択肢を選択する際、選択肢と指カーソルが一部重なっていたのを修正

・キャンプメニューの「操作説明」を「各種説明」に変更

・「各種説明」で「操作説明」と「登場人物説明」を表示できるようにした

・内部処理修正(共通関数化など)やコメント整備(ゲームの動きには影響なし)

・プロローグ最初のマップで最初の坂の上からスタート地点に戻ろうとした時に
 たまに戻れないことがある不具合の修正
(プログラムの修正方法が思いつかなかったので
 マップの縦線の長さを5ピクセル短くした)
(第1章最後のマップも同様に修正)

・一部のマップでマップ左上にいるミクと
 画面左上のステータス表示が重なって見づらくなる部分を解消
(試練の洞窟 パズルエリアは、あえて修正しないことにした)

・壁に向かってジャンプし、壁にぶつかった後も壁側に移動キーを押し続けると
 壁に張り付いた空中浮遊状態になる不具合の修正
 試練の洞窟 エリア3のレザージャケットの宝箱の右の壁、
 同じマップのパズルエリアの直前の壁、
 第1章最後のマップから試練の洞窟へ戻る壁に
 ミクの足元が接触せず頭の辺りが接触した状態で壁の方向に移動した時など
(以前、satoshifukusimaさんが報告してくれた時に
 仕様通りと回答したんですが、やっぱりバグでした・・・)
(この修正により2つ目のネギを取る時、
 上の長い足場からのクイック・ステップ+ジャンブや
 クイックムーブ+ジャンプで取ることが出来なくなりました
 短い足場の上から上記の操作で入手可能です)

・セーブデータの画面で
 「セーブしました」/「ロードしました」/「削除しました」の
 メッセージが出た後でメッセージを消す時、
 メッセージ送りボタンだけでなく、キャンセルボタンでも
 消せるようにした
(セーブや削除の後は、連続セーブを考慮してセーブデータの画面に
 留まるのでキャンセルボタンでシステムメニューに戻るが
 セーブしましたの後にキャンセルボタン2連打でシステムメニューに
 戻れても良いかなと思ったので)

・ボス戦でセーブできない時に
 セーブデータのロードや削除をしようとすると
 画面上のセーブデータの一番上のデータを選択できない不具合の修正

・各ステージごとのステージ名称表示フラグが設定されていない場合
 ステージ名称を表示するようにした

・デバッグメニューが開ける状態で
 デフォルトでロードするセーブデータ番号自動設定フラグ=1で
 最後にセーブまたはロードしたセーブデータが有効な場合、
 ロードデータ選択画面でポーズボタンを押すと
 最後にセーブまたはロードしたセーブデータをロードするようにした

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

2013.05.14

マップ作成の効率を上げたくて2

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

前の記事で初音ミク冒険記本体側の処理を作ったので
今回は、マップ作成の支援ツール側のことを書いてみる

実際に作ったツールは、今のところ、こんな感じ。
Maptool01

初音ミク冒険記本体は、Visual C++で作っているけど
ツールは、画面関連の処理をつくりやすいこともあって
Visual C#で作っている。

即席で作ったのでしょぼいことしかできない。

初音ミク冒険記本体を起動した状態で
「初音ミク冒険記で現在表示中のマップファイル名取得」ボタン
クリックから始まる処理の流れは以下のようにしている

1.初音ミク冒険記にWM_APP+1のWindowsメッセージを送信する

2.初音ミク冒険記本体で表示しているマップがmap03_11の場合、
  上図の「線マップ」タブの上の方にあるフルパスのファイル名を
  クリップボードにコピーする

3.初音ミク冒険記本体はクリップボードにファイル名をコピーしたら

4.初音ミク冒険記マップクリエーターにWM_APP+1のWindowsメッセージを
  送信する

5.初音ミク冒険記マップクリエーターはWM_APP+1のWindowsメッセージを
  受信したらクリップボードに入っているファイル名を画面に表示

6.初音ミク冒険記マップクリエーターは
  画面に表示されたファイルを読み込み画面のリストボックスに表示する

7.リストボックスのデータを選択すると
  データを画面中央部にある始点、終点などの線の情報として表示する

8.必要に応じてリスト中の選択データを更新したり
  始点、終点などの線の情報を追加したりする

9.リストボックスのデータが確定したら
  「初音ミク冒険記へマップ情報を反映」ボタンをクリックする

10.リストボックスにあるデータで前述のファイルを書き換える

11.初音ミク冒険記本体にWM_APP+2のWindowsメッセージを送信する

12.ミクを操作できるように初音ミク冒険記本体をアクティブにする

12.初音ミク冒険記本体がWM_APP+2のWindowsメッセージを受信した場合
  ゲームモードをゲーム初期処理にし、
  現在表示中のマップの初期処理を行う
  (この時、内部的にはセーブデータをロードしたという扱いにして
   画面上のミクの位置がマップの初期処理で変更されないようにする)


これで一応、若干ではあるが作業効率が上がると思う。
上がるよね!?

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

2013.05.12

マップ作成の効率を上げたくて1

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

何度か書いているけど「初音ミク冒険記」は
14歳からはじめるC言語わくわくゲームプログラミング
という本をベースにして作っている。

この本の接地判定や壁の判定用のマップデータは、
始点X座標, 始点Y座標, 終点X座標, 終点Y座標
という形式で作られている。

しかし、初音ミク冒険記では、
2Dゲームなんだけど、3Dのベクトル計算関数VAddなどを使うために
ゲーム内部ではZ座標を持っていたり
飛び降りや天井の判定ができるようにマップデータを拡張している。
このため、上記の本に付属のマップエディタを使えない。
(しかも、このツールは、ソースがないので修正できない・・・orz)

これまでどうしてたかというと、
1.テキストエディタで座標を打ち込む
2.ちゃんとミクがジャンプして届くかなどを
  初音ミク冒険記を起動してチェックする
というのを繰り返し行なっていた。

初音ミク冒険記でマップデータを再読み込みするには
マップの初期処理を行う必要があるので
そのマップでセーブしたデータをロードするという手順になる
一応、毎回初音ミク冒険記を起動し直す必要がないのは良いのだが
ロードし直すのも面倒だったりする。

ずーっと前から、さすがにこれでは、作業がしづらい
と思っていたのだが、
ゲーム中の毎フレームでマップデータが更新されていないかチェックする
というのもなんだし
マップデータが更新されていないかチェックするスレッドを立てるのも
微妙な気がしていた。

まず、テキストエディタでデータを打つ時に
今編集しているのが何のデータか分からなくなったり
「,」の数を間違えたりしてた。
対策としては、データ自体はCSV形式なんで表計算ソフトで作る方法がある。

こっちはまだ何とかなりそうだが、
チェックの都度、セーブデータをロードするのは何とかできないか・・・

初音ミク冒険記にマップ編集モードとかを付けるのが無難?

Astlibraでは、ソースでマップ編集モードにすると
マップを編集できるので、これがいいのかなぁと考えたりもした。

こんな感じで、ずーと悶々としてたのだけど
解決方法を思いついた。

結局、マップ用のファイルが更新された通知を
初音ミク冒険記本体が受け取れたら良いのだ。

問題は、どうやって、その通知が受け取れるかだ。

Spy++とかを使ったことがある人は分かると思うけど
Windowsの内部では、Windowsメッセージという通知がバンバン行われている。
例えば、マウスを移動するとMOUSE_MOVEが飛ぶ。

この通知のユーザ定義版としてWM_USERというのがある。
マップ用ファイル編集ツールは、この通知を飛ばし
初音ミク冒険記本体がこの通知を受け取れれば良い。

DXライブラリを使っているのでWindowsメッセージの処理は
あらかたDXライブラリが処理してしまう。
なんか、Windowsメッセージをフックする方法はあるのかな?

と思って「DXライブラリ3.10a 関数プロトタイプ宣言」調べてみると
DXライブラリの非公開関数でSetHookWinProcというのを見つけた。

DXライブラリのソースを見るとSetHookWinProcの後で
処理されなかったWindowsメッセージをWindowsに任せる処理があったので
処理したいWindowsメッセージだけを純粋にフックする
Windowプロシージャを記載にすればOKそうなことが分かった。

■DxLib_Initの後でメインループに入る前


SetHookWinProc(HookWinProc);

という記述をする

■実際のHookWinProc


//*******************************************************
// ウィンドウズへ渡すメッセージに割り込むフック関数
//
// ※基本的に初音ミク冒険記関連の開発ツールから
//  初音ミク冒険記本体へアクセスするために使う予定
//  例えば、初音ミク冒険記のマップデータ作成ツールで
//  作成したマップデータを再読み込みさせるなど
//
// ※昔の感覚で当初はWM_USER+αの実装を指定たが、
//  現在は、EM_XXXX などで WM_USER+αが使われているため
//  WM_APP+αが推奨されている(α:0~0x3FFFまでの整数)
//*******************************************************
LRESULT CALLBACK HookWinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){
int returnMsgFlgMapCreator = FALSE;
switch(msg){
case WM_APP://WM_APP受信時
printfDx("WM_APP受信\n");
break;
case WM_APP + 1://WM_APP+ 1() 受信時
//printfDx("WM_APP+1受信\n");
// クリップボードへ現在ロード中のフルパスのマップファイル名を格納
SetClipboardText(lastLoadMapFullPathFileName);
returnMsgFlgMapCreator = TRUE;
break;
case WM_APP + 2://WM_APP+ 2() 受信時
//printfDx("WM_APP+2受信\n");
gameMode = GAME_MODE_GAME_INIT;
saveDataLoadedFlg = SAVEDATA_LOADED_ON;
break;
// ここで処理されないウィンドウズメッセージは
// DXライブラリのメッセージ処理後に
// DefWindowProcを呼び出して処理される
}
// 初音ミク冒険記マップクリエーターへメッセージを送信
if(returnMsgFlgMapCreator == TRUE){
HWND hWndMapCreator = FindWindow(NULL, "初音ミク冒険記マップクリエーター");
if(hWndMapCreator != NULL){
SendMessage(hWndMapCreator, msg, 0, 0);
CloseHandle(hWndMapCreator);
}
}
return 0;
}

これで初音ミク冒険記本体側の処理はOKだ。

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

2013.05.06

GW中に読んでいた本、「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

雪の降る実家方面から札幌に帰ってきたかげさんです。

さてさて、このGW中に読んでいた本を紹介しようと思います。

「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック
「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック

初音ミク冒険記を作っている関係で
ゲーム作りのテクニックに興味があり読み始めました。

実はページ数が多いこともあって、まだ半分も読めてません。

ゲームデザインドキュメントや
3つのC(キャラクター、カメラ、コントロール)、
HUD(ヘッドアップディスプレイ)の辺りまで読みました。

この本は、少なくとも2ページに1つ以上は図表があり
実際にあるゲームを例に上げたりしながら説明されているので
わかりやすくて勉強になります。
(少しでも初音ミク冒険記に反映できたらイイな、と思います)

初音ミク冒険記は、ドキュメントらしいドキュメントを作らずに
思いつきで作っています。
(イベントのフラグ表や、ちょっとしたメモ、
 実装したいと思っていることの手書きメモくらいはありますが)

そんなこともあって
ゲームデザインドキュメントの章とか、
ゲームドキュメントの実例は参考になりました。

また、各章の最後に「普遍的な事実と賢いやり方」
という、その章のポイントがあるのも良いと思います。

こういうことをするなら、オプションでこういうのがあった方が良いとか
考えるときのポイントの例示もあるので
なるほどなぁ~と思いながら読んでます。

この後でバトル関連の章もあるので、
今後も少しずつ読んでいくつもりです。

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

ゴールデンウィーク最終日の雪

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

ゴールデンウィーク最終日の雪
一体誰得?

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

2013.05.03

前に仕様ですとコメントしたけど、やっぱりバグだった・・・

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加
パズルの前の少し長い通路(?)でクイックムーブして、 出口の出っ張りに激突したまま左を押し続けると、空中浮遊します。

投稿者: satoshifukusima (2012/02/19 1:38:00)

前にこういうコメントをもらっていて

落下中は左右に動ける空中制御可能にしたので
正常な動きです。

と返信したんだけど、実はコレreadme.txtに書いている不具合情報

・壁に向かってジャンプし、壁にぶつかった後も壁側に移動キーを押し続けると
 壁に張り付いた状態になる
 (試練の洞窟 エリア3の上にある宝箱近くの壁、
  試練の洞窟 宝物庫の上にある壁、試練の洞窟から出たマップなど)

と同じ事だったのね・・・
と最近気づいて今日、それを修正しました。

元々、ミクの足元と床の衝突判定する処理をベースにして
ミクの頭と天井の衝突判定を作った時に
床との衝突判定では存在した壁との衝突判定の処理を抜いたのが
間違いの始まりだった。

足元の衝突判定では、壁にぶつかると壁の方向には進めなくなるのだが
頭は壁にぶつかっても問題無いじゃんと思っていたのだ。

しかし、satoshifukusimaさんが報告してくれたこの問題は
頭が壁にぶつかった時に壁の方向には進めなくしていないことで
一生懸命壁の方向に行こうとしているんだけど移動できないから
元の場所にいるので空中浮遊した状態になっている。

Screenshot0105


つまり、頭の部分でも、足元の判定同様に
壁にぶつかったら壁に沿って落ちるという風にしないとダメなのね
ってこと。

というわけで、一応、この問題は解決。

まぁ、ジャンプ上昇中に壁にぶつかったら、
壁に沿って上に移動するってのが気に入らないんだけど
現在のミクの垂直ジャンプと
水平移動を伴うジャンプの画像の高さの都合で
壁に沿って落ちる段階で少し上に上昇した感じになることがあるので
今のところ、放置しておくことにする。

本当は、垂直ジャンプも上昇中と下降中で
画像を変えないとダメなんだよねぇ。

上昇中の画像は今のままで良いとしても
普通、下降する時ってミクのツインテールは下向きじゃなくて
上向きになるのが、あるべき姿のように思うので。

この辺りは、今後の課題かなぁ。

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

2013.05.01

良かった! 見つかったぜぃ!

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

火曜日の朝、なぜかポケットに入っているはずの
ウィズユーカード(残高5,000円以上)が無くなっていた。

おかしい、最後に使った時に
ポケットに入れたはずなんだが・・・

誤って別のポケットに入れていたりしないかも
とチェックしたが全然見つからない。

うーむ、困ったと思っていたら
今日帰宅した時、予想外のところにあるのを発見!

玄関に落ちていた。
そういや週末ポケットに入れていたレシートを
取り出した記憶がある。

その時に玄関に落としていたのね。
しかも段差のところに張り付くように
落ちていたから気づかなかったのだ。

5,000円は痛いからねぇ。
あー、良かった!

 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

« 2013年4月 | トップページ | 2013年6月 »