スポンサーサイト

--年--月--日
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

XNA:AIアルゴリズム

2008年02月24日
今、夜中の3時過ぎです、、、、
XNA TANKでシングルプレイモードを実装するべく、敵の行動アルゴリズム(世に言うAIとかBotとか言われているやつです)っていうのは、どういう風にプログラムを書けばいいのか悩みまくっていました。

やはり市販ゲームの動きを観察してみるのが良いと思い、早速「サイ○ースレ○ド」をプレイ(汁
しみじみと敵の動きを観察していると、敵の行動アルゴリズムというのは私が思っていたほど思考していないようで、気づいた事をメモしてまとめると結構単純なルールに乗っ取って移動・攻撃している事が発覚。

・常にプレイヤーの方向を捉えている
・接近できるだけ接近してくる
・壁を挟んだ位置関係になると、機体を左右に振って前進するための穴を探り始める
・↑の状態の時、一定距離の左右反復移動なので、一定距離に穴が無ければ「こう着状態」になってしまう
・正面にプレイヤーが居る時は「射程距離外でも」弾を撃ってくる
・壁に当たると、ある程度は「壁ズリ移動」してくるので、プレイヤーを追いかけてこれる時がある

など、結構単純かつ獰猛なアルゴリズムでした。これぐらい単純なAIなら私にも作れそうです。
相手の位置を常に把握できるようにするなど、仕様変更しなければならない部分もありますが、ステップアップするためにしょうがない所だと思います。
FPSゲームにあるような、WayPointを探索して移動したり、遮蔽物を利用したりとかいうアルゴリズムは、もっと腕を上げてからにしたいと思います><

とにかく、コンテスト提出直後から悩みまくっていたAI実装に希望が見えてきたので、今日はもう寝ることにします。
おやすみ~ 。。。zzz

スポンサーサイト
Comment

管理者のみに表示

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。