第４回 デジタルコンテンツシンポジウム

エージェント・アーキテクチャに基づく
キャラクターＡＩの実装－ クロムハウンズのキャラクターＡＩを例として －三宅 陽一郎（株式会社 フロム・ソフトウェア）

y.m.4160@gmail.com
2008/6/11@幕張メッセContact Information
Youichiro Miyake• Mail：y.m.4160@gmail.com• Twitter: @miyayou• Blog：http://blogai.igda.jp• LinkedIn: http://www.linkedin.com/in/miyayou• Facebook： http://www.facebook.com/youichiro.miyake

はじめに講演者
ゲーム開発者

講演主旨①クロムハウンズにおいて開発したゲームAI技術を発表する。
②研究者の皆様に、ディジタルゲームＡＩの分野の研究分野を紹介し、研究の端緒として頂くコンテンツ
第１章 キャラクターＡＩとは何か？

（５分）

第２章 クロムハウンズにおける自律型エージェント (１０分)① 個としてのＡＩ② マルチエージェント

第３章 大学・研究機関におけるゲームＡＩ研究テーマ (１分)

第１章 キャラクターＡＩとは何か？

ゲーム業界でゲームＡＩと言えば…
ゲームＡＩ

２つのゲームＡＩ

システムＡＩ
ゲームとプレイヤーの間に立ってゲームシステムをコントロールするＡＩ（例） レベル調整
音声解析
プロシージャル

キャラクターＡＩ
ＮＰＣ（ノン・プレイヤー・キャラクター）のブレイン（敵としての囲碁やチェスのボードゲームも含む）（例） 意思決定

２つのゲームＡＩ
現実世界

ゲーム世界
ゲームシステム
ゲーム内世界ユーザーシステム
インターフェース ＡＩ

キャラクターＡＩ

現実におけるにおける感覚感覚をインターフェースによってによってディジタルディジタル世界世界へ延長する
現実における感覚をインターフェースによってディジタル世界へ延長するキャラクターＡＩ技術の歴史
FC

SFC

Hardware

SS, PS

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

時間軸

2000

完全制御型
指定した
した場所
場所、指定
した場所
、指定した
した時刻
時刻、指定
した
時刻
、指定した
した条件
条件で指定した条件で動作ゲームデザイナーの思い通りに動く操り人形

自律型
次世代ゲーム（Playstation3,Xbox360,Wii）① 広大なマップ② 長いゲーム時間（マップスケールに比例）③ 複雑なレベルデザイン

任意の場所、任意の場所、任意の時刻、任意の時刻、
あらゆる条件
条件にあらゆる条件に対応
ゲーム空間内で自ら時間と時間と空間を空間を自由に自由に支配する
支配する知能を実現する「作り込み」から「ＡＩ技術・アルゴリズム」を使った複雑・膨大な情報の処理へ自律型ＡＩの歴史: FPS（欧米）を中心し進化
PS2,GC,XboxXbox360, PS3, Wii

2005

DCTime

（次世代）
次世代）

2000
エージェントC4 architecture
アーキテクチャー(MITMedia Lab.)

2002
2002
イベント解析＆Halo
ＦＳＭ(Bungie Studio)

2004
2004

階層型ＦＳＭ
Halo2(Bungie Studio)

2005
2005
ゴール指向型アクション

F.E.A.R.
(MonolithプランニングProduction)

2001
世界表現 &2001

動的なKillzone
プロシージャル 戦術(Guerrilla)

Far cryゴール指向型
Instincts(Crytek)ＦＳＭ

日本には、殆どこの型がない

2006
2006

Chromehounds
階層型プランニング(FromSoftware)散見していたキャラクターＡＩにおけるエージェント・アーキテクチャの情報を整理するところから始める

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（ゲームＡＩ
ゲームＡＩにおけるＡＩにおける最重要論文における最重要論文の最重要論文の１つ）

生き物の知性をエージェント・アーキテクチャーに写し取る
バーチャルなバーチャルな空間に空間に生きる犬
きる犬が実現され実現され、され、後にF.E.A.R. のＮＰＣのＮＰＣのＡＩにＡＩに応用される応用される。
される。

MIT メディアラボ C4 アーキテクチャ

時間

ＮＰＣの知能部分
認識ツリー

アクションと対象の選択

PercepMemoryObjects

センサー

ワーキングメモリーブラックボード

ゲーム世界

身体
相互作用

時間

モーターシステムモーションゲームにおけるエージェントの特徴
世界もＡＩも全てディジタル空間内にある

ゲーム世界

感覚を感覚
を通じてゲーム世界
世界の状態をゲーム
世界の状態を取得

身体を身体を通じてゲーム世界
世界と相互にゲーム
世界と相互にインタラクション

エージェント・アーキテクチャはゲーム世界で情報の流れを形成する
ＮＰＣ

感覚を感覚を通じてゲーム世界
ゲーム世界と世界と自分の自分の状態を状態を取得

身体を身体を通じてゲーム世界
ゲーム世界と世界と相互に相互にインタラクション

ゲーム世界

この情報
情報のの流れのれの仕掛
仕掛けること
この
情報仕掛けること ＝ キャラクターAIエージェント・アーキテクチャ時間

ＮＰＣの知能部分時間
認識過程

意思決定機構

行動生成
過程

知識モデル
知識モデル化
モデル化

記憶
内部状態

センサー

エフェクター

知覚する
知覚する

行動する
行動する

空間
知識表現・世界表現(ゲーム世界ゲーム世界の世界の特徴を特徴を抽出した抽出したデータしたデータのことデータのこと)

ゲーム世界

身体相互作用時間
人工知能学会誌 Vol. 23 No. 1 (2008 年 1 月 ) 「ゲームＡＩ
ゲームＡＩ特集
ＡＩ特集」「特集」「ディジタルゲーム」「ディジタルゲームにおけるディジタルゲームにおける人工知能技術における人工知能技術の人工知能技術の応用」（応用」（三宅」（三宅）三宅）世界表現とは？
ＡＩの属する世界の大局的な情報の知識表現ポリゴンのモデルがどうしたの？

！

ＡＩのためのデータ開発内で準備する

世界表現の例 パス検索データ
ポリゴンのモデルがどうしたの？

検索すれば道がみつかる

地形データ

ウエイポイントデータ

世界表現をを精緻精緻にすればするほど世界表現にすればするほどAIは賢くなる世界表現の例
パス検索データ＋ウエイポイントの明るさポリゴンのモデルがどうしたの？

明るい道がみつかる

地形データ

ウエイポイントデータ
ウエイポイントの明るさ

世界表現をを精緻精緻にすればするほど世界表現にすればするほどAIは賢くなる世界表現の世界表現の例 パス検索データ＋ウエイポイントの明るさ＋ 東側に対して視線が通らない（見通しが悪い）ポリゴンのモデルがどうしたの？

敵が東側から東側から来から来るので、るので、東側から東側から見から見えにくくて暗えにくくて暗い道を通ろう＋-＋＋- -＋

地形データ

ウエイポイントデータ
ウエイポイントの明るさ
東側から見えやすいかどうか（＋、ー）第１章まとめ
リアルタイムなキャラクターAIの現状(1) キャラクターAIには、欧米のFPSを通して、アカデミックなAIの知識が導入されつつある。
(日本は遅れている)(2) エージェント・アーキテクチャがキャラクターAIのフレームとして導入され始めている。
(3) エージェント・アーキテクチャによる自律型AIは空間と時間を自由に支配する機能の実現を目指す。

コンテンツ
第１章 キャラクターＡＩとは何か？
第２章 クロムハウンズにおける自律型エージェント① 個としてのＡＩ② マルチエージェント

第３章 大学・研究機関におけるゲームＡＩ研究の仕方

ChromeHounds

内容：オンライン上でロボットチーム対戦
開発元： FromSoftware
出版: SEGA
Hardware: Xbox360
出版年： ２００６年
リアルな戦場で、ロボットからなるチーム同士で戦うネットワークゲーム。
オンライン上で、プレイヤーチームと、ＡＩチームとの対戦が可能。

ChromeHounds デモ

ChromeHounds デモ

ChromeHounds NPCの課題
人間の代わりに、プレイヤーチームと戦う COM のチームを作る。
（マルチエージェント）

プレイヤーチーム（最大６名）

ＡＩチーム（最大６名）

コンテンツ
第１章 キャラクターＡＩとは何か？
第２章 クロムハウンズにおける自律型エージェント① 個としてのＡＩ② マルチエージェント

第３章 大学・研究機関におけるゲームＡＩ研究の仕方

ChromeHounds NPCのＡＩのアーキテクチャ
時間

ＮＰＣの知能部分
時間評価値による評価値によるゴール
によるゴール選択
ゴール選択＋認識
階層型ゴール
階層型ゴール指向
ゴール指向プランニング
過程
反射モード
反射モード

行動生成
過程

記憶

センサー

モーション

空間
知識表現・世界表現
ゲーム世界

身体相互作用時間

自律型エージェントの実現
世界表現を用いたスマートなリアルタイム パス検索×
リアルタイム ゴール指向型プランニング×
意思決定機構自律型エージェント 完成

自分でで計画計画をを立て、任意任意の場所にに移動移動できる実現するする
自分の場所できるAIを実現

自律型エージェントの実現
世界表現を用いたスマートなリアルタイム パス検索×
リアルタイム ゴール指向型プランニング×
意思決定機構自律型エージェント 完成

自分でで計画計画をを立て、任意任意の場所にに移動移動できる実現するする
自分の場所できるAIを実現

Navigation Mesh 法とは？
マップを凸多角形で埋めてキャラクターを移動させる方法
B

手順（１） マップを障害物を含まない三角形に分割する（データを用意する）（２） その三角形の情報から、パスを検索する（ゲーム内リアルタイムリアルタイム）。
リアルタイム（３） 検索したパスに従って移動する（ゲーム内リアルタイム
リアルタイム）リアルタイム 。

クロムハウンズにおけるナビゲーションメッシュ(1) 30000 – 80000 メッシュ
(2) 複雑な地形にも対応(3) メッシュを当りマップデータから自動生成(4) マルチ分解能(5) 地形表面の性質（雪、砂など）の情報が埋め込まれたメッシュ

山岳、街、湖など、８０に及ぶバリエーションに富んだマップに対し、単一のデータ形式、アルゴリズムで対応することが出来た（汎用性）。

情報が埋め込まれたナビゲーションメッシュ
クロムハウンズにおける世界表現（１） 水や砂地は、ハウンズのスピードを減速させるので、メッシュに表面の性質を埋め込んでおく
最短時間の経路を導く
キャラクターがキャラクターが地表効果を地表効果を考慮して考慮して移動して移動する
移動する（２） 障害物が破壊されたら、メッシュのデータを更新する

キャラクターがキャラクターが状況の状況の変化に変化に対応して対応して移動して移動する移動するDebug_Path02.avi

NavMesh.avi

自律型エージェントの実現
世界表現を用いたスマートなリアルタイム パス検索×
リアルタイム ゴール指向型プランニング×
意思決定機構自律型エージェント 完成

自分でで計画計画をを立て、任意任意の場所にに移動移動できる実現するする
自分の場所できるAIを実現リアルタイム ゴール指向型プランニング

時間を支配する
状況に応じたプランを形成

階層型ゴール
階層型ゴール指向
ゴール指向プランニング
指向プランニングとはプランニングとは？とは？

一つのゴールはより小さなゴールから組み立てられる
Goal

Goal

Goal

Goal

ゴールはより小さなゴールから組み立てられる
Goal

Goal

Goal

Goal

Goal

Goal

Goal

Goal

Goal

クロムハウンズにおけるゴール指向型プランニング
通信塔を通信塔を見つける
通信塔へ行く

パスをパスを見つける
パスにパスに沿って移動する
移動する

通信塔を占領する通信塔を占拠通信塔の通信塔の周囲に周囲に１0秒間秒間いる
秒間いる戦術、戦術、振る舞い撃つ
歩く
止まる

操作

ハウンズ

ゴール指向プランニングによって通信塔を占拠するデモ

Conquer_Combas_TeamAI.avi

左上は階層型プランニングのゴール表示

クロムハウンズ ゴール総合図
状況に状況に応じて、じて、戦略を戦略を選ぶ知能が知能が必要

ゴールを選択する意思決定機構
選択

戦略層
敵を叩く

通信塔
占拠

味方を 本拠地 敵本拠地
守る
防衛
破壊

味方を助ける

巡回 敵基地する
偵察

複数のゴール

戦術層
パスをたどる

近付く

攻撃
する

ある地点へ行く

合流
する

巡回する

逃げる

振る舞い層
２点間を移動歩く、一度止まる、歩く静止
する

操作層

歩く

撃つ

止まる

後退する

前進
する

敵側面
へ移動

クロムハウンズ 状況により変動する評価値のイメージ
ゴールを選択する意思決定機構
状況に状況に応じて、じて、変動する変動する評価地する評価地。
評価地。
その状況その状況に状況に応じて適じて適したものほど高したものほど高い点数がつくようにする
点数がつくようにする。
がつくようにする。

敵を叩く

通信塔
占拠

味方を 本拠地 敵本拠地守る
防衛
破壊

複数のゴール
戦略層

味方を助ける

巡回 敵基地する
偵察自律型エージェントの実現
リアルタイム ゴール指向型プランニング×
リアルタイム パス検索
×
意思決定機構自律型エージェント 完成

自分でで計画計画をを立て、任意任意の場所にに移動移動できる実現した
した！
自分の場所できるAIを実現した！

コンテンツ
第１章 キャラクターＡＩとは何か？
第２章 クロムハウンズにおける自律型エージェント① 個としてのＡＩ② マルチエージェント

第３章 大学・研究機関におけるゲームＡＩ研究の仕方マルチエージェントへマルチエージェント技術

全体としての新しい知能

各エージェントがそれぞれの機能を果たすことで、全体として新しい知能を獲得すること。

集団における知性 クロムハウンズ
メンバーの維持①護衛②救援

ゴールによる協調
相手チームに対する状況的優位を築く③戦闘判断 ④集中砲火
アルゴリズムによる協調
勝利のための統制された行動⑤チームＡＩ
チームＡＩによる協調

クロムハウンズにおけるマルチエージェント技術① 護衛 一体のエージェントが他のエージェントと移動を共にする。

「護衛する」というゴールを用意する
護衛される対象は戦力が少ないか、移動速度が遅いハウンドが選ばれやすいクロムハウンズにおけるマルチエージェント技術①護衛

クロムハウンズにおけるマルチエージェント技術
CH_protectIIクロムハウンズにおけるマルチエージェント技術② 救援 一体のエージェントが窮地にある他のエージェントの戦場に駆けつける。
「救援する」というゴールを用意する

PPP

護衛される対象は体力の残りが少ないハウンズ囮に使われる可能性があるので、あまりに遠かったり、あまりに体力が少ない場合は、救援に行かないPクロムハウンズにおけるマルチエージェント技術②救援

ALL AI SYSTEM

ＡＩチーム vs AIチーム 戦デモ

CH_ResaueFriend

ALL AI SYSTEM

集団における知性 クロムハウンズ
メンバーの維持①護衛②救援

ゴールによる協調
相手チームに対する状況的優位を築く③戦闘判断 ④集中砲火
アルゴリズムによる協調
勝利のための統制された行動⑤チームＡＩ
チームＡＩによる協調

クロムハウンズにおけるマルチエージェント技術③ 戦闘判断 エージェントが周りの敵と味方の戦力を計算して戦うべきか、逃げるべきかを判断する。 デバッグのデバッグの過程で過程で追加
P P
P

本拠地へ
本拠地へ
退却

PP P

プレイヤーたちのプレイヤーたちの戦力
たちの戦力 ＞ １．４ ｘ エージェントたちのエージェントたちの戦力たちの戦力

P PP

戦闘！
戦闘！

プレイヤーたちのプレイヤーたちの戦力たちの戦力 < １．４ ｘ エージェントたちのエージェントたちの戦力たちの戦力戦力比が大きい無駄な戦闘を回避し、常に相手を上回る戦力を増築してプレイヤーに対抗する

クロムハウンズにおけるマルチエージェント技術③ 戦闘判断ALL AI SYSTEM

ＡＩチーム vs AIチーム 戦デモ

CH_goryuu

ALL AI SYSTEM

ＡＩチーム vs AIチーム 戦デモクロムハウンズにおけるマルチエージェント技術④ 集中砲火 複数のエージェントが複数の敵ターゲットに対しターゲットを統一する
デバッグのデバッグの過程で過程で追加

その場場で戦力戦力がが最も低い敵を集中的集中的にに攻撃攻撃する
する
そのP
PP

戦闘！

その場で戦力が最も低い敵を集中的に攻撃しダメージの分散を防ぐ

クロムハウンズにおけるマルチエージェント技術④ 集中砲火ALL AI SYSTEM

ＡＩチーム vs AIチーム 戦デモ

CH_Concentration

ALL AI SYSTEM

ＡＩチーム vs AIチーム 戦デモ集団における知性 クロムハウンズ
メンバーの維持①護衛②救援

ゴールによる協調
相手チームに対する状況的優位を築く③戦闘判断 ④集中砲火
アルゴリズムによる協調
勝利のための統制された行動⑤チームＡＩ
チームＡＩによる協調

クロムハウンズにおけるマルチエージェント技術⑤ 勝利のための勝利のための統制のための統制された
統制された行動
された行動
複数のエージェントがゴールを共有する

！

チームAI
チームAI！
敵基地！

勝利のために目的を共有する

チームAIの構造
４つの戦略を持ち、ゲーム全体の状況を反映する評価関数によって、一つの戦略を決定する。
(評価関数による意思決定 = 個体の意志決定と同じ方法)
チームAI
チームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数
で 勝つ

チームとしてのチームとしての戦略としての戦略（＝勝利条件（＝勝利条件と勝利条件と同じ）

敵本拠
地破壊

チームAIの構造
４つの戦略を持ち、評価関数によって、一つの戦略を決定する。
(評価関数による意思決定 = 個体の意志決定と同じ方法)
チーム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

実行評価値 :７６
通信塔
占拠

実行評価値 ：８８

チームAI の意思決定と COMの判断を比較して、最終的に決定する
COMが二つの評価値をチームAI
チームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数で 勝つ比較して高い方を選択する。

敵本拠地破壊

本拠地
破壊

COM 2

実行評価値 : ６４

×
通信塔
占拠

実行評価値 : ５３

チームAI の意思決定と COMの判断を比較して、最終的に決定する
COMが二つの評価値をチームAI
チームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数で 勝つ比較して高い方を選択する。

敵本拠地破壊

×
本拠地
破壊

COM 2

チームの判断、チームの判断、としての判断判断を個としての判断を競合させてさせて知的知的な柔軟性を競合させて知的な柔軟性を保持する
保持
する

７６
通信塔
占拠

８８

チームＡＩの介入の仕方
前半はチームＡＩ
ＡＩよりより個としてのＡＩ
ＡＩの判断を優先、前半
はチームＡＩより個としてのＡＩの判断を優先、後半はチームＡＩ
ＡＩの判断を優勢にしたいにしたい。
後半はチームＡＩの判断を優勢にしたい。
比較のためののためのチーム
チームＡＩ
ＡＩゴール
ゴール評価値
ゴール評価値
比較のための
チーム
ＡＩ
ゴール
評価値 ＝ ゴール
評価値 ｘ comp_team
比較のための
ＡＩゴール
ゴール評価値
ゴール評価値
比較のためのCOM ＡＩ
ゴール
評価値 ＝ ゴール
評価値 ｘ comp_idv
COM優勢
優勢

COM、、チーム競合
チーム競合

チーム優勢
チーム優勢

1.2
1.0
comp_idv

チームＡＩ
ＡＩをゲームメーキングをを行う
チーム
ＡＩを用いてゲームメーキング
いてゲームメーキング
0.0

comp_team

前半

中盤

後半

（５分、或いは、いは、戦場で戦場で一機が一機が撃墜されるま撃墜されるまで）（前半終了から前半終了から５から５分）（中盤終了から中盤終了から５から５分）

クロムハウンズにおけるマルチエージェント技術⑤ チームAIチーム

ALL AI SYSTEM

ＡＩチーム vs AIチーム 戦デモProtect_CB_TeamAI.avi

ALL AI SYSTEM

集団における知性 クロムハウンズ
メンバーの維持①護衛②救援

ゴールによる協調
相手チームに対する状況的優位を築く③戦闘判断 ④集中砲火
アルゴリズムによる協調
勝利のための統制された行動⑤チームＡＩ
チームＡＩによる協調このように、たくさんのアルゴリズムを重ねて、ゲームＡＩは完成します。

第２章まとめ(1) リアルタイム・プランニングは、キャラクターAIに長期的な行動を実現した。
(2) 世界表現の精緻化することで、AIが地形を認識した行動を実現した。
(3) ゴール指向をチームAIに拡張し、タスク割り当てによるチームAIとしての機能を実現した。
(4) ゴール指向における評価値の変動によって、個としてエージェントと組織としての知能を対立させ、局所とグローバルな判断を競合させた。
(5) ゲームメーキングを行うシステムを実現した。

第３章
大学・研究機関におけるゲームＡＩ研究テーマ

学術的な研究テーマ
大学におけるゲームＡＩ研究の可能性(1) 世界表現・知識表現(2) リアルタイムＡＩ(1) 世界表現・知識表現
ゲームはゲーム毎に様々な知識表現・世界表現を準備する。
マップが拡大するに従い（パス）データの自動生成が、ますます重要になる。

複雑なマップの３Ｄ空間のパスデータ自動生成は手付かずの分野

日本のゲーム独自の分野（海外のゲームではロボットは空を飛ばない）

(2) リアルタイムＡＩ
殆ど完全な情報下におけるリアルタイムＡＩ（センサーやメカニカルな問題が存在しない）

逆に膨大な情報を１/60（秒内）に処理して行動を決定する
高度な機能の知能かつ効率的なアルゴリズムが求められている

全体のまとめ(1) これまでゲームＡＩは、力任せ的な手法がメインであった。
(2) 次世代ゲーム開発に入り、人工知能技術の応用が本格化している。
(3) 学として研究できる新しい分野が幾つかある。
(4) ゲームはゲームＡＩに対応して作られるため、日本独自のゲームＡＩの研究分野がある。

ゲームＡＩの情報リソース① 日本のゲーム企業は殆ど、外に技術情報を公開しない。
② 欧米のゲーム企業は競ってＧＤＣ(Game DevelopersConference)などで、技術情報を公開する。

(I)参考文献（日本語）①「世界表現」「プランニング」については、ＩＧＤＡ日本のＨＰの「ダウンロード」から、三宅が書いた第１，２、５，６回セミナーの教科書、ＣＥＤＥＣ２００６の資料がＤＬできます。
http://www.igda.jp/（センサーの実装の仕方、記憶の利用法などを知りたい方は必読）② ディジタルコンテンツ協会
デジタルコンテンツ制作
デジタルコンテンツ制作の先端技術応用に関する調査研究報告書する調査研究報告書（制作の先端技術応用に調査研究報告書（第３章）
http://www.dcaj.org/report/2007/ix1_07.html(PDFファイルがダウンロード出来ます。)③ 人工知能学会誌 Vol. 23 No. 1 (2008 年 1 月 ) 「ゲームＡＩ特集」「ディジタルゲームにおける人工知能技術の応用」 （三宅）日本のゲーム企業は殆ど、外に技術情報を公開しない。

(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-AICGF-AI http://www.cgf-ai.com/
リンク集 http://www.cgf-ai.com/links.html
欧米のゲーム企業は競ってＧＤＣなどで、技術情報を公開する。

(II)参考文献（英語）
書籍

AI Game Programming Wisdom 4

Progrmming Game AI by Example

Game Artificial Intelligence

欧米のゲーム企業は競ってＧＤＣなどで、技術情報を公開する。

ご清聴ありがとうございました。

質疑応答

これ以外に、意見や質問があれば、メイルへ
y.m.4160@gmail.com

Programming skills

Class Goal

Programming for goal-oriented（Design Pattern: Composite structure）
InstanceClass GoalClass 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