エージェント・アーキテクチャに基づく キャラクターAIの実装 - IGDA日本

第4回 デジタルコンテンツシンポジウム
エージェント・アーキテクチャに基づく
キャラクターAIの実装
- クロムハウンズのキャラクターAIを例として -
三宅 陽一郎
(株式会社 フロム・ソフトウェア)
[email protected]
2008/6/11
@幕張メッセ
Contact Information
Youichiro Miyake
• Mail:
[email protected]
• Twitter: @miyayou
• Blog:
http://blogai.igda.jp
• LinkedIn: http://www.linkedin.com/in/miyayou
• Facebook: http://www.facebook.com/youichiro.miyake
はじめに
講演者
ゲーム開発者
講演主旨
①クロムハウンズにおいて開発したゲームAI技術を
発表する。
②研究者の皆様に、ディジタルゲームAIの分野の研究分野を紹介し、
研究の端緒として頂く
コンテンツ
第1章 キャラクターAIとは何か?
(5分)
第2章 クロムハウンズにおける自律型エージェント (10
分)
① 個としてのAI
② マルチエージェント
第3章 大学・研究機関におけるゲームAI研究テーマ (1
分)
第1章 キャラクターAIとは何
か?
ゲーム業界でゲームAIと言えば…
ゲームAI
2つのゲームAI
システムAI
ゲームとプレイヤーの
間に立ってゲームシステムを
コントロールするAI
(例) レベル調整
音声解析
プロシージャル
キャラクターAI
NPC(ノン・プレイヤー・キャラクター)
のブレイン
(敵としての囲碁やチェスのボードゲームも含む)
(例) 意思決定
2つのゲームAI
現実世界
ゲーム世界
ゲームシステム
ゲーム内世界
ユーザー
システム
インターフェース AI
キャラクターAI
現実における
における感覚
感覚を
インターフェースによって
によってディジタル
ディジタル世界
世界へ
延長する
現実
における
感覚
をインターフェース
によって
ディジタル
世界
へ延長
する
キャラクターAI技術の歴史
FC
SFC
Hardware
SS, PS
PS2,GC,Xbox
1999 DC
2005
Xbox360, PS3, Wii
(次世代)
次世代)
時間軸
2000
完全制御型
指定した
した場所
場所、
指定
した
場所
、
指定した
した時刻
時刻、
指定
した
時刻
、
指定した
した条件
条件で
指定
した
条件
で動作
ゲームデザイナーの
思い通りに動く操り人形
自律型
次世代ゲーム
(Playstation3,Xbox360,Wii)
① 広大なマップ
② 長いゲーム時間(マップスケールに比
例)
③ 複雑なレベルデザイン
任意の
場所、
任意
の場所
、
任意の
時刻、
任意
の時刻
、
あらゆる条件
条件に
あらゆる
条件
に対応
ゲーム空間内で自ら
時間と
時間と空間を
空間を自由に
自由に支配する
支配する
知能を実現する
「作り込み」から「AI技術・アルゴリズム」を使った複雑・膨大な情報の処理へ
自律型AIの歴史: FPS(欧米)を中心し進化
PS2,GC,Xbox
Xbox360, PS3, Wii
2005
DC
Time
(次世代)
次世代)
2000
エージェント
C4 architecture
アーキテクチャー
(MIT
Media Lab.)
2002
2002
イベント解析&
Halo
FSM
(Bungie Studio)
2004
2004
階層型FSM
Halo2
(Bungie Studio)
2005
2005
ゴール指向型アクション
F.E.A.R.
(Monolithプランニング
Production)
2001
世界表現 &
2001
動的な
Killzone
プロシージャル 戦術
(Guerrilla)
Far cryゴール指向型
Instincts
(Crytek)FSM
日本には、殆どこの型がない
2006
2006
Chromehounds
階層型プランニング
(FromSoftware)
散見していたキャラクターAIにおける
エージェント・アーキテクチャの情報を
整理するところから始める
C4 アーキテクチャ
デジタル空間
デジタル空間で
空間で生きる生物
きる生物の
生物の知性のために
知性のために提案
のために提案された
提案されたアーキテクチャー
されたアーキテクチャー
MIT Media Lab.
Synthetic Characters Group
論文:
論文:
D. Isla, R. Burke, M. Downie, B. Blumberg (2001).,
“A Layered Brain Architecture for Synthetic Creatures”,
http://characters.media.mit.edu/Papers/ijcai01.pdf
(ゲームAI
ゲームAIにおける
AIにおける最重要論文
における最重要論文の
最重要論文の1つ)
生き物の知性をエージェント・アーキテクチャーに写し取る
バーチャルな
バーチャルな空間に
空間に生きる犬
きる犬が実現され
実現され、
され、後にF.E.A.R. のNPCの
NPCのAIに
AIに応用される
応用される。
される。
MIT メディアラボ C4 アーキテクチャ
時間
NPCの知能部分
認識
ツリー
アクションと
対象の選択
PercepMemoryObjects
センサー
ワーキングメモリー
ブラックボード
ゲーム世界
身体
相互作用
時間
モーター
システム
モーション
ゲームにおけるエージェントの特徴
世界もAIも全てディジタル空間内にある
ゲーム世界
感覚を
感覚
を通じて
ゲーム世界
世界の
状態を
ゲーム
世界
の状態
を取得
身体を
身体
を通じて
ゲーム世界
世界と
相互に
ゲーム
世界
と相互
にインタラクション
エージェント・アーキテクチャはゲーム世界で情報の
流れを形成する
NPC
感覚を
感覚を通じて
ゲーム世界
ゲーム世界と
世界と自分の
自分の状態を
状態を取得
身体を
身体を通じて
ゲーム世界
ゲーム世界と
世界と相互に
相互にインタラクション
ゲーム世界
この情報
情報の
の流れの
れの仕掛
仕掛けること
この
情報
仕掛
けること = キャラクターAI
エージェント・アーキテクチャ
時間
NPCの知能部分
時間
認識
過程
意思決定
機構
行動生成
過程
知識モデル
知識モデル化
モデル化
記憶
内部状態
センサー
エフェクター
知覚する
知覚する
行動する
行動する
空間
知識表現・世界表現
(ゲーム世界
ゲーム世界の
世界の特徴を
特徴を抽出した
抽出したデータ
したデータのこと
データのこと)
ゲーム世界
身体
相互作用
時間
人工知能学会誌 Vol. 23 No. 1 (2008 年 1 月 ) 「ゲームAI
ゲームAI特集
AI特集」「
特集」「ディジタルゲーム
」「ディジタルゲームにおける
ディジタルゲームにおける人工知能技術
における人工知能技術の
人工知能技術の応用」(
応用」(三宅
」(三宅)
三宅)
世界表現とは?
AIの属する世界の大局的な情報の知識表現
ポリゴンのモデルが
どうしたの?
!
AIのための
データ
開発内で準備する
世界表現の例 パス検索データ
ポリゴンのモデルが
どうしたの?
検索すれば道がみつかる
地形データ
ウエイポイントデータ
世界表現を
を精緻
精緻にすればするほど
世界表現
にすればするほどAIは賢くなる
世界表現の例
パス検索データ+ウエイポイントの明るさ
ポリゴンのモデルが
どうしたの?
明るい道がみつかる
地形データ
ウエイポイントデータ
ウエイポイントの明るさ
世界表現を
を精緻
精緻にすればするほど
世界表現
にすればするほどAIは賢くなる
世界表現の
世界表現の例 パス検索データ+ウエイポイントの明るさ
+ 東側に対して視線が通らない(見通しが悪い)
ポリゴンのモデルが
どうしたの?
敵が東側から
東側から来
から来るので、
るので、
東側から
東側から見
から見えにくくて暗
えにくくて暗い道を通ろう
+
-
+
+
- -
+
地形データ
ウエイポイントデータ
ウエイポイントの明るさ
東側から見えやすいかどうか(+、ー)
第1章まとめ
リアルタイムなキャラクターAIの現状
(1) キャラクターAIには、欧米のFPSを通して、
アカデミックなAIの知識が導入されつつある。
(日本は遅れている)
(2) エージェント・アーキテクチャが
キャラクターAIのフレームとして導入され始めている。
(3) エージェント・アーキテクチャによる自律型AIは
空間と時間を自由に支配する機能の実現を目指す。
コンテンツ
第1章 キャラクターAIとは何か?
第2章 クロムハウンズにおける自律型エージェント
① 個としてのAI
② マルチエージェント
第3章 大学・研究機関におけるゲームAI研究の仕方
ChromeHounds
内容:オンライン上でロボットチーム対戦
開発元: FromSoftware
出版: SEGA
Hardware: Xbox360
出版年: 2006年
リアルな戦場で、ロボットからなるチーム同士で戦うネットワークゲーム。
オンライン上で、プレイヤーチームと、AIチームとの対戦が可能。
ChromeHounds デモ
ChromeHounds デモ
ChromeHounds NPCの課題
人間の代わりに、
プレイヤーチームと戦う COM のチームを作る。
(マルチエージェント)
プレイヤーチーム(最大6名)
AIチーム(最大6名)
コンテンツ
第1章 キャラクターAIとは何か?
第2章 クロムハウンズにおける自律型エージェント
① 個としてのAI
② マルチエージェント
第3章 大学・研究機関におけるゲームAI研究の仕方
ChromeHounds NPCのAIのアーキテクチャ
時間
NPCの知能部分
時間評価値による
評価値によるゴール
によるゴール選択
ゴール選択
+
認識
階層型ゴール
階層型ゴール指向
ゴール指向
プランニング
過程
反射モード
反射モード
行動生成
過程
記憶
センサー
モーション
空間
知識表現・世界表現
ゲーム世界
身体
相互作用
時間
自律型エージェントの実現
世界表現を用いたスマートなリアルタイム パス検索
×
リアルタイム ゴール指向型プランニング
×
意思決定機構
自律型エージェント 完成
自分で
で計画
計画を
を立て、任意
任意の
場所に
に移動
移動できる
実現する
する
自分
の場所
できるAIを実現
自律型エージェントの実現
世界表現を用いたスマートなリアルタイム パス検索
×
リアルタイム ゴール指向型プランニング
×
意思決定機構
自律型エージェント 完成
自分で
で計画
計画を
を立て、任意
任意の
場所に
に移動
移動できる
実現する
する
自分
の場所
できるAIを実現
Navigation Mesh 法とは?
マップを凸多角形で埋めてキャラクターを移動させる方法
B
手順
(1) マップを障害物を含まない三角形に分割する(データを用意する)
(2) その三角形の情報から、パスを検索する(ゲーム内リアルタイム
リアルタイム)。
リアルタイム
(3) 検索したパスに従って移動する(ゲーム内リアルタイム
リアルタイム)
リアルタイム 。
クロムハウンズにおけるナビゲーションメッ
シュ
(1) 30000 – 80000 メッシュ
(2) 複雑な地形にも対応
(3) メッシュを当りマップデータから自動生成
(4) マルチ分解能
(5) 地形表面の性質(雪、砂など)の情報が埋め込まれたメッシュ
山岳、街、湖など、80に及ぶバリエーションに富んだマップに対し、
単一のデータ形式、アルゴリズムで対応することが出来た(汎用性)。
情報が埋め込まれたナビゲーションメッシュ
クロムハウンズにおける世界表現
(1) 水や砂地は、ハウンズのスピードを減速させるので、
メッシュに表面の性質を埋め込んでおく
最短時間の経路を導く
キャラクターが
キャラクターが地表効果を
地表効果を考慮して
考慮して移動
して移動する
移動する
(2) 障害物が破壊されたら、メッシュのデータを更新する
キャラクターが
キャラクターが状況の
状況の変化に
変化に対応して
対応して移動
して移動する
移動する
Debug_Path02.avi
NavMesh.avi
自律型エージェントの実現
世界表現を用いたスマートなリアルタイム パス検索
×
リアルタイム ゴール指向型プランニング
×
意思決定機構
自律型エージェント 完成
自分で
で計画
計画を
を立て、任意
任意の
場所に
に移動
移動できる
実現する
する
自分
の場所
できるAIを実現
リアルタイム ゴール指向型プランニング
時間を支配する
状況に応じたプランを形成
階層型ゴール
階層型ゴール指向
ゴール指向プランニング
指向プランニングとは
プランニングとは?
とは?
一つのゴールはより小さなゴールから組み立てられる
Goal
Goal
Goal
Goal
ゴールはより小さなゴールから組み立てられる
Goal
Goal
Goal
Goal
Goal
Goal
Goal
Goal
Goal
クロムハウンズにおける
ゴール指向型プランニング
通信塔を
通信塔を
見つける
通信塔
へ行く
パスを
パスを見つける
パスに
パスに沿って
移動する
移動する
通信塔を
占領する
通信塔
を占拠
通信塔の
通信塔の
周囲に
周囲に
10秒間
秒間いる
秒間いる
戦術、
戦術、振る舞い
撃つ
歩く
止まる
操作
ハウンズ
ゴール指向プランニングによって
通信塔を占拠するデモ
Conquer_Combas_TeamAI.avi
左上は階層型プランニングのゴール表示
クロムハウンズ ゴール総合図
状況に
状況に応じて、
じて、戦略を
戦略を選ぶ知能が
知能が必要
ゴールを選択する意思決定機構
選択
戦略層
敵を叩く
通信塔
占拠
味方を 本拠地 敵本拠地
守る
防衛
破壊
味方を
助ける
巡回 敵基地
する
偵察
複数のゴール
戦術層
パスを
たどる
近付く
攻撃
する
ある地点へ
行く
合流
する
巡回
する
逃げる
振る舞い層
2点間を
移動
歩く、一度
止まる、歩く
静止
する
操作層
歩く
撃つ
止まる
後退
する
前進
する
敵側面
へ移動
クロムハウンズ 状況により変動する評価値のイメージ
ゴールを選択する意思決定機構
状況に
状況に応じて、
じて、変動する
変動する評価地
する評価地。
評価地。
その状況
その状況に
状況に応じて適
じて適したものほど高
したものほど高い点数がつくようにする
点数がつくようにする。
がつくようにする。
敵を叩く
通信塔
占拠
味方を 本拠地 敵本拠地
守る
防衛
破壊
複数のゴール
戦略層
味方を
助ける
巡回 敵基地
する
偵察
自律型エージェントの実現
リアルタイム ゴール指向型プランニング
×
リアルタイム パス検索
×
意思決定機構
自律型エージェント 完成
自分で
で計画
計画を
を立て、任意
任意の
場所に
に移動
移動できる
実現した
した!
自分
の場所
できるAIを実現
した!
コンテンツ
第1章 キャラクターAIとは何か?
第2章 クロムハウンズにおける自律型エージェント
① 個としてのAI
② マルチエージェント
第3章 大学・研究機関におけるゲームAI研究の仕方
マルチエージェントへ
マルチエージェント技術
全体としての
新しい知能
各エージェントがそれぞれの機能を果たすことで、
全体として新しい知能を獲得すること。
集団における知性 クロムハウンズ
メンバーの維持
①護衛
②救援
ゴールによる協調
相手チームに対する
状況的優位を築く
③戦闘判断 ④集中砲火
アルゴリズムによる協調
勝利のための
統制された行動
⑤チームAI
チームAIによる協調
クロムハウンズにおけるマルチエージェント技術
① 護衛 一体のエージェントが他のエージェントと移動を共にする。
「護衛する」というゴールを用意する
護衛される対象は戦力が少ないか、
移動速度が遅いハウンドが選ばれやすい
クロムハウンズにおけるマルチエージェント技術
①護衛
クロムハウンズにおけるマルチエージェント技術
CH_protectII
クロムハウンズにおけるマルチエージェント技術
② 救援 一体のエージェントが窮地にある他のエージェントの戦場に
駆けつける。
「救援する」というゴールを用意する
P
P
P
護衛される対象は体力の残りが少ない
ハウンズ
囮に使われる可能性があるので、
あまりに遠かったり、あまりに
体力が少ない場合は、救援に行かない
P
クロムハウンズにおけるマルチエージェント技術
②救援
ALL AI SYSTEM
AIチーム vs AIチーム 戦デモ
CH_ResaueFriend
ALL AI SYSTEM
集団における知性 クロムハウンズ
メンバーの維持
①護衛
②救援
ゴールによる協調
相手チームに対する
状況的優位を築く
③戦闘判断 ④集中砲火
アルゴリズムによる協調
勝利のための
統制された行動
⑤チームAI
チームAIによる協調
クロムハウンズにおけるマルチエージェント技術
③ 戦闘判断 エージェントが周りの敵と味方の戦力を計算して
戦うべきか、逃げるべきかを判断する。 デバッグの
デバッグの過程で
過程で追加
P P
P
本拠地へ
本拠地へ
退却
P
P P
プレイヤーたちの
プレイヤーたちの戦力
たちの戦力 > 1.4 x エージェントたちの
エージェントたちの戦力
たちの戦力
P P
P
戦闘!
戦闘!
プレイヤーたちの
プレイヤーたちの戦力
たちの戦力 < 1.4 x エージェントたちの
エージェントたちの戦力
たちの戦力
戦力比が大きい無駄な戦闘を回避し、常に相手を上回る
戦力を増築してプレイヤーに対抗する
クロムハウンズにおけるマルチエージェント技術
③ 戦闘判断
ALL AI SYSTEM
AIチーム vs AIチーム 戦デモ
CH_goryuu
ALL AI SYSTEM
AIチーム vs AIチーム 戦デモ
クロムハウンズにおけるマルチエージェント技術
④ 集中砲火 複数のエージェントが複数の敵ターゲットに対し
ターゲットを統一する
デバッグの
デバッグの過程で
過程で追加
その場
場で戦力
戦力が
が最も低い敵を集中的
集中的に
に攻撃
攻撃する
する
その
P
P
P
戦闘!
その場で戦力が最も低い敵を集中的に攻撃し
ダメージの分散を防ぐ
クロムハウンズにおけるマルチエージェント技術
④ 集中砲火
ALL AI SYSTEM
AIチーム vs AIチーム 戦デモ
CH_Concentration
ALL AI SYSTEM
AIチーム vs AIチーム 戦デモ
集団における知性 クロムハウンズ
メンバーの維持
①護衛
②救援
ゴールによる協調
相手チームに対する
状況的優位を築く
③戦闘判断 ④集中砲火
アルゴリズムによる協調
勝利のための
統制された行動
⑤チームAI
チームAIによる協調
クロムハウンズにおけるマルチエージェント技術
⑤ 勝利のための
勝利のための統制
のための統制された
統制された行動
された行動
複数のエージェントがゴールを共有する
!
チームAI
チームAI
!
敵基地
!
勝利のために目的を共有する
チームAIの構造
4つの戦略を持ち、ゲーム全体の状況を反映する
評価関数によって、一つの戦略を決定する。
(評価関数による意思決定 = 個体の意志決定と同じ方法)
チームAI
チームAI 意志決定機構
敵殲滅
本拠地
防衛
通信塔
占拠数
で 勝つ
チームとしての
チームとしての戦略
としての戦略
(=勝利条件
(=勝利条件と
勝利条件と同じ)
敵本拠
地破壊
チームAIの構造
4つの戦略を持ち、評価関数によって、一つの戦略を決定する。
(評価関数による意思決定 = 個体の意志決定と同じ方法)
チームAI
チームAI 意志決定機構
敵殲滅
本拠地
防衛
通信塔
占拠数
で 勝つ
本拠地
破壊
敵本拠
地破壊
本拠地
破壊
本拠地
破壊
一つのチーム戦略は、
各機体への命令からなる
チームAIの構造 = ゴール指向型の拡張
COMのゴール指向プランニングの上に、チームAIを積み上げる
チームAI
チームAI 意志決定機構
敵殲滅
本拠地
破壊
COM 1
本拠地
防衛
通信塔
占拠数
で 勝つ
本拠地
破壊
COM 2
プランニング
本拠地
破壊
敵本拠
地破壊
本拠地
破壊
本拠地
破壊
本拠地
破壊
一つのチーム戦略は、
COM 3
各機体への命令からなる
チームAI の意思決定と COMの判断
を比較して、最終的に決定する
チームAI
チームAI 意志決定機構
敵殲滅
本拠地
防衛
通信塔
占拠数
で 勝つ
敵本拠
地破壊
組織としての合理性
本拠地
破壊
COM 2
通信塔
占拠
個としての合理性
チームAI の意思決定と COMの判断
を比較して、最終的に決定する
チームAIとCOMの
チームAI
チームAI 意志決定機構
敵殲滅
本拠地
防衛
通信塔
占拠数
で 勝つ
ゴールの評価値を
比較して高い方を選択する。
敵本拠
地破壊
×
本拠地
破壊
COM 2
実行評価値 :76
通信塔
占拠
実行評価値 :88
チームAI の意思決定と COMの判断
を比較して、最終的に決定する
COMが二つの評価値を
チームAI
チームAI 意志決定機構
敵殲滅
本拠地
防衛
通信塔
占拠数
で 勝つ
比較して高い方を選択する。
敵本拠
地破壊
本拠地
破壊
COM 2
実行評価値 : 64
×
通信塔
占拠
実行評価値 : 53
チームAI の意思決定と COMの判断
を比較して、最終的に決定する
COMが二つの評価値を
チームAI
チームAI 意志決定機構
敵殲滅
本拠地
防衛
通信塔
占拠数
で 勝つ
比較して高い方を選択する。
敵本拠
地破壊
×
本拠地
破壊
COM 2
チームの
判断、
チーム
の判断
、
としての判断
判断を
個としての
判断
を
競合させて
させて知的
知的な
柔軟性を
競合
させて
知的
な柔軟性
を
保持する
保持
する
76
通信塔
占拠
88
チームAIの介入の仕方
前半は
チームAI
AIより
より個
としてのAI
AIの
判断を
優先、
前半
はチーム
AI
より
個としての
AI
の判断
を優先
、
後半は
チームAI
AIの
判断を
優勢にしたい
にしたい。
後半
はチーム
AI
の判断
を優勢
にしたい
。
比較のための
のためのチーム
チームAI
AIゴール
ゴール評価値
ゴール評価値
比較
のための
チーム
AI
ゴール
評価値 = ゴール
評価値 x comp_team
比較のための
AIゴール
ゴール評価値
ゴール評価値
比較
のためのCOM AI
ゴール
評価値 = ゴール
評価値 x comp_idv
COM優勢
優勢
COM、
、チーム競合
チーム競合
チーム優勢
チーム優勢
1.2
1.0
comp_idv
チームAI
AIを
ゲームメーキングを
を行う
チーム
AIを用いてゲームメーキング
いてゲームメーキング
0.0
comp_team
前半
中盤
後半
(5分、或いは、
いは、
戦場で
戦場で一機が
一機が
撃墜されるま
撃墜されるま
で)
(前半終了から
前半終了から5
から5
分)
(中盤終了から
中盤終了から5
から5
分)
クロムハウンズにおけるマルチエージェント技術
⑤ チームAI
チーム
ALL AI SYSTEM
AIチーム vs AIチーム 戦デモ
Protect_CB_TeamAI.avi
ALL AI SYSTEM
集団における知性 クロムハウンズ
メンバーの維持
①護衛
②救援
ゴールによる協調
相手チームに対する
状況的優位を築く
③戦闘判断 ④集中砲火
アルゴリズムによる協調
勝利のための
統制された行動
⑤チームAI
チームAIによる協調
このように、たくさんのアルゴリズムを
重ねて、ゲームAIは完成します。
第2章まとめ
(1) リアルタイム・プランニングは、キャラクターAIに長期
的な行動を実現した。
(2) 世界表現の精緻化することで、AIが地形を認識した
行動を実現した。
(3) ゴール指向をチームAIに拡張し、タスク割り当てによ
るチームAIとしての機能を実現した。
(4) ゴール指向における評価値の変動によって、個とし
てエージェントと組織としての知能を対立させ、局所
とグローバルな判断を競合させた。
(5) ゲームメーキングを行うシステムを実現した。
第3章
大学・研究機関におけるゲームAI研究テーマ
学術的な研究テーマ
大学におけるゲームAI研究の可能性
(1) 世界表現・知識表現
(2) リアルタイムAI
(1) 世界表現・知識表現
ゲームはゲーム毎に様々な知識表現・世界表現を準備する。
マップが拡大するに従い(パス)データの自動生成が、ますます重要になる。
複雑なマップの3D空間のパスデータ自動生成は手付かずの分野
日本のゲーム独自の分野
(海外のゲームではロボットは空を飛ばない)
(2) リアルタイムAI
殆ど完全な情報下におけるリアルタイムAI
(センサーやメカニカルな問題が存在しない)
逆に膨大な情報を1/60(秒内)に処理して行動を決定する
高度な機能の知能かつ効率的なアルゴリズムが求められている
全体のまとめ
(1) これまでゲームAIは、力任せ的な手法がメインで
あった。
(2) 次世代ゲーム開発に入り、人工知能技術の応用
が本格化している。
(3) 学として研究できる新しい分野が幾つかある。
(4) ゲームはゲームAIに対応して作られるため、日本
独自のゲームAIの研究分野がある。
ゲームAIの情報リソース
① 日本のゲーム企業は殆ど、外に技術情報を公開しない。
② 欧米のゲーム企業は競ってGDC(Game Developers
Conference)などで、技術情報を公開する。
(I)参考文献(日本語)
①「世界表現」「プランニング」については、IGDA日本のHPの
「ダウンロード」から、三宅が書いた第1,2、5,6回セミナーの教科書、
CEDEC2006の資料がDLできます。
http://www.igda.jp/
(センサーの実装の仕方、記憶の利用法などを知りたい方は必読)
② ディジタルコンテンツ協会
デジタルコンテンツ制作
デジタルコンテンツ制作の
先端技術応用に関する調査研究報告書
する調査研究報告書(
制作の先端技術応用に
調査研究報告書(第3章)
http://www.dcaj.org/report/2007/ix1_07.html
(PDFファイルがダウンロード出来ます。)
③ 人工知能学会誌 Vol. 23 No. 1 (2008 年 1 月 ) 「ゲームAI特集」
「ディジタルゲームにおける人工知能技術の応用」 (三宅)
日本のゲーム企業は殆ど、外に技術情報を公開しない。
(II)参考文献(英語)
WEB
Mat Buckland
ai-junkie http://www.ai-junkie.com/ai-junkie.html
Craig Raynolds
RAYNOLDS http://www.red3d.com/
リンク集
http://www.red3d.com/cwr/games/
Steven Rabin
GameAI
http://www.gameai.com/
CGF-AI
CGF-AI http://www.cgf-ai.com/
リンク集 http://www.cgf-ai.com/links.html
欧米のゲーム企業は競ってGDCなどで、技術情報を公開する。
(II)参考文献(英語)
書籍
AI Game Programming Wisdom 4
Progrmming Game AI by Example
Game Artificial Intelligence
欧米のゲーム企業は競ってGDCなどで、技術情報を公開する。
ご清聴ありがとうございました。
質疑応答
これ以外に、意見や質問があれば、メイルへ
[email protected]
Programming skills
Class Goal
Programming for goal-oriented
(Design Pattern: Composite structure)
Instance
Class Goal
Class Goal
Condition for clear
Condition for clear
+
Activate()
Process()
Terminate()
+
Activate()
Process()
Terminate()
Activate … initial setting
Process …
behavior in active
Terminate … process for finish this goal
(Function are written by script language)
Condition for clear
+
Activate()
Process()
Terminate()
Class Goal
Condition for clear
+
Activate()
Process()
Terminate()
Instance