KovaaK's FPS Aim Trainer では Steam のワークショップを経由して様々なエイム練習シナリオをプレイできる。また、シナリオをダウンロードして編集することも可能で、武器やキャラクターなど各種設定を好みや用途に応じて調整し、新たなシナリオとして公開することもできる。
本記事では「Through Hole Tracking」の改変を題材とし、シナリオ編集の進め方について解説していきたい。
シナリオ編集の始め方
シナリオを編集するには、まずワークショップ一覧から調整したいシナリオを探し、ローカルに保存する必要がある。シナリオ名で検索をかけ、表示されたシナリオの右端にある青丸の矢印アイコンをクリックするとダウンロードが始まる(前段の画像では、既にダウンロード済みのためアイコンが表示されていない)。
ローカルに保存されたシナリオの一覧では編集ボタンが表示される。このボタンをクリックすることでシナリオ編集画面に遷移する。
ボタンをクリックすると「Unpack」するかどうかを尋ねられるが、説明文の補足にもある通り Yes で問題ない。「UnPack」するとシナリオ内で使用されている武器やキャラクターといった各要素がローカルに保存され、別のシナリオでも同様の武器やキャラクターを使いまわせるようになる。
ただし、「UnPack」した際に、ローカルにある同名の要素は設定が上書きされてしまうので注意が必要。シナリオ固有の設定に対する不意の上書きを避けるなら、シナリオ名の頭文字などを各要素の名前に含めて、名前が被らないようにすると良い(たとえば「Through Hole Tracking」では THT という略称を付けている)。
また、毎回「UnPack」すると時間がかかってしまうため、編集対象のシナリオを開くのが 2 回目以降であれば No でも構わない。
シナリオの構造
具体的な編集に入る前に、KovaaK's FPS Aim Trainer のシナリオがどういった要素で構成されているのか、概要を紹介しておきたい。
編集画面を開くと、画面上部に武器やキャラクターの設定などを担う「Profile Manager」、画面左側にチャレンジモードの採点システムやシナリオ説明文の設定などを担う「Scenario Editor」、画面右側に Bot の数やマップなどを一時的に変更する「Session Manager」が表示される。
シナリオ編集で特に重要なのは画面上部の「Profile Manager」である。これは 6 つのタブに分かれており、以下のような構造になっている。
「Char」はゲーム内で動かすキャラクターの体力・移動速度・当たり判定の大きさなどを設定する。「Char」には「Weapon」と「Abilities」が紐づき、それぞれ武器とアビリティ(ダッシュ・任意の武器の射出・近接攻撃など)を設定する。こうして設定したキャラクターを、プレイヤーまたは「Bot」が使用する。「Bot」には「Char」の他に「Dodge」と「Aim」が紐づき、それぞれ回避運動とエイム能力を設定する。
静的なターゲットを撃つようなシナリオであれば、「Char」「Weapon」「Bot」だけ設定すれば済む。動くターゲットを相手にしたり、Bot に武器や何らかのアビリティを使用させる場合には、「Dodge」「Aim」「Abilities」なども触る必要がある。
シナリオ編集例
特に決まりはないものの、シナリオ調整の例として以下のようなものをよく見かける。
- Jumbo(ターゲットを大きく)
- Mini, Small(ターゲットを小さく)
- Thin(的を細く)
- Shortend, 30s(制限時間を短く)
- Endurance(ターゲットを倒す毎に制限時間を延ばす)
- Invincible(的を無敵化)
- Strafing(ターゲットを左右に動かす)
- Fast Strafe(横移動の切り替えし頻度を高く)
- Long Strafe(横移動の切り替えし頻度を低く)
- FN(Fortnite の略称、TPS モード)
そこで、上記のような調整をする際、具体的にどこを変更すれば良いのか順に取り上げていく。
ターゲットのサイズを変える
編集画面上部にある「Profile Manager」の「Char」タブより、「THT Target」を選択して設定画面を開く。
さらに「Bounding Boxes」タブより、当たり判定に関する設定画面を開く。ここで「Main Bounding Box」の「Height」「Radius」の値を変更すると、ターゲットのサイズを調整できる。
「Radius」を 16 から 32 に変更すると、前段の画像のような変化となる。制約として、「Height」は「Radius」の 2 倍以上に設定する必要があり、有効でない値を入れるとエラーが表示される。
ちなみに、ターゲットの形を変えたい場合には「Bounding Box Type」を変更する。
「Cylindrical」は円筒体、「Cuboid」は直方体、「Spheroid」は球体のターゲットになる。
チャレンジモードの制限時間を変える
編集画面左側にある「Scenario Editor」の「Challenge」タブを選択し、チャレンジモードに関する設定画面を開く。ここで「Time Limit」の値を変更し、制限時間を調整できる。
また、「Time Regained Per Kill」の値を変更し、ターゲットを倒す毎に制限時間を延ばす設定を取り入れることができる。
ターゲットを無敵化する
編集画面上部にある「Profile Manager」の「Char」タブより、「THT Target」を選択して設定画面を開く。
さらに「Main」タブ内の項目「Invincible Bots」にチェックを入れると、このキャラクターを Bot が使用した際に無敵として扱われるようになる。無敵化されたキャラクターは体力が減らないが、与えたダメージ量は計算されるため、スコア集計の妨げにはならない。
また、「Scenario Editor」のチャレンジモード設定画面で「Invincible Bots」にチェックを入れることでも無敵化できる。こちらの場合、Bot が使用するキャラクターの設定にかかわらず一括で無敵化設定を有効にできる。
ターゲットの回避運動を変える
編集画面上部にある「Profile Manager」の「Dodge」タブより、「THT Strafes」を選択して設定画面を開く。
「Main」タブの「Min Time Till L/R Change」と「Max Time Till L/R Change」を変えることで、左右移動を切り返すまでの時間を調整できる。慣例として、以下のような値をよく見かける。
- Fast Strafe
- Min Time Till L/R Change: 0.2
- Max Time Till L/R Change: 0.5
- Long Strafe
- Min Time Till L/R Change: 0.5
- Max Time Til L/R Change: 1.5
「Through Hole Tracking」では、中央の穴から射線を通せる範囲外にターゲットが移動するように、長めの時間を設定している。
また、「Jump/Crouch」タブより「Jump Frequency」の値を変えることでジャンプする頻度を調整できる。この値を 0 にするとジャンプしなくなる。
武器を変更する
編集画面上部にある「Profile Manager」の「Weapon」タブより、「Shooter AR」を選択して設定画面を開く。
「Main」タブより「Damage Per Shot」の値を変更し、一発当たりのダメージ量を調整できる。
また、「Ammo」タブより「Magazine Max」の値を変更し、1 マガジンの弾数を調整できる。この値を 0 にすると無制限扱いとなる。「Through Hole Tracking」のように、ターゲットを倒すと弾数が回復する設定は「Ammo Reloaded Per Kill」より行う。
また、キャラクターに別の武器を持たせる場合、「Profile Manager」の「Char」タブからプレイヤーが使用するキャラクターの設定(このシナリオでは「THT Challenger」)を開き、別の武器を指定する。
TPS モードでプレイする
編集画面上部にある「Profile Manager」の「Char」タブより、「THT Challenger」を選択して設定画面を開く。
「Main」タブから 「Third Person Camera」にチェックを入れる。必要であれば、カメラ位置に関する各種設定も調整できる。
ただし、「Through Hole Tracking」で TPS モードにすると、カメラ位置をかなりキャラクターに近づけないと射線が通らない。TPS の練習をしたい場合は、別のシナリオを調整した方が良いかもしれない。
チャレンジモードの採点システムを変える
編集画面左側にある「Scenario Editor」の「Scoring」タブを選択する。「Score Per...」以下の項目から、ダメージ量・キル数といった各種要因で得られるスコアを指定する。たとえばダメージ量をそのままスコアとしたい場合は、「Damage」に 1 を入れる。
「Score Loss Per...」からは減点に関する設定、「Final Score Multipliers」からはスコア計算時の各種補正を有効にするかどうかを選択できる。
シナリオのタグ・説明文を変える
編集画面左側にある「Senario Editor」の「Tags」タブを選択する。各項目に必要事項を入れていく。ここで入力した文字列は検索時に引っかかるため、シナリオに関するキーワードを盛り込んでおくと便利である。
「Game」にはシナリオのカテゴリを記入する。慣例として、以下のようなものを見かける。
- Flick, Click-timing(点在するターゲットに合わせる)
- Track, Tracking(動くターゲットを追いかける)
- Reflex(瞬間的に出現するターゲットを撃つ)
- Mouse Control(小さいターゲットを正確に撃つ)
- Target-switching(Click-timing と Tracking を合わせたもの)
- Fun(練習というよりは、遊び・ジョークとしてのシナリオ)
- 対戦 FPS/TPS ゲームタイトルの略称(各ゲームの武器やキャラクターを再現)
「Weapon/Hero」にはシナリオで使用する武器・キャラクターを記入する。慣例は以下の通り。
- Pistol(ピストル:セミオートの武器)
- AR(アサルトライフル:フルオートの武器)
- LG(ライトニングガン:フルオートの武器)
- RL(ロケットランチャー:プロジェクタイルの武器)
- 対戦 FPS/TPS ゲームに登場する武器やキャラクターの名称(ゲームの再現)
「Author」には制作者の名前を入れる。何も手を加えずそのままでも構わない(ワークショップ一覧では「Author」と「Uploader」が分けて表示されるため、紛れることはない)。
「Description」にはシナリオの概要を説明した文章を入れる。慣例として英語が用いられているため、翻訳ツールなどを使って簡単な説明を準備すると良いかもしれない。
例外・マップを調整する
残念ながら、KovaaK's FPS Aim Trainer のシナリオエディタではマップを編集することができない。リスポーン地点や遮蔽物の位置を調整したい場合は別のツールを使う必要がある。
KovaaK's FPS Aim Trainer は Reflex Arena というゲームと同じマップデータ構造を採用しており、マップの作成は Reflex Arena に付属する Reflex Map Editor で行う。つまり、Reflex Arena を購入する必要がある。
別途記事を作成したいと考えているが、概略は以下の通りである。
- KovaaK's 内のワークショップ一覧から編集したいシナリオをダウンロードする
- KovaaK's のローカルフォルダ maps 内にある .map ファイルを、Reflex Arena のローカルフォルダ maps 内にコピペする
- Reflex Arena を起動し、Reflex Map Editor の画面に移る
- コンソールから map コマンドを使用し、編集対象の .map ファイルを読み込む
- マップを任意に編集
- コンソールから savemap コマンドを使用し、.map ファイルの変更を保存
- Reflex Arena の maps フォルダから KovaaK's の maps フォルダに .map ファイルをコピペ
- KovaaK's のシナリオエディタでマップを読み込む
ちなみに、他のマップエディタソフトを使う方法を紹介しているガイドもある。
ただしこちらの場合、新規マップの作成はできても既存マップの読み込みができず、素直に Reflex Arena を購入することにした。
シナリオを公開する
シナリオを編集して保存すると、ローカルのシナリオ一覧で緑色のアイコンが表示される。新規シナリオをアップロードする場合と、既に公開済みのシナリオをアップデートする場合でアイコンが異なる。
アイコンをクリックすると確認画面が表示される。「Change Notes」は空欄でも構わないが、変更点を記しておくと Steam ワークショップの変更履歴から過去のバージョンに巻き戻す際に便利である。
アップロードしてからしばらく時間が経つと反映され、ゲーム内のワークショップ一覧からダウンロードできるようになる。
アップデートする際には「Invalidate Old Scores」というオプションも表示される。これを有効にすると、チャレンジモードのリーダーボードを初期化できる。主にスコア計算に関わる部分を変更した際に使うオプションであるが、なるべく使わずに済ませた方が望ましい。
あとがき
今回紹介した内容はシナリオエディタの中でも一部の機能に過ぎず、豊富な設定項目を組み合わせることで様々な趣向のシナリオを制作することができる。シナリオ制作に興味が湧いた方は、ぜひ一度シナリオ編集画面を開き、どんな設定項目があるのか眺めてみて欲しい。面白いと思ったシナリオを編集画面で開き、どうやって制作されたのかを探ってみるのも勉強になる。
自分が制作したシナリオは以下のまとめに載っている。この記事を含め、少しでも参考になれば幸いである。