AIという言葉は意味が広いので、
一概に”AI”を作りたい!といっても、
一体なにをすればいいのか分かりません。
むろん、作りたいのはRTSゲームのAIなのですが、
まず、ゲームジャンルによって、作られるAIは違います。
オセロや将棋などのボードゲームには、それに特化したものが大量にありますし、
シューティングゲームのAIは、規則に従って動くだけの単純なものです。
まず、RTSに登場するユニットは、シューティングゲームのAIと違って、
自分の身の回りを把握し、状況判断が出来る”エージェント”である必要があります。
(逆に、シューティングゲームの敵は規則的に動くことに意味があるんですね)
この機能は、まあだいたい実装できたといえるでしょう。
今作ってるRTSのユニットは、ユニットを避け、壁を避け、目的地に移動できて、
敵が近づけば危機を察知して攻撃します。
このような、あるひとつのユニットに関するAIを”個のAI”と呼ぶとすると、
”個のAI”はまさしくFSM(有限状態機械)でした。
FSMは、ある状態(State)と遷移と動作の組み合わせで、
裏を返せば、あらゆる状態と遷移を矛盾なく組み合わせる必要があります。
”個のAI”は、状況把握や判断はできますが、
あくまでそれに反応するだけで、自ら「思考」することはありません。
つまり、単純なAIなので、これにFSMを当てはめるのは難しくありませんでした。
しかし、今作ろうとしているのは、人間のように「思考するAI」です。
状況を把握し、判断して、かつ、それをもとに自ら行動を決定できるAI、
そのようなものにFSMを使うのは困難です。
「RTS AI」、なんて調べても、
日本で無名に近いRTSのAIについて情報が載っているページなんて皆無です。
必然的に英語のページを漁ることになりますが、いちいち辞書を引いて読むのはしんどい…
それでも、なんとか調べてみた結果では、
●「ゴール指向AI」
… ゴール{目標}の組み合わせ。
抽象的なゴールに具体的なゴールが属する。
目標を達成できればアプローチは関係ない
→AIが目標を達成するために計画を練ることができれば、
ゴール同士の関係は意識しなくてもよい⇒楽。
*AIが優秀なことで有名なFPSゲームのF.E.A.Rで使われている手法
+計画を練る(ゴールの調停)ことについて、AIに性格をもたせることができる?
●「チームAI」
… ”個のAI”の共有すべき状況・判断をチームAIとして独立させ、
”個のAI”が他のAIでなくチームAIと情報伝達を取るようにすることで、
集団としての知能や、連携を実現する手法
→まさにRTSのAI。このチームAIにゴール指向AIを当てはめればうまくいきそう。
というAIが実際に使えそうだな、という印象を受けました。
ゴール指向AIについては幸いにもAI技術の本にどっさり記載されてるので、
少なくともまったくの手探り状態ではないので、何とかなりそうな気はします。
ここまでだらだら書き連ねて何ですが、
なにか良いAIの情報や技術をお持ちの方がいらっしゃれば、教えていただいです(^o^)
AIについて考える
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
Re: AIについて考える
私の知る限り本ばっかですが、簡単なのから難しいのまで。
「ソフトバンク クリエイティブ:ゲームのアルゴリズム 改訂版 思考ルーチンと物理シミュレーション」
http://www.sbcr.jp/products/4797359251.html
「Amazon.co.jp: ゲーム開発者のためのAI入門: David M. Bourg, Glenn Seemann, 株式会社クイープ: 本」
「Amazon.co.jp: 実例で学ぶゲームAIプログラミング: Mat Buckland, 松田 晃一: 本」
この上は、高いgemsでしょうね。
http://www.amazon.co.jp/s/ref=nb_sb_nos ... s&x=8&y=16
「ソフトバンク クリエイティブ:ゲームのアルゴリズム 改訂版 思考ルーチンと物理シミュレーション」
http://www.sbcr.jp/products/4797359251.html
「Amazon.co.jp: ゲーム開発者のためのAI入門: David M. Bourg, Glenn Seemann, 株式会社クイープ: 本」
「Amazon.co.jp: 実例で学ぶゲームAIプログラミング: Mat Buckland, 松田 晃一: 本」
この上は、高いgemsでしょうね。
http://www.amazon.co.jp/s/ref=nb_sb_nos ... s&x=8&y=16
Re: AIについて考える
どうもです。
ふうむ、なんだかんだで、Gems以外は持っていますね。
(「ゲームのアルゴリズム~」は改訂以前のものですが、それほど変わっていないでしょうし)
まあでも、特に「実例で学ぶゲームAIプログラミング」はかなり使えますね。
今作ってるRTSの技術の9割はこの本の流用といっても過言ではないです。
となるとやっぱりGemsなんでしょうけど、
1万越えの本を買うのはやっぱり勇気がいりますね…。
図書カードが欲しいです。本当に。
ふうむ、なんだかんだで、Gems以外は持っていますね。
(「ゲームのアルゴリズム~」は改訂以前のものですが、それほど変わっていないでしょうし)
まあでも、特に「実例で学ぶゲームAIプログラミング」はかなり使えますね。
今作ってるRTSの技術の9割はこの本の流用といっても過言ではないです。
となるとやっぱりGemsなんでしょうけど、
1万越えの本を買うのはやっぱり勇気がいりますね…。
図書カードが欲しいです。本当に。
RE: AIについて考える
Softyaさんの上げた本位外にも、AIGame Programming Wisdomというシリーズが個人的にオススメです:
まだ見たことは無いのですが、F.E.A.RはSDKのソースコードを提供しているので、それも参考になるかも知れません。F.E.A.Rを買う、またはココで落とせます(要登録ですが):
http://forums.aigamedev.com/showthread.php?p=402
まだ見たことは無いのですが、F.E.A.RはSDKのソースコードを提供しているので、それも参考になるかも知れません。F.E.A.Rを買う、またはココで落とせます(要登録ですが):
http://forums.aigamedev.com/showthread.php?p=402
Re: AIについて考える
ありがとうございます~
「AIGame Programming Wisdom」、とてもおもしろそうです^-^
ただ、洋書というのが難ですね。今の私の英語力じゃあしんどいかもしれません。
F.E.A.RのAIコードについては見る価値がありそうです。
加えて、F.E.A.RのAIシステムに関する論文があったので、それも参考になりそうです。
「AIGame Programming Wisdom」、とてもおもしろそうです^-^
ただ、洋書というのが難ですね。今の私の英語力じゃあしんどいかもしれません。
F.E.A.RのAIコードについては見る価値がありそうです。
加えて、F.E.A.RのAIシステムに関する論文があったので、それも参考になりそうです。