3. Deep Mind: Capture the flag
• Deep Mind社が行っている「旗取りゲーム」のプラットフォーム
• 現在は人間よりも圧倒的に強くなってしまった
• 人間が見つけた戦略を、AIがみつけている
• Quake III のエンジンを使用
• マップは自動生成
Deep Mind: Capture the Flag: the emergence of complex cooperative agents
https://deepmind.com/blog/article/capture-the-flag-science
4. • https://deepmind.com/blog
/capture-the-flag/
• Multi agnet learning
Deep Mind: Capture the Flag: the emergence of complex cooperative agents
https://deepmind.com/blog/article/capture-the-flag-science
Deep Mind: Capture the flag
5. Two Agent Cooperation by DeepMind
Deep Mind: Capture the Flag: the emergence of complex cooperative agents
https://deepmind.com/blog/article/capture-the-flag-science
6. Deep Mind: Capture the flag
Deep Mind: Capture the Flag: the emergence of complex cooperative agents
https://deepmind.com/blog/article/capture-the-flag-science
16. Microsoft: TextWorld
• マイクロソフトが構築したテキストアドベンチャーの学習環境
• 50ほどのテキストアドベンチャーを内包している
• TextWorld: A Learning Environment for Text-based Games
• https://arxiv.org/abs/1806.11532
•
• TextWorld: A learning environment for training reinforcement learning agents,
inspired by text-based games
• https://www.microsoft.com/en-us/research/blog/textworld-a-learning-
environment-for-training-reinforcement-learning-agents-inspired-by-text-
based-games/
•
• Getting Started with TextWorld
• https://www.youtube.com/watch?v=WVIIigrPUJs
49. Networking Gameplay and AI in Assassin's Creed Unity
Charles Lefebvre, Ubisoft, GDC2015
https://www.gdcvault.com/play/1022168/Networking-Gameplay-and-AI-in
51. Networking Gameplay and AI in Assassin's Creed Unity
Charles Lefebvre, Ubisoft, GDC2015
https://www.gdcvault.com/play/1022168/Networking-Gameplay-and-AI-in
52. Networking Gameplay and AI in Assassin's Creed Unity
Charles Lefebvre, Ubisoft, GDC2015
https://www.gdcvault.com/play/1022168/Networking-Gameplay-and-AI-in
53. Networking Gameplay and AI in Assassin's Creed Unity
Charles Lefebvre, Ubisoft, GDC2015
https://www.gdcvault.com/play/1022168/Networking-Gameplay-and-AI-in
54. Networking Gameplay and AI in Assassin's Creed Unity
Charles Lefebvre, Ubisoft, GDC2015
https://www.gdcvault.com/play/1022168/Networking-Gameplay-and-AI-in
66. 人とAIのハイブリッド
PC
NPC NPC NPC
AI AI AI
PC
NPC NPC NPC
AI AI AI
ユーザーがNPCに命令 NPCが自動的にPCに追従
プレイヤ―
キャラクター
(Player Character)
ノンプレイヤ―
キャラクター
(Non-Player Character)
73. AIIDE-11 Invited Talk
Evolution of RTS AI
Bob Fitch, Blizzard Entertainment
https://movingai.com/aiide11/speakers.html
https://aaai.org/Conferences/AIIDE/2011/aiide11speakers.php
74. Visible Evolution
Actions Per Minute
Queens vs. Tanks
“Queens versus Tanks”
問題はプレイヤーが無制限
にAPMチーティングのリミッ
トを呼ぶことができる理由を
教えてくれる。Blood War に
おけるAIのように、ヒューマ
ンは直接10以上のダメージ
スペルを与えることができな
い。
AIIDE-11 Invited Talk
Evolution of RTS AI
Bob Fitch, Blizzard Entertainment https://movingai.com/aiide11/speakers.html
https://aaai.org/Conferences/AIIDE/2011/aiide11speakers.php
75. Units would stream into enemy defenses
Visible Evolution
Pathing v.1
AIIDE-11 Invited Talk
Evolution of RTS AI
Bob Fitch, Blizzard Entertainment https://movingai.com/aiide11/speakers.html
https://aaai.org/Conferences/AIIDE/2011/aiide11speakers.php
93. 人とAIのハイブリッド
PC
NPC NPC NPC
AI AI AI
PC
NPC NPC NPC
AI AI AI
ユーザーがNPCに命令 NPCが自動的にPCに追従
PCNPC NPC
NPC
AI AI AI
ユーザーがNPCと協調
物を与える
94. The Sims シリーズのAIの作り方
人をダイナミクス(力学系、動的な数値の仕組み )として動かす。
世界を動かす PeerAI(=キャラクターAI) を構築。
Sub
Peer
Meta
Meta
Peer
Sub
[原則] 周囲の対象に対する、あらゆる可能な行動から、
ムード(幸せ) 係数を最大化する行動を選択する。
Sims (not under direct player control) choose what to do by selecting, from all of the
possible behaviors in all of the objects, the behavior that maximizes their current happiness.
Will Wright, AI: A Design Perspective (AIIDE 2005)
http://www.aaai.org/Papers/AIIDE/2005/AIIDE05-041.ppt
Kenneth Forbus, Will Wright, “Some notes on programming objects in The Sims – Example”
http://www.qrg.cs.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf
95. The Sims シリーズのAIの作り方
人をダイナミクス(力学系、動的な数値の仕組み )として動かす。
世界を動かす PeerAI(=キャラクターAI) を構築。
Sub
Peer
Meta
Meta
Peer
Sub
[原則] 周囲の対象に対する、あらゆる可能な行動から、
ムード(幸せ) 係数を最大化する行動を選択する。
Sims (not under direct player control) choose what to do by selecting, from all of the
possible behaviors in all of the objects, the behavior that maximizes their current
happiness.
96. オブジェクトに仕込むデータ構造
Data (Class, Sate)
Graphics (sprites, z-
buffers)Animations (skeletal)
Sound Effects
Code (Edith)
-Main (object thread)
-External 1
-External 2
-External 3
パラメーター
グラフィックス
アニメーション
サウンド
メインスレッド
いろいろなインタラクションの仕方
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料) ※IEで見てください。
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
Kenneth Forbus, Will Wright, “Some notes on programming objects in The Sims – Example”
http://www.qrg.cs.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf
97. The Sims における「モチーフ・エンジン」
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern University)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
Data
- Needs
- Personality
- Skills
- Relationships Sloppy - Neat
Shy - Outgoing
Serious - Playful
Lazy - Active
Mean - Nice
Physical
- Hunger
- Comfort
- Hygiene
- Bladder
Mental
- Energy
- Fun
- Social
- Room
Motive Engine
Cooking
Mechanical
Logic
Body
Etc.
AIの人格モデル
101. 限界効用逓減の法則
X_Hunger
W_Hunger(-80)
-80 60
W_Hunger(60)
Δ(-80 → 60)=W_Hunger(60)*(60) - W_Hunger(-80)*(-80)
Δ (60→90) =W_Hunger(90)*(90) - W_Hunger(60)*(60)
90
W_Hunger(90)
Δ(-80 → 60) is much larger than Δ(60→90)
ある程度満たされたものを満たすより、
満たされないものをある程度満たす方が大きな満足をもたらす
Utility for hunger
ビールは一杯目が一番おいしい
102. The Sims のAIの原理
三宅陽一郎、「Spore におけるゲームAI技術とプロシージャル」 (DiGRA Japan 第14回 月例研究
http://digrajapan.org/?wpdmact=process&did=Ni5ob3RsaW5r
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
Richard Evans, Modeling Individual Personalities in The Sims 3, GDC 2010
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
103. The Sims 3 では、多くのムードや欲求が準備される。
行動 対象
GDC09 資料 http://www.gdcvault.com/play/1452/(307)-Breaking-the-Cookie-Cutter
105. Mood を最大化
冷蔵庫が最も総合的にMoodを上昇させるから
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
106. 冷蔵庫へ行きます。
Mood を最大化
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
107. Mood を最大化
お腹が膨れたので、ちょっと退屈だから、女の子と話します。
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
161. AI in feature film animation: how crowds artists use AI
techniques at Pixar
Authors: Paul Kanyuk, Stephen Gustafson,
SA '15: SIGGRAPH Asia 2015 CoursesNovember 2015 Article
No.: 2 Pages https://doi.org/10.1145/2818143.2818170
184. Behavior Tree Architecture of
Spec Ops: The Line
Vienna Game/AI Conference 2012
Behavior Workshop
Behavior Tree Architecture of
Spec Ops: The Line
Vienna Game/AI Conference 2012
Behavior Workshop
185. Behavior Trees in SOTL
• Loops
Loops keep triggering their child until a certain
condition is met.
• Decorators
Decorators are active as long as their child
is running.
Keep pushing the child
Apply effect/buff
Behavior Tree Architecture of
Spec Ops: The Line
Vienna Game/AI Conference 2012
Behavior Workshop
186. Behavior Trees in SOTL
• Events and impulses
Events can also be blocked
in a branch.
Jump here
Do not react to any following need for cover
Do this
Behavior Tree Architecture of
Spec Ops: The Line
Vienna Game/AI Conference 2012
Behavior Workshop
188. Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
まず、マップを3つの領域に区別する。
「それぞれの領域=戦術ポイント・グループ」として定義する。
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
189. Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
190. Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
次にそれぞれの領域にビヘイビア・ツリーを割り当てる。
これが、その領域でAIが取る意思決定モジュールとなる。
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
191. Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
こういうチェックボックスのツールで
マスターのビヘイビアツリーをカスタマイズする。
それぞれの領域に割り当てられたビヘイビアツリーを
「スタイル」と言う。 Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
200. Killzone 2 のAI
Based on: Alex Champandard, Tim Verweij, Remco Straatman, "Killzone 2 Multiplayer Bots",
http://files.aigamedev.com/coverage/GAIC09_Killzone2Bots_StraatmanChampandard.pdf
単純なタスクベースのシステムは機能するし、使われることも多い。しかし、
近年の複雑なゲームのAIではよりマルチな時間・空間スケールに対応する必要があり、
階層型タスクネットワーク(HTN, Hierarchical Task Network)が使用される。
201. Killzone 2 AI (マルチプレイヤーモード)
(1) Killzone 2 のAI思考
(2) Killzone 2 のマップ自動解析
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
214. Humanoid Agent
in Social Game Environment (HASGE)
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
216. F-formation (Kendon, 1984)
• 人と人が向い合うときに、形成する立ち位置。
Paul Marshall,Yvonne Rogers,Nadia Pantidi
Using F-formations to analyse spatial patterns of interaction in physical environments
http://mcs.open.ac.uk/pervasive/pdfs/MarshallCSCW2011.pdf
217. いろいろな F-formation パターン
Paul Marshall,Yvonne Rogers,Nadia Pantidi
Using F-formations to analyse spatial patterns of interaction in physical environments
http://mcs.open.ac.uk/pervasive/pdfs/MarshallCSCW2011.pdf
218. いろいろな F-formation パターン
Paul Marshall,Yvonne Rogers,Nadia Pantidi
Using F-formations to analyse spatial patterns of interaction in physical environments
http://mcs.open.ac.uk/pervasive/pdfs/MarshallCSCW2011.pdf
219. EVE ONLINE
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
242. Reckoning におけるターゲットシステム
GDC 2012 AI Postmortems:
Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the Shogun
Michael Dawe,
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
243. Reckoning におけるターゲットシステム
GDC 2012 AI Postmortems:
Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the Shogun
Michael Dawe,
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
244. Reckoning におけるターゲットシステム
GDC 2012 AI Postmortems:
Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the Shogun
Michael Dawe,
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
266. メタAI Left 4 Dead の事例
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and
Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
今回は Left 4 Dead の事例を見てみる。
268. メタAI(=AI Director)によるユーザーのリラックス度に応じた敵出現度
ユーザーの緊張度
実際の敵出現数
計算によって
求められた
理想的な敵出現数
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
より具体的なアルゴリズム
270. メタ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
271. 安全な領域までの道のり(Flow Distance)
メタAIはプレイヤー群の経路を
トレースし予測する。
- どこへ来るか
- どこが背面になるか
- どこに向かうか
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
273. 敵出現領域
背後 前方
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
前方と背後のプレイヤー群から見えてない部屋に、
モンスターを発生させる。
274. 具体的なアルゴリズム
(1) 各エリアに、出現数 N を決定する
(2) 出現数Nは予想される逃走経路の長さと
要求される密度によって計算される。
(3) あるエリアがAAS の中に入るとクリー
チャーがN体生成される。
(4) そのエリアがAAS の外に出ると生成が中
止され、クリーチャーは消滅される。
(5) Nはそのエリアがプレイヤーから見えてい
る場合、或いは、プレイヤーがリラックス
モードの場合には、強制的に0になる。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
277. Procedural Generation in WarFrame
• Warframe ではダンジョンが自動生成される。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
280. スタートポイント、出口、目的地の
自動生成
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
281. ヒートマップ(影響マップ)を用いて
ゲーム中にプレイヤーの周囲を自動解析
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
ヒートマップ(影響マップ)とは、対象(ここではプレイヤー)を中心に、位置に温度(影響度)を
与える方法です。距離に応じて減衰します。また時間が経つと、周囲に熱が拡散します。
284. アクティブ・エリアセット(Active Are Set)
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
アクティブ・エリアセットは、プレイヤーの周囲の領域で、
リアルタイムにメタAIがゲームを調整する領域
286. メタAI (AI Director,)による
動的ペース調整
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed