85DATA HOMEへ
MYCAR情報掲示板BLOGプロフィール

HOME → ソフトウェア → ゼビウスを作る!

「ゼビウスを作る!」 番外編  デモの動作変更 その2
                  (コンピューターにゼビウスをプレイさせる)

2011.10.9

前回(番外編 デモの動作変更)で「弾避けだけでも(ある程度は)してみせる」としましたが、もうちょっと突っ込んで作ってみるとドコまで、上手になるのか興味が出てきました。

ゼビウスの移植からは外れてしまっていますが、何となく面白そうなので考えてみました。

・弾を避けるだけではなく、空中敵も迎撃する。
・地上敵も破壊するようにする。
・弾を発射する地上敵が破壊できない位置になったら離れる。
  (ガルデロータ・デロータ・ログラム・ドモグラム・・・それぞれ離れる判定は異なる)

以上の3点を加えてプログラミングしてみました。
まだまだ、戦術的には「お馬鹿さん」なプログラムなのですが、弾避けだけはスゴク上手です。

※マップ情報(地上敵の配置など)は、このプログラムには教えず、それらは考慮しないようにしました。
つまり、「出たとこ勝負」で判断するプログラムです。
攻撃をパターン化すれば、もっと上手にこなしそうですが、それではプログラミングがつまらなくなるのでやめました。
よってドモグラムへの攻撃は、その移動距離によってブラスターを発射しますが、ドモグラムが(ブラスター発射中に)
向きを変えると迎撃に失敗する事になります。


このプログラムでゼビウスの最終エリア(AREA16)にチャレンジしてみましたよ。
AREA16は、(私にとって)かなりの難関です。
ココで如何にやられずに済ませられるかによってスコアが変わってきます。
(AREA14も難しいですね。14と16を完全に攻略できれば1000万点プレイヤーも夢ではなくなりそうです)

そんなAREA16をこのプログラムはどう攻略するのでしょうか???

・・・・で、動作が(動画)がこれだ!
http://youtu.be/aGAGB33B3D8




もうチョット積極的に迎撃したら良いのに・・・とは思いますが
この辺りは、少し改善してみようかな。

2011.10.16

上の動画を見ていただけると分かりますが、ドモグラム(地上の移動キャラ)の迎撃が甘い
もうちょっと精度を上げてみました。

・ブラスター(対地上弾)の移動距離とドモグラムの移動距離を正確に計算しブラスターを発射させる。

10.9にも書きましたが、ドモグラムは移動がそのまま継続するとの仮定でのブラスター発射になりますので、ブラスターを発射した後にドモグラムの移動が変化すると迎撃に失敗する事があります。これは以前のロジックと変化はありません。単に計算精度を向上しただけです。もちろん学習もしません。

・弾を発射する地上敵が破壊できない位置になったら離れる判定を改善

ガルデロータの判定は変化なし。
デロータは画面下では弾は発射しないので、離れなくても良い。
ログラム・ドモグラムは弾を発射する兆し(キャラ中央に穴が空く)があれば離れる。

・空中敵の迎撃判定

敵が自分よりも上(迎撃可能位置)にいた場合は、迎撃をする。
以前は、敵の軌道上に自機がいた場合は逃げるようにプログラミングされていた。

上の3つを変更してみましたが、どんな感じになったのでしょうか?

・・・・で、動作が(動画)がこれだ!
http://www.youtube.com/watch?v=JGTW4AH72GA

 

うーん。ガルデロータを怖がっていますね。
迎撃出来そうなのに逃げています。チキンプレイだな。

まだまだですね。