シスカマ仕様確認

いい加減頭が働かなくなってきたので、整理の意味でメモ。
シナリオファイルを外部に切り出すようなシステムカスタマイズをかます前提で、要求される仕様について。

ゲームの進行モード

進行モードは3つ存在する。

通常モード
テキストはゆっくり表示され、シナリオ中のクリック待ち記号でストップし、各種操作を受け付ける。
オートモード
テキストが表示された後、ボイスの再生終了あるいは規定時間のどちらかを待ち、通常モードでの「ゲームを進める」操作を選択した扱いになる。
既読スキップモード
シナリオの既読情報を別に必要とする。スキップモードと同じ状態が持続される。既読でない、未読のシナリオにぶつかった場合、自動的に解除され通常モードに移行する。
スキップモード(例外)
内部フラグ的には通常モードであり、演出やテキストの表示時間を瞬間にするなどの効果がある。CTRLキーを押しっぱなしにすることで移行する。リリースすれば通常モードに戻る。

これらのモードは通常モードを基本とし、オートモード・既読スキップモードは何らかのキー入力があった場合、即座に解除され通常モードに戻る。(これを実装するには、NScripterのデフォルトのキー入力検出システムでは足りないと思われる。getkey.dllの出番だ。)

クリック待ちの動作

クリック待ちは通常のクリック待ちと、選択肢クリック待ちの二種類がある。
前者と後者の違いは、前者は「ゲームを進める」操作が多く設定されており、プレイヤーは好みのストレスのない方法でクリックが可能であり、後者は逆に選択肢が表示され、これらのどれかを選択しないことにはゲームを進められない。
(※余談だが、選べる選択肢が一つしかない選択画面と言う演出は、胃が痛くなるよね)
この他に選べる操作は、

  • 過去ログ
  • コンフィグ
  • パラメータ確認
  • キャラクターの能力操作
  • セーブ
  • ロード
  • クイックセーブ
  • クイックロード
  • テキストウィンドウを一時的に消して画面を鑑賞する。
  • オープニング画面に戻る。
  • ゲームを終了させる。

などがある。
これらは、クリック待ちと選択肢クリック待ちのどちらでも実行できなければならない。