エディットコラム ウェイポイントとトリガー -ArmA訓練所-

ArmA訓練所
2007/10/19

目次


ミッションの進行におけるウェイポイントとトリガーの役割

エディットでゲームの進行に重要な役割を果たすのがウェイポイントとトリガーです。
ウェイポイントはプレイヤーやAIの進むべき道を示し、トリガーは任意の条件でスクリプト処理を行うことが出来ます。
これらをシンクロナイズ設定にすることでさらにミッションの進行を制御することが出来ます。

ウェイポイントもトリガーもミッションの進行を制御するのに重要な役割を持っていますが、
これらの使い方はミッションの制作者に委ねられます。
人によってはウェイポイントを多数配置して、プレイヤーが迷わないようにしたり、
ウェイポイントを全く配置せず、プレイヤーの自由意志で行動させるようにすることがあります。
ここではミッション制作におけるウェイポイントとトリガーの特徴を見てみたいと思います。

ウェイポイントの特徴

ウェイポイントはプレイヤーとAIの進行方向を示します。
プレイヤーには画面上に黄色い四角のマークと距離、moveや任意の文字を表示させることも出来ます。
ただし、常にこのマークが画面上に表示されると戦闘に困ることから、しばらくすると文字が消えて点滅表示になります。

ウェイポイントの種類によってプレイヤーやAIの行うべき行動に違いがあります。
moveであればその地点に移動し、到着すれば次のウェイポイントを目指すようになります。
holdであればその地点に移動し、到着してもその場で待機します。
destroyであればウェイポイントに関連づけられたオブジェクトを破壊します。
seek and destroyであれば周囲の敵を探して攻撃します。
ただし、プレイヤーの場合は黄色いマークと共に表示された文字をヒントに行動することになります。

設定によって警戒レベルや移動速度、発砲の許可などが設定できます。
AIは基本的にこの設定に従いますが、プレイヤーにこの設定は伝わらないことが多く、従わないことが多いと思った方がよいでしょう。

トリガーの特徴

トリガーはミッション中で特定の範囲に関連する処理や、スクリプトコマンドによる複雑な処理を任意のタイミングで行うために使われます。
トリガー自体はミッション中で誰の目にも見えることはありません。
トリガー独自の機能(ミッションの終了やウェイポイントとの関連)を除けば、ほとんどがスクリプトコマンドの実行や準備のために使われます。
このため、それぞれのトリガーの役割はかなり柔軟に設定できます。

ウェイポイントとトリガーの違い

大きく違うのは目に見えるか見えないかの違いだと思います。
両者ともミッション中の重要な地点を表現するためによく使われます。
プレイヤーやAIにとってその存在位置を示すためにはウェイポイント、存在を曖昧にするにはトリガーが向いていると言えます。

次いで重要になるのが順序です。
ウェイポイントには順序が必ず存在します。
スクリプトコマンドやトリガーによってその順序が変わる可能性はありますが、原則としてこの順序に従うことを前提にミッションは作られます。
トリガーには順序というものは存在せず、配置やプレイヤーの行動次第で動作するトリガーの順序は異なってきます。

長所と短所

ウェイポイントの長所は、これから向かう先を明確に示すことが出来る点です。
このため、プレイヤーが迷子になったり何をして良いのか分からないという問題を解消できます。
短所は、ウェイポイントの順序を基本的に無視できないことです。
このため、プレイヤーの行動がウェイポイントに束縛され、自由な行動が取りづらくなります。

トリガーの長所は、汎用性の高さとプレイヤーの行動を制限しにくいことです。
目標が3つあった場合に攻略する順序をプレイヤーは自由に選べることになります。
短所は、その存在が見えないため、どこで何をしたらよいのか分かりづらいことです。(3つの目標をどのように攻略すべきか分かりづらい)
このため、プレイヤーは目標が分からず迷子になるケースが多くなります。

私の個人的な考え

各人のエディットの方向性にケチを付けるつもりは全くないのですが、私なりの考察を書いてみます。

私はSPミッションであればウェイポイントが重要な役割を占め、MPミッションではトリガーが重要な役割を占めると考えています。

SPミッションはMPミッションに比べて他人に邪魔されることが無く、用意されたシナリオを楽しみやすいという特徴があります。
そのため、これからどこへ行き何をしなければならないのかがわかりやすくあるべきで、
用意された流れに乗ることに意味があると考えられるからです。
先述のウェイポイントの欠点はこの場合さほど問題にならないでしょう。
ただし、自由に行動して欲しいミッション場合はこの限りではなくなります。

MPミッションはSPミッションとは対照的で、それぞれのプレイヤーが自由に行動でき、
途中参加も考えればミッションはシナリオに則ってプレイされるより自由にプレイされやすいという特徴があります。
そのため、どこへ行き何をしなければならないのかがわかりやすくあるべきなのは間違いありませんが、がちがちのウェイポイントに縛られるのは好ましくありません。
これはプレイヤーの自由度を奪い、AIの固い動きに悩まされるSPミッションと比較して人間の柔軟な動きを生かせるMPミッションの良さを捨てているような気がします。

あくまで上に上げた説明は一例でしかなく、ミッション毎のコンセプトに基づいて制作されるべきで、絶対的な説明ではありません。
作られたシナリオをMPミッションとしてみんなで協力してクリアするのを楽しむようなミッションであれば、シナリオ重視のMPミッションでもかまわないと思います。

作戦とウェイポイント

SPミッションとMPミッションの性格の違いから、ウェイポイントが薬にも毒にもなってしまう可能性をわかりやすく見てみましょう。
次の画像はRahmadi島の地図です。この島を参考に考えてみましょう。
Rahmadi島
そこで次のように敵とウェイポイントを配置し、最終的に海岸のボートに乗り込むケースを考えてみます。
Rahmadi島に敵とウェイポイントを配置
見ての通り、道中には敵がいて、それを倒しつつボートに向かうようになっています。
敵を倒して進む楽しさに重点を置くミッションはこれでも良いかもしれません。
ただし、自軍の戦力を確保してボートに乗り込み、次の目標を目指すような場合にはウェイポイントに従いたくないかもしれません。
Rahmadi島の敵を迂回するケース
こうしたケースを考えると、ボートに乗り込んでもスタート地点付近のウェイポイントが残ってしまい、
ウェイポイントが進むべき道を示す役割を果たさなくなってしまいます
厄介なことに、ウェイポイントとシナリオ進行に重要なトリガーがシンクロナイズされていた場合には不具合が生じることになります。
ここでポイントになるのが、「ウェイポイントに従うべきか否か」だと思います。

スタート地点付近の草むらから双眼鏡などで周囲を確認すると、道に敵が多数いることが明らかになります。
しかし、ウェイポイントは道に沿って配置されています。
プレイヤーはこのウェイポイントに従うべきという意見と、ウェイポイントに従う必要はないという意見はどちらも間違いではありません。
プレイヤーの視点から見ると、不都合がない限りこの決定はプレイヤーに任せるべきだと私は思います。
ミッション制作者の視点から見ると「苦労して脱出した達成感を味わって欲しい」という意図からウェイポイント通りに移動して欲しいと思っているでしょう。
例外として「敵がいるから避けて欲しい」と思ってミッションを制作する人もいるかもしれませんが、
こうした主張は伝わりづらく、結果としてプレイヤーが判断することになります。
ミッションを楽しむ上で、こうした考え方の違いがミッションの好き嫌いに影響するかもしれません。

妥協案

最後に、こうしたウェイポイントに縛られることに対する回避策として、トリガーのSwitch機能があります。
これはトリガーが動作したときにトリガーとシンクロナイズされたウェイポイントをクリアし、その次のウェイポイントに切り替える機能です。
この機能をうまく使うことで、上の例であればボートに乗り込んだらそれ以前のウェイポイントを無効にさせることが出来ます。
シンクロナイズされている場合、ウェイポイントに到着してもトリガーの条件を満たすまでwaitとなってウェイポイントが切り替わらなくなるので注意が必要です。
他にsetCurrentWaypoint(ArmA ver1.05以降)というコマンドを使うと柔軟にウェイポイントを切り替えることが出来ます。
こうした機能を使うことである程度の妥協案として機能することを知っておくのはいいことだと思います。

ウェイポイントだけでは行動が制限され、トリガーだけでは自由すぎて分かりづらい。
このため両者をうまく組み合わせて使うのが望ましいですが、それぞれの長所と短所を理解して使ってみましょう。
そしてスクリプトコマンドと組み合わせてよりよいミッションを作ってみましょう。


Homeへ