操作禁止時の情報収集
これまでも報告例があったけど
初音ミク冒険記では、プログラム自体は動いているんだけど
操作を受け付けない状態になることがある。
実際に「操作を受け付けない=操作禁止」という状況は
いくつか存在していて
主にnoOperationFlgというフラグで管理している。
プログラム内では、noOperationFlgをTRUEにすると
イベントによってキャラが移動する場合とマップ切り替えエフェクト中を除き、
ゲーム中の全オブジェクトの位置が止まるようになっている。
例えば、以下の様なパターンがあって、一部のボタンだけを有効にする操作にしている。
・デバッグメニュー表示中による操作禁止中は
決定ボタンとキャンセルボタン、キャンプメニューボタン、↑↓以外受け付けない。
・ポーズによる操作禁止中は、STARTボタンと決定ボタン以外受け付けない
・ポーズでない操作禁止中はメッセージ送りボタン以外受け付けない
ただし、ゲームオーバーのリトライ確認は↑↓も使えないと選べなくて困るのでそれは対応する
選択ダイアログ表示中ではない場合、
また、シナリオフラグによってはカットインマニュアル(ゲーム本編中の登場人物説明)に対応する
選択ダイアログ表示中の場合、決定/キャンセルボタンを有効にする。
さらにストライクショットの攻撃モーション中とか、ヒール系の硬直時間など
ゲーム本編中に一時的に操作を受け付けない状況というのがある。
実は、PSP版の頃は、アナログスティックの右を入力+L+R+X+□の同時押しで
ゲームオーバーリトライと同じ動作にする(ハマった時の救済措置)
というのがあったんだけど、
WIndows版では、操作的には、コントローラがないとこんな操作はできないので
この機能が存在しない。
このため、Windows版で、操作禁止状態で動けなくなった時には
プログラムを終わらせる以外に対処方法が無い。
(キャンプメニュー等は軒並み無効にした状態なので)
でも、やっぱり開発していると、新しく未対応のパターンが出てきたりして
この状況に対応できなかったりすることがある。
再現性が高いものは、まだ良いんだけど、再現率が低いものもあって
その手のものは再現した時に備えて、ログとかデバッグ用の情報を埋め込んで
追加情報集するようにするくらいしか、対処がなかった。
そこで、次の公開からは、この状況が起こった時に情報収集したり、
再現確認しやすくするためのデバッグ機能を実装し始めた。
現状、Ctrl+F12を3秒間押し続けると、
ミクが「もしかして、操作不能になっちゃった?」と言って、こんなメニューが出てくる。
(Megpoid Talkを購入したので、ちょこっとボイスを入れたくなったので・・・)
とりあえず、その状況が起こった時のデータをセーブしたり
PSP版の頃のハマった時の救済措置を行えるようにしようと思っている。
また、その時のデータを探しやすくするのに
従来だとSAVE_DATAのフォルダにセーブデータを格納するんだけど
TROUBLE_SAVE_DATAというフォルダにセーブデータを保存するようにした。
データを探しやすくってもあるけど、
どちらかっていうと、再現確認用のセーブデータに
間違って上書きすることが内容にするのも目的だったりする。
そんなに難しく無いと思っていたんだが
ちょっと考えが甘かったようで、それに対応すると
実は、デバッグヘルパーやら他にも色々と影響がでてきてしまい
ちょっと作業量が増えちゃいそう。
そこまでしなくても良いかな?とも思ったんだけど
実はセーブデータのフォルダを切り分ける仕組みってのは
作っておいた方が良いという結論になった。
理由は、今後のセーブデータバージョンを挙げる時に
セーブデータコンバータのテストがしやすくなりそう、と言うもの。
現在の初音ミク冒険記のセーブデータのバージョンは2ですが
将来、バージョン3にする予定が既にあるので
そこで作業がしやすくなるかなぁと。
上のメニューで行くと一番重要なのは「フラグオフ」でしょうか。
操作禁止関連に関わりそうなフラグ関連をまとめてオフします。
なので、このメニューを選択後にメニューを終了すると
動けるようになるはずです。
実際に操作禁止になった時に使ってみて調整かな。
後、工事中ってのは、まだ何も考えていないんだけど
なんか増やすかもってことで予約域みたいな感じになってます。
このメニューを選択すると、ミクが「まだ、できてないの」としゃべります。
今後、こういうできてないところが出てきた時に使えるかなと思って
ボイスを作りました。
音量上げすぎると音割れするんで
ちょっと、音量が小さいかもしれないです。
こんな感じで、ちょこちょことワンポイントボイスが増えるかもしれません。
| 【固定リンク】 | 【コメント (0)】 | 【トラックバック (0)】
このエントリーへのリンク
トラックバック
この記事へのトラックバックの一覧です: 操作禁止時の情報収集:
コメント
このブログの新着コメントをRSSリーダに登録する為のxml