というわけで、次バージョン
絶賛開発中です。
未勝利戦前に作っていたバージョンもほぼ破棄し、1から作り直しています。
・武装変更
グラスらしい攻めを実現するためにオプションを妨冷冷に。
また、重量を調節して白重量に抑えています。
最近気づいたのですが、グラスは
黄重量:ジャンプ(21フレーム)着地(6フレーム)ジャンプ終了&BRAKIN終了
白重量:ジャンプ(22フレーム)着地(5フレーム)ジャンプ終了(1フレーム)BRAKIN終了
のようです。
これを利用して、着地後1フレームで条件分岐を行い、
次フレームでアクションを起こしています。
・状況判断タイミング変更
これまではジャンプ直後に状況判断を行っていましたが、
今回はジャンプ開始後にフレームを数え、着地直前に
状況判断のSUB1に処理を回しています。
Z軸監視の方が正確にタイミングを判断できると思うのですが、
上りジャンプとの区別を考えると毎フレームのチェックが難しく、
今回は見送りです。
・ジャンプ中の状況判断を変更
チェス対戦プログラムなどと同様の評価関数方式に変更。
敵機タイプによって評価値の重み付けを変えています。
基本は回避時に利用しますが、移動先の評価値が高い
(現在地の評価値が低い)場合は移動を優先します。
また、前回評価値の一部を持ち越すことによって、前回のジャンプ方向を
ある程度考慮するようになっています。
前述の状況判断タイミングとの関係上、着地直前ちょうどで
状況判断を終わらせるため、大量のNOPで同期させています・・・
この辺りは改良の余地ありです。が、かなり位置取りは良くなりました。
・ミサイル回避ロジック追加
引きつけて垂直ジャンプでかわします。単発ムラマサ・大ミサは問題なし。
同時に2つ以上来たり徹甲弾と同時に飛んでくると
あっさりあきらめてECMを発動します。
・予測射撃モドキ実装
やはりグラスは遠距離で優位に立たないと厳しいと思い、
にわか知識で予測射撃を実装。名づけて妄想射撃。
やってることは、
ターゲット方向(A)取得
→1フレーム待つ
→ターゲット方向(B)取得
→B=B+(B−A)×距離÷16(ビーム速度)
→Bを使用して方向指定射撃
だけです。
Z軸は0固定、ターゲットをジャンプさせるための
威嚇射撃も兼ねていますので相当簡略化されていますが、
これでも命中率が相当跳ね上がりました。
カノンと違って数撃ちゃ当たる、で良いからこそできる芸当ですが。
リロードの速さからかなり近距離でも使えますし、
ビームの弾速のおかげでかなり遠距離でもヒットします。
遠距離では当たってもダメージはほとんど期待できませんが・・・
これでアラクネー・冥界に対する勝率が一気に上がりました。
一見車両にも使えそうですが、車両相手だと普通に狙撃したほうが
効果が高いようです・・・
・対飛行ロジック
3機固まって隅に移動し、間断なくビームを乱射して
接近を阻止・回避を誘発させます。
エネルギーをギリギリくらいで調節している相手や
地雷フライドに有効なようです。
接近してきた相手は自動的に集中ロックされて集中狙撃。
ロケットとか撃たれると困りますが・・・
あとはジャミング対策と車両対策でしょうか。
気がつけばCPUの3/4くらいが埋まってました。
まだSUB2が空いているので、何とかなりそうではありますが・・・
最初にプログラムを組んだころは最大CPUなんて
どうやって埋めるのか、なんて思ってたはずなのに
やっぱり作りこみはじめると埋まってくるものなんですね。
次バージョンくらいでチップ節約に悩まされそうです。
そろそろばったもんでもなくなってきたので、
ちゃんと名前をつけてあげたいですね。