Galactic Arms Race におけるパーティクル自動生成
Evolving Content in the Galactic Arms Race Video Game http://www.ieee-cig.org/cig-2009/Proceedings/proceedings/papers/cig2009_033e.pdf
2010-11-24 22:12:30どういうものかっていうと、ニューラルネットワークでシューティングゲームのプレイヤーのウエポンのパーティクルを自動生成かつ自律進化させるっていう論文です。
2010-11-24 22:13:46実際に、Galaxy Arms Race っていう XNA のフリー(?)ゲームに実装されていて、ユーザーが遊びたびに、自機のウエポンの出す弾(パーティクル)が、遺伝的アルゴリズムとニューラルネットワークを組み合わせたシステム(NEAT)で進化して行く。
2010-11-24 22:15:19Galactic Arms Race はこちら。ダウンロード先や、パーティクル自律進化の仕組みや、ムービーまで用意されている。 http://gar.eecs.ucf.edu/
2010-11-24 22:16:30原理を説明すると長くなるのだけれど、GAR のサイトのムービーコーナーにある4つのムービーの最後のものを見れば概要がわかると思う。 http://gar.eecs.ucf.edu/index.php?content=media
2010-11-24 22:17:54進化アルゴリズム NEAT は、僕のゲームAI連続セミナー第5回でも説明したものですね。あの時は、NERO と言って、FPS の兵士のAIの自律進化に使っていました。
2010-11-24 22:18:54ゲームAI連続セミナー第5回の資料 http://blogai.igda.jp/article/33936286.html
2010-11-24 22:19:27テキサス大学のKenneth O. Stanley の FPS のAIを自律進化させる研究 NERO = ニューラルネットと遺伝的アルゴリズムを組み合わせた NEAT という手法 http://z.cs.utexas.edu/users/nn/nero/
2010-11-24 22:20:55今回はそれを、2D(みかけは3D)シューティングゲームの弾パーティクルの生成に使用した成果です。簡単な解説はこちら。 http://gar.eecs.ucf.edu/index.php?content=weapons
2010-11-24 22:23:20イメージとしては @abagames さんの遺伝的プログラミングを応用した弾幕生成エンジン「Bulletsmorph」 http://bit.ly/db7nw9 に似ています。 cgNEAT は、GAとニューラルネットで自律進化します。 http://bit.ly/amyfiP
2010-11-24 22:27:39ゲーム内では、ユーザーは自機にスロットがあって、そこにニューラルネットで制御するパーティクル生成ユニットを搭載できて、どれを一番よく選んだかによって、評価が高くなり、遺伝的アルゴリズムで親となる確率が高くなります。
2010-11-24 22:29:17実際にムービーを見ると、いろいろな弾幕というかパーティクルが生成されているのが見えます。ニューラルネットワークの出力が速度と色なので、パーティクルも位置によって色が変化して行きます。 http://bit.ly/eoktV9
2010-11-24 22:30:51もう少し丁寧に説明すると、まず自機の発射する弾の軌道は次のようなシステムになってます。 入力(弾の自分を原点とする座標系の現在位置座標など) →(ニューラルネット)→出力(その位置における速度、弾の色)。
2010-11-24 22:53:36このニューラルネット(NN)を遺伝的アルゴリズム(GA)によって進化させる仕組みが NEAT (Neuro-Evolution of Augmenting Topologies)です。ニューラルネットの形自身を変化させながら進化させます。
2010-11-24 22:54:08NEAT (Neuro-Evolution of Augmenting Topologies) 自身は結構新しいアルゴリズムです。 http://z.cs.utexas.edu/users/nn/nero/
2010-11-24 22:54:47数値だけ交叉させるのは、昔からありましたが、トポロジーまで変化させるのは、最近だと思います。 RT @akehoyayoi NNをGAで進化させること自体は前からやってそうだけど、新しいのか。。。
2010-11-24 22:57:54この論文を全部理解するには、僕のゲームAI連続セミナー第5回の資料を読んでからだと、よくわかると思います。
2010-11-24 23:03:22NEAT というシステムは、まず NERO という FPS のAIの進化に使用され、次に、今回のシューティングゲームのパーティクル自動生成に利用されました。どちらとも同じ研究者がしています。 http://bit.ly/e24ptu
2010-11-24 23:04:41ということで、参考文献を含めて色々つけ加えました。 RT Galactic Arms Race におけるパーティクル自動生成 http://togetter.com/li/72283
2010-11-24 23:06:29NEAT の方法は、少なくとも、参考文献に上げた2002年の「AI Techniques for Game Programming 」の教科書に既に載っていますね。 RT @mnagaku @akehoyayoi NNをGAで進化
2010-11-24 23:33:10「AI techniques for Game Programming」 を見てみました。 NEAT の説明は、今回の論文の著者 Kenneth Stanley を引用していて、2002年の論文からですね。 @mnagaku @akehoyayoi
2010-11-24 23:33:59【訂正】 NEAT(Neuro-Evolution of Augmenting Topologies)の手法については、Mat Buckland の AI Techniques for Game Programming に詳しいです。 http://amzn.to/gSlWyK
2010-11-24 23:36:03