機体調整大会11月エントリー

11月の機体調整大会にエントリーしました。
ここ最近いじっているニーズチームで参戦です。
いくつかバグや問題が見つかっており、手元では一から組み直すべく仕様詰め中ですが、一旦旧バージョンも大会に出しておこうかと。
構成は以下の通りです。

テンペスト
機種:ニーズヘッグ
CPU:LP-323H
装甲:100mm対スタン
武装:アルゴンビームガン×0/アルゴンビームガン×0/フォーゲッター×0/オーディーン×4/オーディーン×4
OP:レーダー/加速×2
動力系:エネルギー120%/エンジン117%

加速ニーズ。ネタのようで意外と頑張れます。
霧下探査+二重加速キャンセル機動でひたすら格闘を仕掛けます。
殴ったほうが早いのでミサイル以外の武装は載せていません。

・ミサイル回避
ニーズは尻尾が長いので、他の機体と同じように引きつけて避けようとしてもうまくいきません。
自チームでジャミングを使用する関係上、視界が狭まっているのでミサイル反応が遅れるため、なおさらです。
諦めてミサイルは無視し、急速前進で避けられれば儲けものと割り切ろうかと思ったのですが、ふと気づいて試してみたところ「伏せ→急速後退」で意外に避けられるようです。運さえ良ければコフィンの12連タイフーンも避けきります。
敵が視界内にいる場合は、真正面からミサイルを撃たれない限り急速前進だけで避けられる&味方のミサイルに反応したくないので無視します。

・方向指定移動
霧下で敵の方向に向かって移動します。
ニーズは自分の座標をホイリーに送るのみで、あとはホイリーが計算してくれた敵の方向を受け取って移動するのみです。
ホイリーの方が反応速度を要求されることが少ないため、このような実装になっています。
方向とともに計算時間を受け取っており、計算時間が古すぎる場合は素直に不明機探査を行なっています。ホイリーが撃破された場合、スタンしている場合、敵機を捕捉できていない場合に該当します。

・キャンセル機動
ニーズの急速前進は後半に大きな減速フレームがあるため、途中フレームでキャンセルすることで速度の向上が図れます。
中間フレームのモーションがほぼ変わらないため、律儀に特定のフレームでキャンセルしなくても「急速前進開始から一定時間経過していたらキャンセル」とするだけで動作干渉もなくそれなりの効果があります。
この方法だとフレーム数を合わせるためのローカルループ等が要らなくなるため、普通にメインロジックに混ぜられるので実装がかなり楽になります。
同じように急速旋回についてもキャンセルを入れていますが、こちらはたまに回りすぎるのが難ですね。

・距離予測格闘
ホバーは慣性が大きいため、格闘圏内にターゲットを入れてから格闘、とやっているとしばしばターゲットにぶつかってしまいます。
かと言って、慣性を考慮して格闘圏手前から格闘を開始すると、慣性次第でターゲットまで届かないこともあります。
というわけで、ターゲット距離を定期的に取得し、前回取得距離との差から未来のターゲット距離を計算し、それに応じて格闘を行なっています。
特にニーズは格闘中でも特定のフレームでしか前面に当たり判定が発生しないため、前面に当たり判定が発生するタイミングでターゲットが格闘圏内に入るよう調整しています。
急速前進から格闘に移行することによる速度のロスは、適当な係数をかけて調整しています。
できれば相対角度も予測値を使いたいのですが、チップ数がかさんで反応が鈍くなるために実装していません。

・格闘キャンセル
格闘中に敵の状態を毎フレームチェックしています。
非ダメージ状態→ダメージ状態に切り替わったタイミングで格闘が命中したとみなし、即座にガードを実行します。
ニーズのガードは何故か1フレーム目から当たり判定が発生し、かつ格闘と逆周りで尻尾が動くため、敵との位置関係次第では格闘ヒット+ガードヒットで倍のダメージを与えられます。
元々ニーズの格闘は当たり判定が大きいため、放っておいても2ヒットするケースもあるのですが、ガードに繋げたほうがダブルヒットの確率が上がるようなので採用しています。
また、ニーズの格闘は後半に無駄なモーションがあるため、一定フレーム後にキャンセルして再度格闘につなげています。

・ミサイル運用
レーダーを使用して敵視界外からロック、即座にミサイルを発射してから急速前進キャンセルで接近します。
が、ニーズは急速前進時に砲塔が下を向くため、何も考えずにミサイルを発射すると地面に撃ち込んでしまいます。
というわけで、ミサイル発射直前に急速後退を挟んで上体を起こしています。
あとは被弾復帰時の仕切り直しにミサイルを使用しています。
装弾数が少ないので、あまりダメージ源としては期待していません。ターゲットがミサイルに反応して回避・防御動作をとっている間に接近したり体勢を立て直すのが目的ですね。

・対空処理
ひたすら自動旋回+急速前進キャンセルで敵弾を避けつつ、チャンネルでターゲットを共有して定期集中ミサイルです。
加速OPはエネルギーがもたないため使用しません。

エアリエル
機種:ホイリーコーン
CPU:LP-323H
装甲:100mm耐熱
武装:ジャミングフォグ×24/ムラマサ×12
OP:レーダー×4
動力系:エネルギー150%/エンジン100%

霧レーダーホイリー。
敵から一定距離を保ち、霧とムラマサを定期発射しつつニーズの進行方向を計算するのみです。

・霧ラッシュ
定期的に霧を散布しますが、ニーズが接敵していない場合は短い周期で散布して狭い視界を維持します。
視界距離が10m違えば、ニーズがターゲットに発見されてから格闘に移るまでの時間が3f(ニーズの速度が約400km/h→約3.5m/f)短くなるため、それなりに効果があるようです。
通常時は戦闘残時間÷(残弾数+1)の間隔でジャミングし、ジャミングの弾切れを防ぎます。

・ターゲット継続捕捉
霧バッドで採用したレーダーのずらし多重起動を行い、レーダー効果時間の切れ目でターゲットを見失うことを防ぎます。

・ニーズの進行方向計算
ニーズの座標をチャンネル経由で受け取り、自分がロックしているターゲットまでの方向を計算します。
計算はオーソドックスにatanで行なっています。

・対空処理
急速後退で攻撃を避けつつ定期集中ムラマサです。
ビームはどうにかなりますが、ミサイルが厳しいですね…。

過去大会に混ぜて回した感じでは6割ほど勝てる…はずです。
厳しいのは月影、アング、プリ、ミサイル持ち飛行、ハデス、アヌビ、あたりでしょうか。
大会結果を見て、新バージョンにフィードバックしたいと思います。