3. プラグイン編」でも述べておりますように、私が「Escape from the Eccentric」を制作するにあたり、多数のフリー素材を使用させていただいております。特に、28本導入しているプラグインは、ゲームを特徴付ける上で極めて重要となるものです。

しかし、もちろん素材を単に導入しても、やりたいことをそのまま実現できるわけではありません。

私が「Escape from the Eccentric」を制作するにあたり、せっかく非RPGを作るのであれば、是非とも実現させたいと思うギミックがいくつかありました。その一部を紹介いたします。

  1. プレイヤーが部屋を移動したら敵が追いかけてくる仕組み
  2. さらに、追いかけてくる敵を足止めする仕組み
  3. ドア開閉時やアイテム使用時など、ゲームの流れを止めずにメッセージを表示させる仕組み(いわゆるテロップ)
  4. マップ切替時に自動的に視覚効果を切り替える仕組み

これらの仕組みを実現させるためには、実装開始前にマップやイベントの設定を完璧に仕上げておく必要があります。マップやイベントなどのIDをいつでも確認できるようにし、それらを直接イベント内で指定する必要があるからです。

しかし、それでもなかなか思い通りに行かないものです。たとえば、扉開閉のギミックで、設定段階ではゲーム本編中に登場するすべての扉にIDを割り振ったのですが、その後、「化粧室」内の扉については開閉させない方針に変更したため、その分のIDがまるまる欠番扱いになってしまっています…。

プレイヤーが部屋を移動したら敵が追いかけてくる仕組み

Escape from the Eccentric」において、プレイヤーが最も目にする敵キャラクターは、露出度の高い黒ずくめの奇妙な格好をした女の吸血鬼たちです 1)もちろんその設定が作者の趣味丸出しであることは今更言うまでもない(ぉぃ)

この吸血鬼たちには別にたいした特徴はなく、プレイヤーに近づいて、噛みついて即死させるだけの単純なものです 2)特定アイテムを使って撃退させることは可能

しかしそれだけでは面白くありませんので、ホラーっぽく、プレイヤーが隣の部屋に逃げると追いかけるようにしました。

敵に追われて隣の部屋に逃げると… …追いかけてくる!

やっていることは単純なのですが、その仕組みを作るのは非常に大がかりなものとなりました。

  • 敵の行動の特徴を決める。
    • 原則として4人1組で行動するようにする。
    • 一つのエリア内で、最大8人(2組)出現することにする。
  • 設定段階で、次のことを決めておく。
    • 通常の敵が出現する可能性のあるすべてのエリア
    • プレイヤーが最初に訪れた段階で敵を出現させるエリア
    • 通常の敵が立ち入ることのできないエリア 3)本作では、セーブポイントや中庭などの一部のエリアをその様にした
    • 出現させる通常の敵のグループ数 4)後で敵グループの位置情報を保持する変数を設定するために必要
  • 通常の敵が出現する可能性のあるすべてのエリアに、敵8体分のイベントを配置する。
    • 敵を4人ずつ2組のグループに分ける。
    • 敵グループAには、プレイヤーが訪れたときに最初から出現させる敵を割り当てる。他のエリアからプレイヤーを追いかけたままそのエリアに居着いてしまった敵グループも、そのグループに割り当てる。
    • 敵グループBには、プレイヤーが隣のエリアから逃げてきたときに追いかけてくる敵を割り当てる。また、同じエリアにすでに敵が2グループいることになっている場合、2グループ目の敵を敵グループBに割り当てる。
  • 「変数」欄で、敵グループの位置情報(エリアの画面ID)を保持するための変数を、通常敵のグループ分確保する。
  • プレイヤーが敵から逃げて隣の部屋に移動するときに、通過した扉のIDを保持する。
    • 移動先に敵がいないか、いても1グループだけの場合、敵グループBのイベントをプレイヤーが逃げてきた扉の位置に移動させる。
    • 数秒後(固定ではない)に、敵グループBのイベントすべてに対し、敵としてプレイヤーを追いかけるようにする。

…書いていて頭が痛くなってきました。

本作では、通常敵が出現する可能性があるエリア(イベント絡みでの出現を含む)は76カ所あります。そこに8体ずつ通常敵のイベントを配置しましたが、後で手直ししなければならないときは気が遠くなります(ぉぃ)。

そのうちの1カ所だけ、どのように関連イベントを配置したのかお目に掛けたいと思います。

EfEのとある小部屋のマップ

Escape from the Eccentric」の舞台となる幽霊屋敷にある小部屋の一つです。

この小部屋には、イベントを12個配置しており、それぞれ次の役割を持たせています。

  1. 北の廊下への扉
    • 北の廊下に移動する。
  2. 南の廊下への扉
    • 南の廊下に移動する。
  3. 吸血鬼A(敵グループA)
    • 何らかの敵グループがこの部屋にいる時に、プレイヤーに襲いかかる敵として出現させる。
  4. 吸血鬼B(敵グループA)
    • 同上
  5. 吸血鬼C(敵グループA)
    • 同上
  6. 吸血鬼D(敵グループA)
    • 同上
  7. 吸血鬼E(敵グループB)
    • 何らかの敵グループ複数がこの部屋にいる時に、2グループ目を、プレイヤーに襲いかかる敵として出現させる。
  8. 吸血鬼F(敵グループB)
    • 同上
  9. 吸血鬼G(敵グループB)
    • 同上
  10. 吸血鬼H(敵グループB)
    • 同上
  11. 敵出現(カスタム)
    • 隣のエリア(ここでは、北もしくは南の廊下)から移動してきたときに、もしそこに敵グループがいたときに、そのうちの1グループをこの部屋に「移動」させる処理。
      扉の近くに「吸血鬼E~H」(敵グループB)のイベントを移動させ、そこで敵として実体化させる。
      詳細は後述。
  12. 敵情報初期化
    • 初期状態で敵グループを配置するエリアにのみ、このイベントを配置する。
      このエリアで初登場させる敵グループがまだ出現していない状態(当該敵グループの位置情報を示す変数が0である場合)であれば、このエリアに敵を出現させる(このエリアのマップIDを変数に代入する)。
      詳細は後述。

また、本作では「コモンイベント」を多用しています。そのうち、敵グループのプレイヤー追跡に直接関係するものは2本あります。詳細についてはいずれも後述します。

  • 敵出現(即時)(並列処理)
  • 敵出現(隣の部屋から)

まず、場所移動系のイベントを見てみます。

場所移動イベント・1ページ目 場所移動イベント・2ページ目

1ページ目は、扉に鍵がかかっていないときのイベントです。

単なる場所移動イベントではなく、裏で変数を4個書き換えています。

  • 変数#0002「直前にいた部屋」
    • この部屋、つまり場所移動直前にいた部屋のマップIDを記録する。
      敵が隣のエリアから追跡するときに、プレイヤーがどこから逃げてきたのかを判別するために使用する。
  • 変数#0003「直前に通過した扉の番号」
    • このイベント、つまり場所移動直前に通過した扉の番号を記録する。
      扉毎に、ロックされているか否かを判別するためのスイッチを用意する。移動後、扉をロックするコマンド(後述)の入力に成功すると、そのスイッチがONとなり、扉をロックしたことになる。
      扉の番号そのものはRPGツクールのエディタが直接管理するものではないため、作者が独自に管理する。
  • 変数#0006「直前に通過した扉の鍵穴」
    • このイベント、つまり場所移動直前に通過した扉の鍵穴を示す数値を記録する。この部屋の扉の開閉に鍵が必要である場合は、その鍵のアイテム番号が入る。鍵が不要である場合は0。
      今回は、この変数についての詳細な説明については割愛する。
  • 変数#0007「直前に通過した扉の移動先でのイベントID」
    • このイベント、つまり場所移動直前に通過した扉のイベントの対となる、移動先からこの部屋に戻るための場所移動イベントのIDを記録する。
      場所移動後に発生する施錠コマンドに成功したときに、ここに記録されているIDのイベントの状態を変化させる。

変数書き換えの後、扉を開けて場所移動します。

場所移動後、「3. プラグイン編」で説明したプラグイン「HzInputCommand」を呼び出します。コマンドの詳細な説明については割愛しますが、キャンセルキーを2回連続で入力することに成功すると、先述の変数#0003にセットされた番号をIDとするスイッチがONとなり、扉をロックしたことになります。

2ページ目は、その様にして扉がロックされた状態であるときに呼び出されます。プレイヤーが扉に接触すると、扉に関連するスイッチがOFFとなり、ロックを解除したことになります。

次に、「敵グループA」に属する敵のイベントを見てみます。

敵グループAイベント・1ページ目 敵グループAイベント・2ページ目 敵グループAイベント・3ページ目

1ページ目は、該当する敵グループが出現していない状態です。画面上にもイベントは出現しません。

2ページ目は、該当する敵グループが現在いるエリアに出現している状態であるときに呼び出されます。ここでは、スイッチ#0014「敵出現スイッチA」がONであることが条件です。なお、「敵グループB」の場合は、出現条件がスイッチ#0015「敵出現スイッチB」になります。両者の扱いについては後述します。

3ページ目も、2ページ目とほぼ同内容です。違いは、難易度の違いによる敵の行動パターンのみです。

順番が前後しますが、次に、マップ内イベント最後の「敵情報初期化」について。

敵情報初期化イベント・1ページ目 敵情報初期化イベント・2ページ目

この部屋では、ゲーム開始後最初に訪れたときに敵を出現させたいために、このイベントを用意しています。

1ページ目は、変数#0001「難易度」が1以上の時、つまり「VERY EASY」モード以外の時に呼び出されます。これは敵グループの位置情報を示す変数に、現在いるエリアのマップIDを設定しているだけです。ここでは、変数#0026に関連づけた敵グループの位置情報を設定しています。

この変数に一度値を設定すると、二度と初期値(0)には戻せません。何度も値設定処理を呼び出されないようにするために、変数が1以上の時には、何の処理も記述されていない2ページ目を呼び出します。

敵グループAおよびBの出現については、スイッチで管理しています。そのスイッチの操作は、2本のコモンイベントでおこなっています。

いずれも、ラスボス(不死王)を倒す前にのみ、処理をおこないます。

さらに、「敵出現(即時)」については、変数#0004「汎用変数」に0以外の値がセットされているときは処理しないようにします。何らかのイベントの実行中などで敵を出現させたくないときに、汎用変数に0以外の値をセットしていますが、詳細については割愛します。

「敵出現(即時)」コモンイベントについて。このイベントは、常時呼び出されるようにする必要があるため、「並列処理」としています。

コモンイベント「敵出現(即時)」 繰り返し処理の開始番号に15、終了番号に58という数値を設定していますが、この15~58は、敵グループが現在いるエリアの画面IDを保持するための変数のIDです。

次に、スイッチ#0014「敵出現スイッチA」およびスイッチ#0015「敵出現スイッチB」を解除しています。いったん解除しないと、敵を出現させたくないエリアに敵が出現することがあるためです。

そして、敵グループ15番~58番のすべての位置情報を確認し、現在プレイヤーがいるエリアの画面IDと同じであるか、つまりプレイヤーが敵と遭遇したか否かをチェックします。

遭遇した場合、まず、スイッチ#0014「敵出現スイッチA」がOFFであれば、それをONにします。これで、このエリアに敵グループAに属する敵4体が出現します。

さらに繰り返し処理を継続し、現在エリアの画面IDに位置する敵グループがさらにもう一つ以上ある場合、(すでにスイッチ#0014はONになっているため)スイッチ#0015「敵出現スイッチB」をONにします。これで、このエリアには敵グループBに属する敵4体も出現し、敵グループAと合わせて8体の敵がプレイヤーに襲いかかります。

本作では、1画面につき、敵キャラクターは8体までしか出現させないようにしているため、スイッチ#0015をONにしたらこれ以上繰り返し処理が必要なくなりますので、そのまま処理を終了します。

「敵出現(隣の部屋から)」コモンイベントについて。こちらは並列処理ではなく、後述する「敵出現(カスタム)」イベントによって呼び出されます。

コモンイベント「敵出現(隣の部屋から)」

これはプレイヤーが隣の部屋にいる敵グループから逃げてきたときの処理です。部屋に移動してからいきなり起動させるとすぐに敵に捕まってゲームオーバーとなってしまうため、敵を呼び出すまで1~3秒間(ランダム)遅らせます。その間に、プレイヤーは扉をロックするコマンドを入力するか、ロックせずに逃げるかの判断をしなければなりません 5)だったら最初からロックしろよと思う方もいらっしゃるかも知れませんが、わざと敵をおびき寄せて、プレイヤーが行きたいエリアから敵を追い出す事が必要になる場面もありますので、ロックするか否かをプレイヤーに委ねることにしているのです

時間が経過した後、先述の「敵出現(即時)」コモンイベントの時と同様、敵グループ15番~58番のすべての位置情報を確認します。今度は、現在位置ではなく、プレイや胃が逃げる前にいたエリアのマップID、つまり変数#0002「直前にいた部屋」の数値と比較します。該当する敵グループがいれば、それがプレイヤーを追いかけてくる連中です。

このコモンイベント内では、敵がプレイヤーを追いかけて隣の部屋から移動してくると判定したときに、変数#0004「汎用変数」に、プレイヤーを追跡している敵のIDを代入し、そのまま処理を終了しています。

では、その汎用変数の内容をどこで使用するのかと言いますと、「敵出現(カスタム)」イベントで利用することになります。これがまさに、敵がプレイヤーを追跡する仕組みのキモとなるものです。

敵出現(カスタム)イベント(その1) 敵出現(カスタム)イベント(その2)

まず、すでに敵が8体いるときに処理を続行させないようにするために、スイッチ#0015「敵出現スイッチB」がOFFの時にのみ処理を続行させるようにします。

次に、先述のコモンイベント「敵出現(隣の部屋から)」を呼び出します。プレイヤーが敵に追跡されている場合、コモンイベント内で変数#0004「汎用変数」に0以外の値がセットされていますので、その場合に限り、以降の処理を続行します。

次の条件分岐では、『変数#0003「直前に通過した扉の番号」に設定された数値をIDとして持つスイッチの状態』を確認しています。つまり、つい先ほど逃げるために通過した扉がロックされているか否かを判定しているのです。

施錠コマンドを実行してロックに成功した場合は、この変数がOFFになるはずですので、以降の処理は実行しません。

問題はそれがONのままになっている場合です。

その場合、変数#0003「直前に通過した扉の番号」に応じて、敵グループBに属している4体の敵(吸血鬼E~H)を、逃げてきた扉の近くに移動させます。

さらに、スクリプトで#0004「汎用変数」からプレイヤーを追跡している敵グループのIDを読み取り、その敵グループの変数に現在エリアのマップIDを代入します。

最後に、スイッチ#0015「敵出現スイッチB」をONにします。これで、敵グループBに属する4体の敵(吸血鬼E~H)が実体化し、プレイヤーに襲いかかるようになります。

さらに、追いかけてくる敵を足止めする仕組み

場所移動イベント・1ページ目

場所移動のイベントを実行したとき、最後に「3. プラグイン編」で説明したプラグイン「HzInputCommand」を呼び出します。

先述の通り、場所移動イベントに記述したコマンドは、キャンセルキーを2回連続で入力することに成功すると、先述の変数#0003にセットされた番号をIDとするスイッチをONにするというものです。これにより、本作では、指定した番号の扉をロックすることができます。

ただし、直接プラグインコマンドに変数を指定できないため、場所移動イベント毎に、変数#0003にセットする値と同じものをプラグインコマンドに書き込んでいます。

では、スイッチをONにしてその番号の扉をロックした後どうするのかについて、これから説明いたします。またしても、並列処理コモンイベントの出番です。

コモンイベント「扉ロック」 コモンイベント「扉ロック」(詳細)

  1. 一番上の条件分岐では、変数#0003「直前に通過した扉の番号」の値をIDとする変数がOFFであるか、つまり、そのIDの扉が開放されているか否かを判定する。
    開放されている場合のみ、次の処理に進む。
    なお、並列処理のコモンイベントは常時動いているため、再び一番上の条件に合致した場合は即座に処理を再開する。
  2. 一番上の条件に合致した場合、以下の処理を繰り返し実行する。
    1. 繰り返し処理内の最初の条件分岐では、一番上とは逆に、変数#0003をIDとする変数がONであるか、つまり、そのIDの扉が施錠されているか否かを判定する。
      • 開放されている場合、15フレーム(1/4秒)待機して、繰り返し処理の先頭に戻る。
        つまり、1/4秒ごとに、施錠されたか否かをチェックし続ける。
      • 施錠されている場合、以下の処理に進む。
    2. 次の条件分岐では、変数#0006「直前に通過した扉の鍵穴」にセットされている値が0であるか(つまりキーアイテム不要な扉であるか)、あるいは変数#0006の値と同じIDを持つアイテム(キーアイテム。詳細については割愛)をプレイヤーが所持しているかを判定する。
      1. 変数#0006の値が0であるか、その値に該当するキーアイテムを所持している場合、次の処理に進む。
        1. プレイヤーを180度回転させる。つまり、扉の方向を向くようにする。
        2. スクリプトを呼び出し、次の処理を実行する。
          1. 変数#0007「直前に通過した扉の移動先でのイベントID」に該当するイベント、つまり、先ほどプレイヤーが通過した扉のイベントに、施錠用のフキダシを表示する。
          2. その扉を閉じる効果音を鳴らし、閉じるアクションを実行する。
        3. 変数#0006「直前に通過した扉の鍵穴」にセットされている値が9以上の場合、つまり(詳細な説明は割愛するが)その扉がキーアイテムを要求する場合、(これより前の条件分岐で当該キーアイテムを所持していることを判定済みであるため)扉をロックした旨のメッセージをテロップ形式で表示する。
          なお、テロップの仕組みについては後述する。
      2. 変数#0006の値が0でなく(つまり施錠にアイテムが必要である場合)、かつその値に該当するキーアイテムを所持していない場合、必要なアイテムを所持していない旨のメッセージをテロップ形式で表示する。
    3. 変数#0006「直前に通過した扉の鍵穴」にセットされている値の判定がいずれの場合も、以上で繰り返し処理を終了する。

言葉で説明しようとしても、私自身こんがらがっておりますので、実際にゲームをプレイして実感していただくのがいいかもしれません。

ドア開閉時やアイテム使用時など、ゲームの流れを止めずにメッセージを表示させる仕組み(いわゆるテロップ)

RPGなどでは、通常、何かメッセージがあるときは、ウインドウが立ち上がってその中に表示され、決定ボタンで読み進める(もしくは読み終える)という流れになっているかと思われます。

しかし、「RPGツクールMV」などでは、そんなメッセージウインドウが表示されている間も、イベントは動作を続けます。そのイベントがもし、プレイヤーに近づいてきて、触れると即ゲームオーバーになるものだったら…。

本作に登場する吸血鬼なんてまさにそれです。そして、メッセージ表示中に彼女たちに囲まれて気がついたら噛まれていたなんてことになったら、目も当てられません。それを防ぐには、メッセージウインドウを表示する典型的な方法とは別の方法を用いて、メッセージを表示させなければなりません。

残念ながら、「RPGツクールMV」には標準ではゲームの流れを止めずにメッセージを表示させる機能がありません。そこで、今回もプラグインの出番となります。

今回は、「3. プラグイン編」で説明したプラグイン「動的文字列ピクチャ生成プラグイン」と並列処理コモンイベントを駆使し、テロップ的なものを実現します。

まずは、先ほどの「さらに、追いかけてくる敵を足止めする仕組み」で取り上げている、並列処理コモンイベント「扉ロック」をもう一度見てみましょう。

コモンイベント「扉ロック」内でテロップを出す処理

まず、「動的文字列ピクチャ生成プラグイン」のD_TEXTコマンドを呼び出して、テロップに表示させる文字情報を埋め込みます。ここでは、扉をロックするときに使用するキーアイテムの情報を出力します 6)「Japanese Mode」の条件分岐については説明を割愛します。本作では、作者のつたない英語力をフル稼働して英語モードを搭載しています。そのため、日本語モードか英語モードかによって、メッセージを出し分けています

画面に一度に表示させたいメッセージをすべて(ここでは1行のみですが)指定した後、今度はD_TEXT_SETTINGコマンドを呼び出し、テキストの出力形式に関する設定をおこないます。もっとも、ここでは文字色(白)と背景色(透明)の設定しかしていませんが…。

その後、「RPGツクールMV」標準機能の「ピクチャの表示」機能を用いて、テロップの番号(重ね順)、表示位置、拡大率と不透明度を設定します。画像名は未選択の状態にします。なお、番号には、後述の視覚効果で用いる半透明の画像と干渉しないよう、半透明画像よりも大きな(上に重なる)番号を指定します。

これで文字列をテロップ表示できるようになりましたが、このままではテロップが出っぱなしになりますので、一定時間経過後に消す処理が必要になります。そこでは、スイッチと並列処理コモンイベントを用いています。

まず、テロップ表示直後に、スイッチ#0013「Text Information」をONにしています。このスイッチは、次に説明する、テロップを消すための並列処理コモンイベントの起動条件になります。

コモンイベント「テキスト情報」

スイッチ#0013がONになると、並列処理コモンイベント「テキスト情報」が起動します。

このイベントそのものは、120フレーム(2秒)待機し、その後、先ほどテロップ表示で指定した番号のピクチャを消去し、起動条件となったスイッチ#0013をOFFにするだけの単純なものです。しかし、これがないといつまでもテロップを表示し続ける気持ち悪いゲームになってしまいます。

なお、テロップ表示時間を120フレーム(2秒)にしたのは、実際にテストプレイしながら調整した結果、これぐらいの長さがちょうどいいと判断したためです。これはゲーム制作者によって、また、適用するゲームの性格によっても、違ってくるものと思われます。最適な長さは、制作者がそのゲームにあったものを見いだしてください。

マップ切替時に自動的に視覚効果を切り替える仕組み

本作に限ったことではありませんし、またアドベンチャーゲームに限ったことではありませんが、場所によって、視覚効果を切り替えたいことはよくあります。

とはいえ、マップやイベントを作り込んでしまってから、すべての場所移動系イベントを見直すというのは、それだけでも気が遠くなるというものです。

本作では、「明るいエリア」と「暗いエリア」の2種類に大別し、「暗いエリア」ではそれっぽい雰囲気が出るように半透明のピクチャを重ねて表示させることにしました。

マップ切替イベント(一部)

マップ切替のたびに視覚効果を切り替えるイベントは、コモンイベントに一つだけ設定します。

マップ移動毎に暗黙の内に呼び出したいため、トリガーは「並列処理」としました、

スイッチについては、「並列処理」の場合は未指定にすることはできないようですので、この処理を呼び出す時点では必ず満たしているフラグを指定しました。

視覚効果切替処理の概要は以下のようになります。

  1. 最初の条件分岐で、プレイヤーが現在いるエリアが、無条件で明るい場所であるかどうかを判定する。
    スクリプトの「$gameMap.mapId()」で現在エリアの画面IDを取得し、明るい場所の画面ID 7)あらかじめ設定段階ですべて決めておくこと と一致するか否かを延々と判定する。
    1. 現在エリアの画面IDが明るい場所のIDのいずれかと一致する場合、画面を明るくするため、ピクチャ「#1」に設定した画像を消去する。「#1」の画像については後述。
      その後イベントから抜ける。
    2. 一致しない場合、次に進む。
  2. 2番目の条件分岐で、プレイヤーが現在いるエリアが、条件付きで明るい場所であるかどうかを判定する。条件については後述。
    1. 現在エリアの画面IDが条件付きで明るい場所のIDのいずれかと一致する場合、その条件 8)ここでは「屋根裏のカーテン」というスイッチがONになっているか否か を判定する。
      1. 一致する場合、画面を明るくするため、ピクチャ「#1」に設定した画像を消去する。
      2. 一致しない場合、ピクチャ「#1」に、画面を暗くするための半透明の画像を設定する。
        Brightnes
    2. 現在エリアの画面IDが条件付きで明るい場所のIDのいずれにも一致しない場合、ピクチャ「#1」に、画面を暗くするための半透明の画像を設定する。

このテクニックは汎用的に使える上に応用も利くと思いますので、見た目にこだわる方はどんどん使いましょう。

明るい場所の例(1F 回廊・中庭) 暗い場所の例(1F 玄関ホール)

公式ページ
Escape from the Eccentric
おしながき
1. はじめに
2. 設定資料編
3. プラグイン編
4. イベント編
5. おわりに
戻る
【「RPGツクールMV Advent Calendar 2016」特別投稿】『脱出ゲーム未経験者による脱出ゲームの作り方』

References   [ + ]

1. もちろんその設定が作者の趣味丸出しであることは今更言うまでもない(ぉぃ)
2. 特定アイテムを使って撃退させることは可能
3. 本作では、セーブポイントや中庭などの一部のエリアをその様にした
4. 後で敵グループの位置情報を保持する変数を設定するために必要
5. だったら最初からロックしろよと思う方もいらっしゃるかも知れませんが、わざと敵をおびき寄せて、プレイヤーが行きたいエリアから敵を追い出す事が必要になる場面もありますので、ロックするか否かをプレイヤーに委ねることにしているのです
6. 「Japanese Mode」の条件分岐については説明を割愛します。本作では、作者のつたない英語力をフル稼働して英語モードを搭載しています。そのため、日本語モードか英語モードかによって、メッセージを出し分けています
7. あらかじめ設定段階ですべて決めておくこと
8. ここでは「屋根裏のカーテン」というスイッチがONになっているか否か
I footnotes