AI対AI:Linux上のN.E.R.O.Leverage OSS(1/3 ページ)

ゲームの人工知能にいらだちを覚えたことがあるなら、ぜひとも試してもらいたいものがある。最も優れたAIは、あなたの手によって生み出されるのかもしれないのだ。

» 2006年10月25日 09時00分 公開
[Nathan-Willis,Open Tech Press]
SourceForge.JP Magazine

 ビデオゲームの人工知能(AI)にいらだちを覚えたことがあるなら、ぜひともN.E.R.O(Neuro-Evolving Robotic Operatives)を試してみてほしい。N.E.R.O.は、独自のインテリジェントな非プレーヤー・キャラクタを鍛えることが勝利への鍵となる、クロスプラットフォームの戦闘ゲームである。対戦場での唯一のルールは、「最も優れたAIに勝たせること」である。わたしはLinuxクライアントで腕試しをして、N.E.R.O.がとても毛色の変わったゲームであることを知った。

 N.E.R.O.は2003年に、テキサス大学オースティン校(UT)で最初に開発された。UTの2003 GameDevカンファレンスにおいて、AI研究者のケン・スタンレー氏が、兵隊ロボットをリアルタイムで訓練し、互いに戦わせるというアイデアを基にしたゲームを提案した。この提案が、UTの多数の学部と学生を巻き込む進行中の研究プロジェクトに発展したのである。

 ゲームは2つのモードに分かれている。訓練モードでは、仮想のサンドボックス内でプレイし、敵と障害物をセットアップした後、それらに向けてロボットのチームを解き放つ。ロボットたちはニューラルネットワークを使ってゲームのイベントに反応するので、プレーヤーは目標をたたく、敵からの打撃を防ぐ、持ち場を守るなどのイベントに対して褒美またはペナルティを与え、ロボットを訓練する。

 満足のいくチームが出来上がったら、作業を保存して戦闘モードに入ることができる。さまざまな選択肢の中から対戦場を選択した後、自分のロボットを付属のデモ用チームの1つ、またはネットワーク上のほかのプレーヤーと対戦させる。

 現行のバージョン1.01は、Linux、Mac OS X、およびWindowsに対応している。Linux版はgzipで圧縮されたtarballになっているので、これを任意の場所に展開し、コマンドラインから./nero.binを実行する。実行にはOpenGLとALSA(効果音用)が必要である。

フルメタル・ジャケット

 当然、訓練モードは苦労する部分である。訓練モードでは、ロボットが絶えず生成されて、訓練場で1〜2分間動き回った後、引きずり出されて採点される。得点が高めのロボットは次の世代に複製され、得点が最低のロボットは死滅するので、チームは全体として進化する。ロボットの採点方法は、ゲームのさまざまなイベントに対応する褒美とペナルティのスライダを調整して決定する。

 できたてのロボットたちは、いうなれば異常に活発な間抜けの集団のように振る舞う。円を描いて走るものもいれば、壁に向かってやみくもに発砲するものもいる。この段階での重要なルールは、「一度に1つのことだけをすること」である。敵の攻撃目標を地面に配置し、それらに接近することをチームに教えてから、よけて回る壁を追加する必要がある。一度にたくさんの要素を追加しすぎると、間抜けなロボットたちはプレーヤーが何を学習させようとしているのかを理解できなくなるのだ。

 ゲームには、優れた訓練指導教官になるために不可欠な2つのチュートリアルが付属している。例えば、当初、わたしのチームは積極果敢に敵を追い回していたが、「打撃を受ける」ペナルティを高く設定しすぎたせいで、数分後には腰抜けの集団に変貌してしまった。小学校のころから教わってきたように、作業は定期的に保存するのが賢明である。そうすれば、訓練の誤りを取り消してやり直すことがとても容易になる。

       1|2|3 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ