27. 参考
CreatureSmarts: The Art and Architecture of a Virtual Brain, R. Burke, D.
Isla, M. Downie, Y. Ivanov, B. Blumberg, GDC 2001 [pdf]
http://www.naimadgames.com/publications/gdc01/gdc01.pdf
31. Global Workspace Theory (GWT)
注意の焦点
Focus of Attention
(スポットライト)
舞台裏の人々=ディレクター、シーンデザイナー、など。
コンテキストの生成とコントロール(舞台裏)
ワーキングメモリ
(Scene,Stage)
専門
プロセッサー
(観客)
ブロードキャスト
テンポラリー
な連携
Arrabales, R. Ledezma, A. and Sanchis, A. “Towards the Generation of Visual Qualia in Artificial Cognitive Architectures”. (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
32. Global Workspace Theory (GWT)
注意の焦点=意識
Focus of Attention
ワーキングメモリ
(ステージ)
KS群 テンポラリー
な連携
Arrabales, R. Ledezma, A. and Sanchis, A. “Towards the Generation of Visual Qualia in Artificial Cognitive Architectures”. (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
(スポットライト)
書き込み
39. Object Persistence for Synthetic Creatures, D. Isla, B. Blumberg, Autonomous
Agents and Multi-agent Systems (AAMAS) 2002.
http://www.naimadgames.com/publications/aamas02/aamas02.pdf
引用
46. 参考
CreatureSmarts: The Art and Architecture of a Virtual Brain, R. Burke, D.
Isla, M. Downie, Y. Ivanov, B. Blumberg, GDC 2001 [pdf]
http://www.naimadgames.com/publications/gdc01/gdc01.pdf
出現予測時刻を推定壁など遮蔽物
対象(羊)の
速度、時刻を記憶
47. 参考
CreatureSmarts: The Art and Architecture of a Virtual Brain, R. Burke, D.
Isla, M. Downie, Y. Ivanov, B. Blumberg, GDC 2001 [pdf]
http://www.naimadgames.com/publications/gdc01/gdc01.pdf
出現予測時刻を推定壁など遮蔽物
対象(羊)の
速度、時刻を記憶
59. 評判システム
Group Reputation
Farmers Neural
Lawmen Hate
Bandits Like
Player Hate
Townspeople Neural
Memory Element
1
2
3
5
Master Event List
1. Bandit Killed Farmer
2. Player Aided Lawmen
3. Player Killed Bandit
4. Player TradedWith Townsperson
5. […]
Bandit
この盗賊(Bandit)は、Player が味方(Bandit)を殺し、
敵である保安官(Lawmen)を助けたことを聞いて、Player を嫌っている。
NPCごとの記憶
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
引用
60. 評判システム
T
Memory Element
1
2
3
5
Master Event List
1. Bandit Killed Farmer
2. Player Aided Lawmen
3. Player Killed Bandit
4. Player TradedWith Townsperson
5. […]
Bandit
この盗賊(Bandit)は、Player が味方(Bandit)を殺し、
敵である保安官(Lawmen)を助けたことを聞いて、Player を嫌っている。
NPCごとの記憶
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
引用
62. (NPC Aが Joe に出会ったときには、Joe は既に死んでいた)
Joe was Killed by unknown group
(Joe が Lawmen に撃たれているのを目撃)
Joe was shot by lawmen group
Joe was killed by lawmen group
不完全な情報から
情報を再構築
思い込みかも…でも、それでいい。
人間とはそういうものじゃないか…(という開発方針)
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC
NPC
NPC
NPC
参考
66. Master Event List 参照回数
1. Bandit Killed Farmer 4
2. Player Aided Lawmen 1
3. Player Killed Bandit 11
4.
5.
Subject Group Player
Verb DidViolenceTo
Object Group Bandit
Object Individual Joe
Magnitude 75(Killed)
Where 50,20,128(In front of saloon)
When High noon
Template KilledBanditTemplate
ReferenceCount Known by 11 NPCs
Reputation Effects Bandits hate player more
Lawmen like player more
Farmers like player more
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
引用
67. 評判システム(情報交換)
メモリーマッチング
NPCごとの記憶
Memory Element 信頼度 取得時刻
1 43 0:13:43
3 76 1:4:53
7 63 1:7:45
11 12 1:24:54
12 52 2:6:55
NPCごとの記憶
Memory Element 信頼度 取得時刻
2 43 0:15:13
4 87 0:46:3
7 12 2:17:56
15 53 2:14:45
71 84 3:56:15
同じイベントに対する情報がある場合は、信頼度の高い方の情報に上書き
同じ対象(例えばJoe)に対する情報がある場合は、新しい情報に上書き
上書きするイベント → Master Event List の参照回数+1
消去されるイベント → Master Event List の参照回数-1
(Master Event List で参照回数が0になればリストから消去)
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC NPC
参考
68. メモリーマッチング
NPCごとの記憶
Memory Element 信頼度 取得時刻
1 43 0:13:43
3 76 1:4:53
7 63 1:7:45
11 12 1:24:54
12 52 2:6:55
NPCごとの記憶
Memory Element 信頼度 取得時刻
2 43 0:15:13
4 87 0:46:3
7 12 2:17:56
15 53 2:14:45
71 84 3:56:15
同じイベントに対する情報がある場合は、信頼度の高い方の情報に上書き
同じ対象(例えばJoe)に対する情報がある場合は、新しい情報に上書き
上書きするイベント → Master Event List の参照回数+1
消去されるイベント → Master Event List の参照回数-1
(Master Event List で参照回数が0になればリストから消去)
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC NPC
114. • kSymbol_AtNode どのノードにいるか?
• kSymbol_WeaponArmed 武器を持っているか?
• kSymbol_TargetIsSuppressed 威嚇されているか?
• kSymobol_TargetIsAimingAtMe 自分を狙っているか?
• kSymbol_AtNodeType どのタイプのノードにいるか?
• kSymbol_UsingObject オブジェクトを使っているか?
• kSymbol_WeaponLoaded 武器は装填されているか?
• kSymbol_RidingVehicle 車に乗っているか?
• kSymbol_TargerIsDead 戦闘不能か?
• … …
Jeff Orkin, “3 States and a Plan: The AI of F.E.A.R.",
http://web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.zip
参考
115. Preparation for Planning
ゲーム世界のシンボル表現
Let’s represent the world AI recognize more simple.
Agent-centric Representation
kSymbol_AtNode
kSymbol_TargetIs
AimingAtMe
kSymbol_
WeaponArmed
kSymbol_
WeaponLoaded
kSymbol_Target
IsSuppressed
kSymbol_
UsingObject
kSymbol_
TargetIsDead
kSymbol_
RidingVehicle
kSymbol_AtNodeType
The World is represented by only 20 symbols .
Jeff Orkin, “3 States and a Plan: The AI of F.E.A.R.",
http://web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.zip
参考
154. いろいろな世界表現
ナビメッシュ-ウェイポイント
階層表現
LOS マップ表現
マップクラスタリング表現
敵配位マップ表現 テリトリー表現
戦術ポイント表現
Halo2Killzone
Killzone2Halo Assassin’s Creed
Left 4 Dead
前線
中継
後衛
Alex J. Champandard, Remco Straatman, Tim Verweij, "On the AI Strategy for KILLZONE 2's Bots”
http://aigamedev.com/open/coverage/killzone2/
Damian Isla,"Building a Better Battle: HALO 3 AI Objectives",
http://halo.bungie.net/inside/publications.aspx
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment
Conference , http://www.valvesoftware.com/company/publications.html
159. A*法
F
L
B
A
S
O
P
D
C
N
M
V
H
Q
X
K
J
R
T
W
E
I
U
Z
Y
G
54
6 3
7 23
B C
3
3
2 24 3
5
5
出発点(S)を中心に、そのノードまでの
最も短い経路を形成して行く。ゴール(G)にたどり着いたら終了。
ゴール地点がわかっている場合、現在のノードとゴールとの推定距離(ヒューリスティック距離)
を想定して、トータル距離を取り、それが最少のノードを探索して行く。
各ノードの評価距離=出発点からの経路+ヒューリスティック距離
ヒューリスティック距離
(普通ユークリッド距離を取る)
3+14.2 3+13.8
N H3
5+10.5 6+8.4
S
160. Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Order
Push
forward
Order
Push
forward
If Killed X
enemies
If X dead
Order
fallback
161. Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Order
Push
forward
Order
Push
forward
If Killed X
enemies
If X dead
Order
fallback
まずマップを大きくテリトリーに分けます。テリトリーは戦術ポイント(キャラクターが立つべき位置)
を持っています。キャラクターは状況が変わると、テリトリーを移動し、テリトリー内の適切な場所に
立ちます。
162. Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Order
Push
forward
Order
Push
forward
If Killed X
enemies
If X dead
Order
fallback
次にそれぞれの領域にビヘイビア・ツリーを割り当てる。
これが、その領域でAIが取る意思決定システムとなります。
163. Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Order
fallback
GENERAL –
root
null
null_discrete
obey
guard
follow_behavior
ready
smash_obstacle
destroy_obstalce
cover_friend
blind_panic
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
Style Behavior Control
164. Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Order
Push
forward
Order
Push
forward
If Killed X
enemies
If X dead Order
fallback
GENERAL –
root
null
null_discrete
obey
guard
follow_behavior
ready
smash_obstacle
destroy_obstalce
cover_friend
blind_panic
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
Style Behavior Control
ェックボックスのツールで
ビヘイビアツリーをカスタマイズする。
前線では攻撃的なビヘイビアを✓して入れておき、
、守備的なビヘイビアを✓して入れておきます)
の領域に割り当てられたビヘイビアツリーを
と言う。
165. Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Order
Push
forward
Order
Push
forward
If Killed X
enemies
If X dead
Order
fallback
次にそれぞれの領域から領域の遷移条件を定義する。
つまり、これは「領域」をステートとするステートマシンとなる。
201. 敵出現領域
背後 前方
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html引用
204. メタAIが作用を行う領域
(AAS=Active Area Set)
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
引用
205. Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
参考
206. メタAI(=AI Director)によるユーザーのリラックス度に応じた敵出現度
ユーザーの緊張度
実際の敵出現数
計算によって
求められた
理想的な敵出現数
(1) リラックスを破るように敵を出現させる。
Build Up …プレイヤーの緊張度が目標値を超えるまで
敵を出現させ続ける。
Sustain Peak … 緊張度のピークを3-5秒維持するために、
敵の数を維持する。
Peak Fade … 敵の数を最小限へ減少して行く。
Relax … プレイヤーたちが安全な領域へ行くまで、30-45秒間、
敵の出現を最小限に維持する。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html引用
229. S O
O’S’
O’’S’’
R
R
R
R
Sequence of Self
(自己の序列)
自己はそれぞれのレイヤー
の主体の集合となる
対象は対象イメージ
の積み重ねとなる
Vector to move
Vector to enter
対象イメージ
主体
行為: f’
感覚: p’
行為: f
感覚: p’
それぞれの知能の層
環世界
行為: f’’
感覚: p’’
自己
対象
イメージ
Sequence of
Object Image
(対象イメージ
の序列)
オリジナル(画像は引用なの差し替え)
230. S O
O’S’
O’’S’’
R
R
R
R
Sequence of Self
(自己の序列)
自己はそれぞれのレイヤー
の主体の集合となる
対象は対象イメージ
の積み重ねとなる
対象イメージ
主体
行為: f’
感覚: p’
行為: f
感覚: p’
それぞれの知能の層
環世界
行為: f’’
感覚: p’’
自己
対象
イメージ
Sequence of
Object Image
(対象イメージ
の序列)
オリジナル(画像は引用なの差し替え)
249. Ralf Herbrich:“Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products”, Microsoft, The Student
Technology Day, 2008https://www.microsoft.com/en-us/research/project/video-games-and-artificial-intelligence/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2F
参考
250. Ralf Herbrich:“Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products”, Microsoft, The Student
Technology Day, 2008https://www.microsoft.com/en-us/research/project/video-games-and-artificial-intelligence/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2F
参考
257. Dave C. Pottinger:“Terrain Analysis in Realtime Strategy Games”, Game Developers Conference 2000, 2000
http://www.gamasutra.com/gdcarchive/2000/pottinger.doc参考
258. Colt McAnlis: HALO WARS: The Terrain of Next-Gen
https://www.gdcvault.com/play/1277/HALO-WARS-The-Terrain-of参考
260. Halldor Fannar:“The Server Technology of EVEOnline: How to Cope With 300,000 Players on One
Server”, Game Developers Conference Austin 2008,2008
https://www.gdcvault.com/play/1014077/The-Server-Technology-of-EVE
参考
268. Tom Mathews Making "Big Data" Work for 'Halo': A Case Study
http://ai-wiki/wiki/images/d/d8/AI_Seminar_177th.pdf引用
269. 開発会社 システム 詳細 参照
Ubi
2018
Assassin’s Creed Origin の
レベルアセット自動検証
スクリプトによるオブジェクト同士の干渉テスト
キャラクターの生成ポイントと配置オブジェクトの干
渉テスト / スクリプトによるテスト
‘Assassin’s Creed Origins‘: Monitoring and Validation of World Design
Data Nicholas Routhier Ubisoft Montreal
http://www.gdcvault.com/play/1025054/-Assassin-s-Creed-Origins
Guerrilla
2018
Horizon Zero Down の自動
プレイ
毎晩、自動的にAIキャラクターがゲームをプレイ ‘Horizon Zero Dawn’: A QA Open World Case Study Ana Barbuta
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
EA
2018
Battlefield1における模倣学
習による自動プレイ
模倣学習によるキャラクターがゲーム内で戦い合う https://www.ea.com/seed/news/seed-imitation-learning-
concurrent-actions
https://www.ea.com/seed/news/self-learning-agents-play-bf1
SEGA
2018
「龍が如く」~「北斗が如く」
における自動プレイ
ログからの自動リプレイシステム 無料で始める!「龍が如く」を面白くするための高速デバッグログ分
析と自動化https://cedil.cesa.or.jp/cedil_sessions/view/1621
RARE
2017
Thief における Unreal
Engine 上のキャラクタービ
ヘイビアの自動テスト
テストがクエリーの形でリスト化されて、毎晩テスト
される
AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF
THIEVES
ROBERT MASELLA
RARE — MICROSOFT GAME STUDIOS
http://gameainorth.com/2017/
DELiGHT
WORKS
2017
Fate/Grand Orderにおける
自動リプレイ
サーバーを経由したログの収集とコマンド関数列
の再現
Fate/Grand Orderにおける自動リプレイを用いたQA改善への挑戦
http://cedil.cesa.or.jp/cedil_sessions/view/1716
DeNA
2017
「逆転オセロニア」における
自動ゲームプレイ
強化学習を用いて機械学習させる DeNA TechCon2018 ゲーム体験を支えるための強化学習
https://www.slideshare.net/juneokumura/dena-techcon2018
SQUARE ENIX
2017
「グリムノーツ」における自
動ゲームバランス
遺伝的アルゴリズムを用いてプレイヤーAI群を進
化させてゲームバランスを調査する
遺伝的アルゴリズムによる人工知能を用いたゲームバランス調整
http://cedil.cesa.or.jp/cedil_sessions/view/1655
DeNA
2016
「FINAL FANTASY Record
Keeper」における自動プレイ
ニューロエボリューションによるプレイヤーAIの作
成
AIによるゲームアプリ運用の課題解決へのアプローチ
https://cedil.cesa.or.jp/cedil_sessions/view/1511
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイに
よるステージ設計支援
https://www.slideshare.net/dena_tech/gameai-denatechcon
Cygames
2016
総合システム構築 OpenCV、Python、Appiumの組み合わせ ゲーム開発におけるデバッグ作業の自動化 ~ OpenCVの「眼」で捉
え、Pythonの「脳」が思考し、Appiumの「指」で動かす
http://cedil.cesa.or.jp/cedil_sessions/view/1575
http://tech.cygames.co.jp/archives/2937/
オリジナル