自作ミッション作成(超基礎編)
はじめに
ArmAシリーズはゲーム内でユーザーがプログラムを実行できるので、知識と技術と根気があれば大抵のことは出来ます。
しかし、最初は何をやればいいかすらもわからないと思うので、日頃我々が遊んでいる定型ミッションを例にして解説していきます。
エディタを起動する
ゲームを起動すると最初に現れるメニュー画面の、一番右側のタイルをクリックするとミッションエディッタが起動してマップ選択画面になります。
適当なマップを選んで「CONTINUE」をクリックします。
ミッションの構想を練る
3Dエディタでは視点を自由に操作できます。
- WASDキーで視点移動、QとZで視点の高さ、これらのキー+Shiftで高速移動
- マウス右クリックを押しながらマウスを動かして視点の向きを変更
- Mキーを押してマップを開き、任意の地点をホイールクリックでカメラの位置を移動
これらを駆使してミッションを作りたい地形を探しつつ、ミッションの構想をねってください。
知識と技術があればなんでも出来ますが、まずは定型に沿ったミッションを作ってみます。
よく遊ばれているのは大体2種類にわけられます。
- 目標破壊 - 目標物や重要人物を殺すとクリア
- 制圧 - 目標地域内の敵を全員殺すか、指定のエリア内から敵が逃亡したらクリア
場所が決まったらユニットを置いてみます。
ユニットを置く
これ以降の基本的な操作については、画面右上にある帽子マークの中に詳しいチュートリアルがありますので、まずはこれを読んで下さい。
3D画面上でマウスの左ボタンをダブルクリックすると、青軍のユニットを置く画面が出てくるので、この中から好きなものを選んでOKを押してください。
このユニットはプレイヤーが操作可能なユニットになります。
置いたユニットを左クリックして選択すると、マウスで以下の操作をすることが出来ます。
- +Shift 向きを変える
- +Alt 高さを変える
更にユニットを追加します。
毎回ダイアログを出してユニットを選んでもいいですが、右側のリストからユニットを選んで置くことも出来ますし、ユニットを選択してコピペすることもできます。
幾つか追加のユニットを置いたら、これらのユニットをプレイヤーをリーダーとするグループにしてみます。
プレイヤー以外のユニットを左ボタンを押しながらドラッグして選択し、右クリックを押すとメニューが出て来るので、一番上の「Connect」→「Group to]を選んで、出てきた水色の線を最初に置いたプレイヤーのユニットにくっつけます。
これのあと、画面右下の「Play Scenario」をクリックすれば、自分が数人の部下を引き連れた状態でプレイできるはずです。
タスクを作る
それでは、ミッションのクリア条件となるタスクを作ってみます。
今回は先述のよく使われる2つの条件を作って、両方を達成したらミッションが完了する。う内容にします。
まずは一個目の条件を作ります。「targetと言う名前のユニットが死んだら、obj1doneをONにする」という内容にします。
右側のリストにある赤い四角をクリックするか、マップ上をダブルクリックして出て来るリストの赤い四角をクリックして、赤軍(OPFOR)のユニットを置いてみます。
このユニット上にマウスカーソルをおいて左ダブルクリックすると、ユニットの詳細設定画面が出てきます。
Variable Name欄に「target」と書いて、OKを押してください。この欄ではミッション内でユニットに固有の名前を指定することができます。
今回は「この敵ユニットが死んだら第一のミッション目的が成功」という内容にします。
キーボードのF3キーを押すか、左のリストの上段から旗のマークを選んで、「Trigger」をマップ上に置き、詳細設定画面を開き、以下の設定を書き込みます。
condition欄 - トリガーが発動する条件を書きます。
!alive target;
これは「targetという固有名が付けられたユニットが死んだら…という意味のコマンドです。 on activation欄 - condition欄で指定した条件が満たされた場合に何をするかを書きます。
obj1done = true; hint "objective 1 complete";
これは、「obj1doneという引数(条件の入れ物みたいなものです)がONにになって、画面右上にobjective 1 completeというメッセージが表示される」という意味です。
さらに条件を追加します。2個めの条件は「旗の近くに青軍(BLUFOR)が入ったら、obj2doneをONにする」という内容にします。
F1を押すか人間一人のアイコンをクリックし、一番右側の黄色いマークをクリックして、適当なカラのオブジェクトを置きます。
例として今回は旗を置いてみました。リストの上の空欄に名前を入力して候補を絞ることが出来るので、ここに「flags」と書いて候補を絞り、適当な旗を置きます。
この旗の近くにトリガを置いて、トリガの詳細設定画面を開きます。
(検索欄に文字が残ってるとトリガが出てこないので、検索欄をカラにしてください。)
このトリガに「このトリガの半径10m以内にBLUFORのユニットが入ったら、obj2doneがONになる。」と言う設定をします。
まず、Size欄のX.Yに数値を入れます。今回は両方を10にしてください。
詳細設定画面のActivationから「BLUFOR」を選ぶと、Activation Typeが選択できるようになるので、ここを「Present」にします。
condition欄
this
これはトリガの設定欄で決めた条件に合致したら…という意味のコマンドです。 on activation欄 - condition欄で指定した条件が満たされた場合に何をするかを書きます。
obj2done = true; hint "objective 2 complete";
これは、「obj2done」という引数がONになって、画面右上にobjective 2 completeというメッセージが表示される」という意味です。
最後に、ミッションを完了させるためのトリガを置きます。
適当な場所にトリガを置いて、Typeを「End #1」にします。
そして、Condition欄に
obj1done and obj2done;
と書きます。これは「obj1doneとobj2doneという引数がONになったら、END #1を発動してミッションを完了させる」という意味です。
ここまで出来たら、テストプレイをしてみます。
目の前に居る敵を殺すと、「objecive 1 complete」という表示が出て、旗の近くに移動すると「objecive 2 complete」という表示がちょろっと出た後にゲームが完了すると思います。
シナリオのセーブと書き出し
上手く行ったら、Ctrl+Sを押すか、左上のメニューからミッションに適当な名前を付けてセーブしてください。
マイドキュメント内にあるArma 3 - Other Profilesフォルダを掘っていけば見つかるはずです。
C:\Users\ユーザー名\Documents\Arma 3 - Other Profiles\ゲーム内のプロファイル名\missions
これはエディタから直接操作することが出来る雛形で、ここでセーブしただけではゲーム内から直接遊ぶことは出来ません。その後、左上のScenarioメニューのExportからシングルプレイヤーやマルチプレイヤーで遊ぶことが出来るミッションファイルを作成することが出来ます。シングルプレイヤーゲームとして書き出したした場合hArmA3がインストールされたフォルダのMissionsに、マルチプレイヤーゲームとして書き出した場合はMPMissionsフォルダ内に.pboというArmA専用のフォーマットで固められたファイルが出力されます。
今回作成した例題ミッションのファイルを置いておきますので、上記のフォルダ内に解凍してエディタから開いてみてください。
https://www.dropbox.com/s/ulw2t8fu03kj8ue/edit_basic.Stratis.zip?dl=0