自機をサテライト周回する車両にカノンを当てる予測射撃がついに出来た。 ロック、自動旋回ON、急速前進の3チップの車両を作って当てるのが楽しい。 条件としてロックされている状況で狙撃までの18フレーム隙があること、サテライト周回を十分に長い時間行っていて軌道が安定していることが必要だ。 よくよく考えるとあまり使える状況がなさそうだ。 チップも約30チップ使っている。 さらに飛翔物回避を入れているのでかなり領域を食っている。 飛翔物は感知したフレームに回避行動出来るように簡易的なものにした。 そのぶん検知距離を短くし、通常回避では100mのところを60mとすることで予測射撃に専念出来るようにした。 参考にならないが計算部分は「続きを読む」の中に入れておいた。
なんだか大会へ向けての作成そっちのけで冥界を作ったり予測射撃を作ったりしている気がする。
まずはカノン射出までのフレーム数とターゲットまでのXY距離から、敵機体にカノンが到達するフレーム数を割り出す。 それをターゲットの方向の1フレームあたりの変化にかけて、最初のターゲットの方向に足せば完成。
まずはW1狙撃1発を行う。
1フレーム目 カウンタG = ターゲットの方向 カウンタD = ターゲットXY距離 カウンタE = カウンタD カウンタE = カウンタE / 11.9 (カノンの弾速) カウンタE = カウンタE + 17 (狙撃発射までのフレーム数-1)
これでカウンタEにカノン到達までのフレーム数が入る。 計算の1フレーム前にカノンを撃つので発射までのフレーム数も1減らす。
2フレーム目 カウンタC = ターゲットXY距離 カウンタC = カウンタC - カウンタD カウンタC = カウンタC * カウンタE カウンタC = カウンタC / 10.8 カウンタE = カウンタE + カウンタC
この部分はターゲットのXY位置の差から到達フレーム数のずれを出している。 この差分フレーム数カノンが進むうちにもターゲットは移動するため、これだけでは当たらない。 かといって計算する方法も分からないので、適当に割る値を1割くらい減らしてみた。 10.8は元々カノンの弾速11.9だった。 今のところそれなりにうまくいっているようだ。 これで私が大会に出したトライポッドのような等速直線運動するターゲットにも当たる可能性が出てくる。 周回するターゲットも常に距離が一定であるわけではないので、この補正を入れたところ当たりやすくなったように思う。 気のせいかも知れない。
3フレーム目 カウンタA = 60 カウンタB = カウンタE カウンタB = カウンタB * 11.9 カウンタA = カウンタA / カウンタB カウンタC = ターゲットのZ座標
カウンタAは先日の機体中心と砲身のずれの補正値。 カウンタBにはカノン到達時のターゲットのXY距離が入る。
4フレーム目 カウンタD = ターゲットの方向 カウンタF = 自機Z座標 カウンタC = カウンタC - カウンタF カウンタC = カウンタC * 60 カウンタC = カウンタC - 90
5フレーム目 カウンタC = カウンタC / カウンタB カウンタB = ターゲットの方向 カウンタB = カウンタB - カウンタD カウンタB = カウンタB * カウンタE NOP
カウンタCは砲身の補正を高さの補正に流用している。 60倍しているのは先日同様1m差があれば1度調整するようにするためだ。 車両は脚付きよりもさらに低めに撃って弱点の車輪に当てることを狙う。 -90という数値は適当。90m離れた相手なら1度下に撃つようになる。 カウンタBは1フレームのターゲットの方向変化に到達予定フレーム数をかけたもの。
6フレーム目 カウンタG = カウンタG + カウンタB カウンタG = カウンタG + カウンタA 方向指定射撃 方位G仰角C W1 1発
今までに求めた分を最初に取得しておいたターゲットの方向に足して発射。 最初に向きを変数に入れないのは、直前の動きでわずかに旋回し、きちんと計算出来ないため。 正しい値が出るはずなのに出なくてしばらく悩んでしまった。 ターゲット方向の取得を後回しにしても、直前に自動旋回ONで移動動作をしていると旋回が残るため値がきちんと取れないようだ。 上段格闘で向きを調節した場合は成功する。
組み込んだものは最初にSTOP1/30s、狙撃1発、自機射撃中なら計算開始としていて、計算には2フレーム間のターゲット方向変化をとって計算結果を2で割るため、約30チップかかっている。 ここに飛翔物検知がいくつかとループと簡易回避が入っているため、45チップほど領域を使っている。 かなり限定された状況が現れれば当たるが、ここまでチップをかける必要もない。
ひでさんのブログでのジャミングの話にも繋がるが、限定状況でのみ使用するものにここまで領域をかけては汎用性が損なわれてしまう。 もっと簡略化出来れば搭載に値する機能なのだろうが、私にはここから数チップ減らすだけで精一杯だ。 まあ、周回車両に当たるのでもう満足だ。 260km/hで走るバジリスクにカノンが当たるので、日頃バジリスクに悩まされている方は鬱憤晴らしにどうぞ。
|