Robocode |
Java で戦車の AI を書いて戦わせるプログラミング型ゲーム。
ロボットの AI を書いて戦わせるアートディンクのカルネージハートというゲームをやったことのある私は、あのときの興奮がまた味わえる、しかもインターネットで他の人の作った AI と気軽に戦える、と喜んだ。
しかし、この Robocode はあまり出来がいいとは思えない。
AI は弾を打って敵を破壊しようとするのだが、敵が打ってきた弾を AI は認知できない。だから、やみくもに逃げるしかない。打つ方は、相手の動きを見て移動先を解析してそこに打つ。逃げる方は、相手の解析の裏をかいた移動をすることによってしか、弾を避ける方法がない。
Anti-Gravity Movement (反重力移動?) という定石が存在すること自体が、このゲームの奥の浅さをものがたっている。この移動方法は、二つの重力点なるものを仮想的に作り、その重力点に引っ張られるような形で次の移動先を決める。こうすることで、自機の運動を多体問題にしてしまい、相手に線型予測を不可能にさせるのだろう。
こういう回避法が発達しているということは、相手の動きを予想する AI なんかも要するに解析をやっているわけで、もう数学数学数学だ。ゲーム性もなにもあったものじゃない。
まあ、強いロボット同士の対決を見たわけじゃないので分からないけど、こんなのやってて楽しいのかな、と思ってしまう。
試しに私も AI を作って動かしてみた。ベクトルをイメージするのが面倒なのはいいとして、エディタを立ち上げたときにサンプルとして最初から入力されている MyFirstRobot がそのシンプルさとは裏腹に強い。砲塔とレーダーをぐるりと一回転させることで敵を見つけ、弾を回避するためにとりあえず前後に動き、そして敵に向けて弾を一発打つのをひたすら繰り返すだけ。しかし、たったこれだけの AI で、プレイヤーがちょこちょこ工夫して作った AI を粉砕してしまう。
やっぱりもうちょっと工夫が欲しい。いまはロボット三台くらいのチームによる集団戦がメインだという話も聞くが、やっている人たちはそれで盛り上がっているのだろうか。
カルネージハートがいかに優れていたのかが目立ってしょうがない。フルポリゴンのロボットが動くので美しい。AI を組みやすい人型のボディから、クモ型、飛行機型、そしてキャタピラ移動や砲塔などの制約でおそらく一番難しい戦車型まで、プレイヤーはステップアップしていけた。AI はブロックで作るので、細かいことができないのは難点だが、AI の動作状況がパネルで表示されてフローが分かりやすい。
http://www.artdink.co.jp/japanese/title/chez/
Robocode は、Java であることによる利点はうまく活かしていると思う。サーバ上で動かすこともできる。常にリーグ戦が行われていて、自分の作った AI を登録しておくと向こうで全自動で戦ってくれて、自分の AI の順位が毎週毎週分かるようになっているらしい。
|
|
|
題名 | | * |
| コメントを一言で要約して題をつけて入力してください。 | |
ファイル | | |
| アップロードしたい画像ファイルを入力してください。 | |
中身 | | * |
| 必ず日本語を入れてください(SPAM対策)。 | |
| コメントを書いてください。 | |
続きリンク | | |
| 上に URL を入力しておくと、上の文章のあとにその URL に飛ぶ「続き」というリンクが作成されます。読者を他のページに案内したい場合に利用してください。 | |
評価 |
| * |
| この事物に明確な評価を与えてください。現在のところ 最高(+50) 傑作(+30) まあまあ(+10) いまいち(-10) 駄作(-30) 最低(-50) の六段階評価となっています。0 つまり平凡だという評価を下すことはできませんが、省略することもできます。 | |