【ウディタ】NPCのマップ配置
マップEvのグラフィック変更機能について調べている時に、おもしろいものを発見しました。
主人公がそのマップに移動する度に、マップ内に存在するキャラがランダムに変わるというもの
これを応用して、ゲームに登場するキャラクター達の居場所を、ある程度ランダム性を持たせて設定・管理できるのではないか?
エヴァ2とかエヴァ序みたいに、プレイヤーは目的のキャラクターがどこにいるのかを探す必要性が出てくるのでおもしろいかも。
基本的な仕組み
各マップに存在するキャラクターを管理
ここの項目をフラグとして、「0」なら存在しない、「1」なら存在するとします。
キャラクターとマップEvの紐づけを登録
ここでは可変DBを使用してますが、これはユーザーDBで良かったかな
場所移動+コモン
ただし、マップ移動直後にこの方法でマップEvの一時消去を実行すると、本来そのマップにいないはずのキャラが一瞬画面に映ってしまうんです。
(画面が明るくなってから一時消去が実行されるため)
なので、
という処理の流れにする必要があります。
とはいえ移動する度に毎回この処理を書くのは面倒なので、場所移動機能を拡張したようなコモンEv[場所移動+]を作成して、マップ移動前と移動後にやってほしい処理をここに集約しました。
マップ移動前にやってほしい機能としては、マップEvのセルフ変数を初期化や表示中のフキダシを消去など。
ついでにマップ移動後の明転有り無し、主人公向き指定などをモード選択式で実行できるようにしておきました。
キャラ配置指定
一方で、使徒襲来時などの特殊状況下では、確率によらず事前に登録された配置が呼ばれるようにしたい。
という事でキャラ配置の指定もできるようになってます。
その他の機能、派生
特定のマップEvからキャラクターを特定したり、指定キャラ/指定マップ以外を再配置など。
模擬戦をやったら受付のマヤ以外のキャラは再配置、とかも良さそう。