第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
© Copyright 2024 ExpyDoc