GDC / AISummit
(Game Developer’s
Conference)
AIIDE
(AI and Interactive
Digital Entertainment )
IEEE CIG
(IEEE Computational
Intelligence and Games )
Game AI Conference AI Game Dev.COM
AI Game Programmers Guild
http://www.aiide.org
IEEE CIS
(IEEE Computational
Intelligence Society )
http://www.ieee-cis.org/http://www.ieee-cig.org/
主催コミュニティカンファレンス
http://www.gdconf.com/
http://gameaiconf.com/ http://aigamedev.com/
http://www.gameai.com
AAAI
Game AI 知識の集積
20002006 2010
知識の集積
AI Game Programming Wisdom
20. Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers (Fabien Gravot, Takanori Yokoyama, Youichiro Miyake)
- ゲームAIの実例紹介・技術紹介
- 開発インタビュー
-論文紹介
- カンファレンス資料 (GDC AI Tutorial, Paris
Game AI Conference ) が掲載
-非常に重要な情報源
-登録が必要(無料)
-有料会員記事と無料会員記事がある。
-Alex Champandard が主催
(研究者からゲーム産業へ。
産業と学術を繋ぐ人物)
AI Game Dev.COM
60.
- ゲームAI業界の産業カンファレンス
- パリ・ウィーンなど欧州で開催。
-主催は、 AIGameDev.Com
- 資料は AIGameDev.Com で公開
- 学生も多い。やはり欧州などが中心
- GDC と並んで、AI Programmers Guild も深く
関わっているが、学術との交流も志向。
Game AI Conference
Artificial Intelligence for Creative Applications http://nucl.ai/
Game AI コミュニティの歴史
20002006 2010
この分野をきちんと
組織化しよう。
(IGDA AI SIG
ゲームAI標準委員会)
-産業、ミドルウェア、学術の
コミュニティ
AI Game Programmers Guild の
発足 (もっと産業で影響力を)
(IGDAは公正な機関)
http://www.igda.org/artificial-intelligence
2015
ゲーム開発の変化・
産業の変化により、やや停滞
ポイントを動的に配置して評価する
Matthew Jack, MikaVehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
157.
ポイントを動的に配置して評価する
Matthew Jack, MikaVehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
158.
ポイントを動的に配置して評価する
Matthew Jack, MikaVehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
159.
Matthew Jack, MikaVehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
ポイントを動的に配置して評価する
160.
Matthew Jack, MikaVehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
ゴールデンパスとは、現在のプレイヤーの位置から、
プレイヤーが向かうであろう目的地へ、パス検索したパスのこと
を言う。つまり、ユーザーの予測経路である。
161.
ゴールデンパス
Matthew Jack, MikaVehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
メタAI Left 4Dead の事例
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 の事例を見てみる。
メタ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
より具体的なアルゴリズム
メタAIが作用を行う領域
Michael Booth, "TheAI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAIが作用(敵の生成・
消滅)を行う領域を、
AAS(= Active Area Set) と
言う。
180.
メタAIが作用を行う領域
(AAS=Active Area Set)
MichaelBooth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
181.
メタAIが作用を行う領域
(AAS=Active Area Set)
MichaelBooth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
182.
安全な領域までの道のり(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
敵出現領域
背後 前方
Michael Booth,"The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
前方と背後のプレイヤー群から見えてない部屋に、
モンスターを発生させる。
186.
モンスター・アイテム出現頻度
敵の種類、アイテムの種類ごとに出現頻度が違うが、頻度に応じて発生させる。
高頻度
低頻度
Michael Booth, "TheAI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
Wanderers (高頻度)
Mobs(中頻度)
Special Infected (中頻度)
Bosses (低頻度)
Weapon Caches (低頻度)
Scavenge Items (中頻度)
187.
ボス出現アルゴリズム
(1) N体を予想される逃走経路上に配置
(2) 3つの出現イベントパターン
(何もいない、を含む)
(例)Tank, Witch, 何もいない
(3) 同じパターンのくり返しは禁止
(例) Witch, 何もいない、Witch はOK。
Witch, Witch はだめ。
何もいない
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
Tank Witch Witch Tank Witch Tank
188.
具体的なアルゴリズム
(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
参考文献
(1) Michael Booth,"Replayable Cooperative Game Design: Left
4 Dead," Game Developer's Conference, March 2009.
(2) Michael Booth, "The AI Systems of Left 4 Dead," Artificial
Intelligence and Interactive Digital Entertainment Conference
at Stanford.
http://www.valvesoftware.com/publications.html
(3) 三宅 陽一郎, “メタAI”,「デジタルゲームの技術」
P.186-190, ソフトバンク クリエイティブ
Procedural Generation inWarFrame
• 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
219.
Black Combination inWarFrame
• ブロックを組み合わる
• 完全に零からの生成
ではない。
このような生成のことを
Semi-procedural と言う。
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
スタートポイント、出口、目的地の
自動生成
Daniel Brewer, AIPostmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
223.
ヒートマップ(影響マップ)を用いて
ゲーム中にプレイヤーの周囲を自動解析
Daniel Brewer, AIPostmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
ヒートマップ(影響マップ)とは、対象(ここではプレイヤー)を中心に、位置に温度(影響度)を
与える方法です。距離に応じて減衰します。また時間が経つと、周囲に熱が拡散します。
アクティブ・エリアセット(Active Are Set)
DanielBrewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
アクティブ・エリアセットは、プレイヤーの周囲の領域で、
リアルタイムにメタAIがゲームを調整する領域
メタAIによる出会うモンスターの数の
大域調整
Daniel Brewer, AIPostmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
プレイヤーのスタート地点から出口までの道のりで、
コンスタントにモンスターと出会うようにする。
231.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
232.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
233.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
234.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
235.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
236.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
237.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
238.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
239.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
240.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
241.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
Future Work
242.
FarCry 4 の事例
JulienVarnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
Future Work
243.
Julien Varnier, FarCry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例Future Work
IF ( 前置宣言文) then (後置宣言文)
ルールベース意思決定
Rule-based Decision Making
ルール
ここでは、この形式の制御文をルールと言う。
もちろん、IF ( … IF (.... IF… ) ) ) のような入れ子構造の制御文も
ルールベースと呼ぶが、
ルールベースと言えば、基本的には、ルールを1つの単位として、
意思決定を行う、という意味となる。
273.
ルール制御
ID 0 :IF …. THEN …
ID 1 : IF …. THEN …
ID 3 : IF …. THEN ….
ID 4 : IF …. THEN …
ID .. :
ID 4 : IF …. THEN …
Priority: 3
Priority: 1
Priority: 4
Priority: 5
Priority: 2
ルールに固定、あるいは変動プライオリティ(優先度)をつけて制御を行う。
あるいはランダムにルールをピックアップする場合もある。戦略思考、キャラク
ターの挙動などでよく使われる。
Priority: -
制御
ルール= IF ( 行動条件文 ) then (動作命令文)
274.
(例) ルール制御
ID 0: IF …. THEN …
ID 1 : IF …. THEN …
ID 3 : IF …. THEN ….
ID 4 : IF …. THEN …
ID .. :
ID 5 : IF …. THEN …
Priority: 3Priority: 1
Priority: 4
Priority: 5
Priority: 2
或いは、状況判断思考によってルールを振り分ける。
戦略思考、キャラクターの挙動などでよく使われる。
Priority: -
制御
思考
ルール= IF ( 行動条件文 ) then (動作命令文)
F.E.A.R.におけるゴール指向プランニング
Genre:Horror FPS
Developer: Monolith Production
Publisher : SIERRA
Hardware: Windows
Year: 2004
Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005)
http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt
シンボル
kTargetAtme = ture
この兵士Bは自分を狙っているkTargetIsDead= ture
この兵士Aは死んだ
kWeaponIsLoaded = false
私Cの武器は装填済みでない
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
Behavior Tree Architectureof
Spec Ops: The Line
Vienna Game/AI Conference 2012
Behavior Workshop
Vienna Game/AI Conference 2012 Behavior Workshop
"Behavior Tree Architecture of Spec Ops: The Line"
322.
Behavior Trees inSOTL
• Events and impulses
Events can also be blocked
in a branch.
Jump here
Do not react to any following need for cover
Do this
Vienna Game/AI Conference 2012 Behavior Workshop
"Behavior Tree Architecture of Spec Ops: The Line"
323.
Behavior Trees inSOTL
Vienna Game/AI Conference 2012 Behavior Workshop
"Behavior Tree Architecture of Spec Ops: The Line"
Scope
Game AI Conference,Paris, June 2009
Killzone 2 / PS3
• Max 32 players
• Team-based game modes
• Multiple game modes on one map
• Players unlock / mix “badge abilities”
• Offline (1 human player & bots)
• Online (human players & bots)
338.
Scope
Game AI Conference,Paris, June 2009
Badges
• Scout: Cloak, Spot-and-Mark
• Tactician: Spawn Area, Air Support
• Assault: Boost
• Engineer: Sentry Turret, Repair
• Medic: Heal, Med packs
• Saboteur: Disguise, C4
339.
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/
340.
Killzone 2 Screen
Onthe AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
HTN (Hierarchical TaskNetwork)
Precondition
Task
Precondition
Task
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
356.
HTN (Hierarchical TaskNetwork)
各AIの思考 On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Strategic Graph
WHY?
Support runtimestrategic decision making algorithms.
Help interpret the manual annotations dynamically.
WHAT?
Set of areas created as groups of waypoints.
High-level graph based on the low-level waypoint network.
HOW?
Automatic area generation algorithm done at export time.
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
375.
オブジェクトに仕込むデータ構造
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
376.
The Sims における「モチーフ・エンジン」
KenForbus, “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の人格モデル
限界効用逓減の法則
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
ビールは一杯目が一番おいしい
382.
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
383.
The Sims 3では、多くのムードや欲求が準備される。
行動 対象
GDC09 資料 http://www.gdcvault.com/play/1452/(307)-Breaking-the-Cookie-Cutter
Warfarmeにおける壁面移動
Daniel Brewer, “TheLiving AI in Warframe’s Procedural Space Ships” (Game AI Conference 2014) ※登録が必要なサイトです
http://archives.nucl.ai/recording/the-living-ai-in-warframes-procedural-space-ships/
プレイヤー
AI
プレイヤーが「ジャンプ・壁面走り・ジャンプ」したデータから
学習して、AIがそのデータをもとに同じ動きをする。
ジャンプ 壁面走り
ジャンプ
http://dear-croa.d.dooo.jp/download/illust.html
ALPHA GO
• モンテカルロ木探索とDEEP LEARNING の組み合
わせ。
• モンテカルロ木探索 (シミュレーションベース)
• http://minerva.cs.uec.ac.jp/~ito/entcog/contents/l
ecture/date/5-yoshizoe.pdf
• DEEP LEARNING
• David Silver, Mastering the Game of Go with Deep
Neural Networks and Tree Search (Nature, 2016)
ニューラルネットワークの応用
Black & White(Lionhead,2000)
クリーチャーを育てていくゲーム。
クリーチャーは自律的に行動するが、
訓練によって学習させることができる。
http://www.youtube.com/watch?v=2t9ULyYGN-s
http://www.lionhead.com/games/black-white/
464.
Belief – Desire– Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
Intention
Overall Plan
(Goal, Main Object)
Attack enemy town
Specific Plan
(Goal, Object List)
Throw stone at house
Primitive Action List
Walk towards stone,
Pick it up,
Walk towards house,
Aim at house,
Throw stone at house
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
465.
Belief – Desire– Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
Low Energy
Source =0.2
Weight =0.8
Value =
Source*Weight =
0.16
Tasty Food
Source =0.4
Weight =0.2
Value =
Source*Weight =
0.08
Unhappiness
Source =0.7
Weight =0.2
Value =
Source*Weight =
0.14
∑
0.16+0.08+0.14
Threshold
(0~1の値に
変換)
hunger
Desire(お腹すいた度)欲求を決定する
対象を決定する
それぞれの対象の
固有の情報
他にも
いろいろな
欲求を計算
Hunger
Compassion
Attack(戦いたい)
Help
ニューラルネットワークの応用
Black & White (Lionhead,2000)
466.
Belief – Desire– Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
戦いたい?
+0.9 -0.2
味方敵
+0.4 +0.1 -0.3
小さい 大きい中
ニューラルネットワークの応用
Black & White (Lionhead,2000)
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
http://piposozai.blog76.fc2.com/
467.
Belief – Desire– Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
Intention
Overall Plan
(Goal, Main Object)
Attack enemy town
Specific Plan
(Goal, Object List)
Throw stone at house
Primitive Action List
Walk towards stone,
Pick it up,
Walk towards house,
Aim at house,
Throw stone at house
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
何に対して何を行うか決定
特定の行動を決定
詳細な行動
ニューラルネットワークの応用
Black & White (Lionhead,2000)
468.
Belief – Desire– Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
Intention
Overall Plan
(Goal, Main Object)
Attack enemy town
Specific Plan
(Goal, Object List)
Throw stone at house
Primitive Action List
Walk towards stone,
Pick it up,
Walk towards house,
Aim at house,
Throw stone at house
何に対して何を行うか決定
特定の行動を決定
詳細な行動
「何に対して何をするか」悩んでいる。
ニューラルネットワークの応用
Black & White (Lionhead,2000)
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
RalfHerbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
471.
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
RalfHerbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
472.
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
•揺らぎ
• ライン – コーナーやそのコンビネーションに対し
て、どれぐらいスムーズに車をガイドするか。
• コーナーへの突入スピードとブレーキを踏むタイ
ミングと。保守的か過激か。
• コーナーの頂点にどれぐらい近づくか、どれぐら
いの速度でそこを抜けるか?
• コーナーを抜ける時のスピードとコーナーを回る
時のスピード。
Drivatar がプレイヤーのコントロールから学習するもの
Microsoft Research
Drivatar™ in Forza Motorsport
http://research.microsoft.com/en-us/projects/drivatar/forza.aspx
473.
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
RalfHerbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
プレイヤーの特性を解析する
特徴となる数値をドライブモデルに渡す
474.
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
RalfHerbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
レーシングラインを事前に構築する。生成というよりテーブルから組み合わせる。
475.
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
RalfHerbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
レーシングラインを事前に構築する。生成というよりテーブルから組み合わせる。
476.
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
RalfHerbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
レーシングラインに沿わせるのではなく、理想とする位置とスピードから
コントローラーの制御を計算して、物理制御によって車を運転する。
477.
Forza motorsports (EA)
JeffreySchlimmer, "Drivatar and Machine Learning Racing Skills in the Forza Series"
http://archives.nucl.ai/recording/drivatar-and-machine-learning-racing-skills-in-the-forza-series/
478.
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
Ralf Herbrich,Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
479.
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
• TrusSkill=プレイヤーの強さを正規分布の中
央値と標準偏差として扱う。
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
μ : 中央値
σ: 標準偏差
480.
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
• TrusSkill=プレイヤーの強さを正規分布の中
央値と標準偏差として扱う。
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
μ : 中央値
σ: 標準偏差
その人の強さを表す
その人の強さの正確さを示す。
100回やってこのランクの人と
1000回やってこのランクの人では
1000回の人の方が正確
=標準偏差が小さい
481.
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
• スキル𝜇 𝐴, 𝜎𝐴 のプレイヤーと、スキル 𝜇 𝐵, 𝜎 𝐵 のプレイヤーが
マッチングする確率は、
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
μ : 中央値
σ: 標準偏差
𝑒
−
(𝜇 𝐴−𝜇 𝐵)2
2𝐶2
𝑑 (𝑑 =
2𝛽2
𝑐
)
482.
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
2人が対戦して勝ったとき、負けた時の中央値、標準偏差の変化
知能と情報 :日本知能情報ファジィ学会誌 : journal of Japan Society for Fuzzy Theory and Intelligent Informatics 22(6), 745-756, 2010-12-15
日本知能情報ファジィ学会 「オンラインゲームにおける人工知能・. プロシージャル技術の応用」
http://igda.sakura.ne.jp/sblo_files/ai-igdajp/image/JSFTII_22-6_online20game_Miyake.pdf
強化学習
(例)格闘ゲームTaoFeng におけるキャラクター学習
Ralf Herbrich,Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
492.
強化学習
(例)格闘ゲームTaoFeng におけるキャラクター学習
Ralf Herbrich,Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
Microsoft Research Playing Machines: Machine Learning Applications in Computer Games
http://research.microsoft.com/en-us/projects/mlgames2008/
Video Games and Artificial Intelligence
http://research.microsoft.com/en-us/projects/ijcaiigames/
Deep Learning =多層型ニューラルネットワーク
中山英樹「Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー」
http://www.slideshare.net/nlab_utokyo/deep-learning-49182466
518.
Deep Learning =多層型ニューラルネットワーク
中山英樹「Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー」
http://www.slideshare.net/nlab_utokyo/deep-learning-49182466
519.
Deep Learning =多層型ニューラルネットワーク
中山英樹「Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー」
http://www.slideshare.net/nlab_utokyo/deep-learning-49182466
520.
Deep Q-Learning
Volodymyr Mnih,Koray Kavukcuoglu, David Silver, Alex Graves,
Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller (DeepMind Technologies)
Playing Atari with Deep Reinforcement Learning
http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
画面を入力
操作はあらかじめ教える
スコアによる強化学習
521.
学習過程解析
Volodymyr Mnih, KorayKavukcuoglu, David Silver, Alex Graves,
Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller (DeepMind Technologies)
Playing Atari with Deep Reinforcement Learning
http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
評判システム
Memory Element
1
2
3
5
Group Reputation
FarmersNeural
Lawmen Hate
Bandits Like
Player Hate
Townspeople Neural
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
http://piposozai.blog76.fc2.com/
529.
評判システム Master EventList 参照回数
1. Bandit Killed Farmer 4
2. Player Aided Lawmen 1
3. Player Killed Bandit 3
4.
5.
B1
B2
B3
3をアナウンス
3人のNPCに
参照されている
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC
NPC
NPC
NPC
Player
Event Announcer
イベント登録
事件発生ポイント
Player Killed Bandit.
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
530.
事件発生ポイント
Player Killed Bandit.
EventAnnouncer
B1
B2
B3
イベント登録
一定半径内のNPCに
3をアナウンス
B3 B4
味方同士の場合
伝言する
他の場所でNPC同士が
ばったり出会う
Master Event List 参照回数
1. Bandit Killed Farmer 4
2. Player Aided Lawmen 1
3. Player Killed Bandit 4
4.
5.
参照回数を+1
(参照回数が0になればリストから消去)
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC
NPC
NPC
NPC
Player
NPC NPC
評判システム
http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/
531.
Event Announcer
B1
B2
B3
イベント登録
一定半径内のNPCに
3をアナウンス
B3 B4
敵同士の場合
伝言しない
他の場所でNPC同士が
ばったり出会う
Greglt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
Player
NPC
NPC
NPC
NPC
NPC NPC
評判システム Master Event List 参照回数
1. Bandit Killed Farmer 4
2. Player Aided Lawmen 1
3. Player Killed Bandit 4
4.
5.
事件発生ポイント
Player Killed Bandit.
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
評判システム(イベントの形式)
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
534.
評判システム(情報交換)
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ごとの記憶 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
http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/
535.
評判システム(情報補完システム)
(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
http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/
536.
参考文献
(1) Greg lt,Kristin King, “A Dynamic Reputation System
Based on Event Knowledge”, 8.6, AI Game Programming
Wisdom
(2) Richard Rouse III,"Postmortem: The Game Design of
Surreal's The Suffering", Gamasutra,
http://www.gamasutra.com/view/feature/2110/postmortem_the_game_design_of_.php
(3) "Gunslinger: First Impressions",IGN,
http://ps2.ign.com/articles/134/134549p1.html
(4) Gunslinger [PS2 - Cancelled]
http://www.unseen64.net/2009/09/15/gunslinger-ps2-cancelled/
537.
Never Winter Nightにおける評判システム
Ultima Online の評判システム
Gunslinger の評判システム
Ever Quest の評判システム 独自の評判システム
http://www.bioware.com/en/games/#previous-games
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT18yxlWIEAjsDNwdmz1-
I4vTlbGVJxQp0gLDI05t4VS_URdCvD
参考文献
Mark Brokington, “Buildinga reputation system: Hatred,
Forgivveness, and Surrender in Never Winter Nights”, 6.5,
Massive Multiplayer Game Development
いろいろな世界表現
ナビメッシュ-ウェイポイント
階層表現
LOS マップ
戦術マップクラスタリング
敵配位マップ テリトリー表現
TacticalPoint System
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
Halo2 :世界表現
Dude, Where'sMy Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
575.
Dude, Where's MyWarthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Halo2 :世界表現
576.
Halo2 :世界表現
Dude, Where'sMy Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
577.
Halo2 :世界表現
Dude, Where'sMy Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
578.
Halo2: 世界表現
Dude, Where'sMy Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
579.
Halo2: 世界表現
Dude, Where'sMy Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
580.
Halo2: 世界表現
Dude, Where'sMy Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
581.
Halo2: 世界表現
Dude, Where'sMy Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
582.
Halo2: 世界表現
Dude, Where'sMy Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
583.
Counter Strike :Navigation Mesh
世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
オブジェクト表現
これが車である
この方向に押せば動く
Dude, Where's MyWarthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html