前回の続き。
警戒モードの解除条件を『部屋から出ること』としてあるのには理由があると思う。
例えば、キャラクターをそれぞれ特定の座標に向かって帰還させる、という処理を
丁寧にやろうとするとシチュエーションによっては非常に面倒なことになる。
高所から落ちたり、リフト移動やゲートスイッチのON、OFFなどが関わると
キャラクターが本来の持ち場に必ず戻れる保障はないからだ。
昔ながらのゲームのように部屋の出入りの際、敵キャラクターの配置をリセット
してしまえば、プログラムでは部屋に入るときに敵キャラクター配置の初期化を
行うだけでよいため「キャラクターを持ち場に移動させる」という処理を省く
ことができる。
また、部屋単位を区切りに使うことには『敵キャラクターの行動範囲を可視化
できる』という恩恵もある。
ごく当たり前のことなのだが、近年のオープンなフィールドをもつゲームでは
敵キャラクターが追跡を行う以上、どこかで追跡を中断する処理が必要になる。
(中断がなければフィールド上の敵はプレイヤーを追って延々と集まってきてしまい、
CPUの演算やゲーム性などを破綻させることになる)
例えば、ゾンビのようなキャラクターをゲームに登場させた場合、プレイヤーが
目の前にいるにもかかわらず、ゾンビが持ち場の行動範囲から離れないように停止
してしまったらちょっと興醒めだろう。
遊び手が『見えない行動範囲』の存在を意識しなくて済むためには、地形と
行動範囲を視覚的に結びつける工夫も求められるようだ。
先のゾンビの例では、ゾンビの行動範囲を海、バリケード、コンテナ、ドアなどで
囲ってしまえば「これ以上は追跡できないだろう」ということが見た目でわかる。
3Dマリオなどの例でも、追跡を行うクリボーやノコノコなどの敵キャラを地形の
段差やブロックの上、小島、小惑星など視覚的に区切られた範囲で行動させている
場合が多い。
現在は個人製作の環境でも昔のコンシューマゲームに比べて区切りのない
広いマップが描けるようになっているだろうと思っていたが、
ロックマンDASHのように、遺跡(ダンジョン)内でリーバードなどの
ガードロボットに追われるシチュエーションを表現する場合は昔ながらの
『狭く区切られたマップ』の概念も大切だということがわかってきた。
敵に追われてシャッターまで逃げ、安堵するという展開はバイオハザードを髣髴とさせる。
最近のアクションゲームではあまり味わえない要素かもしれない。