22. 開発会社 システム 詳細 参照
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 「FINAL FANTASY Record
Keeper」における自動プレイ
ニューロエボリューションによるプレイヤーAIの作成 AIによるゲームアプリ運用の課題解決へのアプローチ
https://cedil.cesa.or.jp/cedil_sessions/view/1511
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによる
ステージ設計支援
36. 強化学習
(例)格闘ゲーム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/
56. 機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
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
57. 機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
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
58. 機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
• 揺らぎ
• ライン – コーナーやそのコンビネーションに対し
て、どれぐらいスムーズに車をガイドするか。
• コーナーへの突入スピードとブレーキを踏むタイ
ミングと。保守的か過激か。
• コーナーの頂点にどれぐらい近づくか、どれぐら
いの速度でそこを抜けるか?
• コーナーを抜ける時のスピードとコーナーを回る
時のスピード。
Drivatar がプレイヤーのコントロールから学習するもの
Microsoft Research
Drivatar™ in Forza Motorsport
http://research.microsoft.com/en-us/projects/drivatar/forza.aspx
59. 機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
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
プレイヤーの特性を解析する
特徴となる数値をドライブモデルに渡す
60. 機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
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
レーシングラインを事前に構築する。生成というよりテーブルから組み合わせる。
61. 機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
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
レーシングラインを事前に構築する。生成というよりテーブルから組み合わせる。
62. 機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
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
レーシングラインに沿わせるのではなく、理想とする位置とスピードから
コントローラーの制御を計算して、物理制御によって車を運転する。
63. Forza motorsports (EA)
Jeffrey Schlimmer, "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/
67. 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
77. メタAIの活用事例
• メタAI = ゲーム全体を制御する人工知能
= 夜中にゲームとキャラクターを動かして負荷などのテスト
Virtual Insanity: Meta AI on 'Assassin's Creed: Origins'
Charles Lefebvre
Ubisoft Montreal
http://www.gdcvault.com/play/1025410/Virtual-Insanity-Meta-AI-on
84. Thief における Unreal Engine 上の自動テスト
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA
• RARE — MICROSOFT GAME STUDIOS
• http://gameainorth.com/2017/
85. Sea of Thieves
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
86. Testing AI
• Automated testing not widely used in game development
• AI Unique challenges for testing AI
• Multiplayer
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
87. Test Types
• Unit
• Integration
• Behaviour Tree
• Multiplayer Integration
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
88. Running Tests
• Run tests in Unreal Editor Automation window
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
89. Unit Tests
• Run without creating or ticking world
• Unit tests can have test fixture for boilerplate code
#define IMPLEMENT_AIENTITY_TEST( TestName ) IMPLEMENT_UNIT_TEST( TestName, "AIEntity", AIEntityTestFixture )
IMPLEMENT_AIENTITY_TEST( UpdateTarget_OneEnemyEntitySeen_TargetSetToEntity )
{
auto* AIEntity = SpawnTestAIEntity();
auto* EnemyEntity = SpawnEnemyEntity();
AIEntity->AddSeenEntity( EnemyEntity );
AIEntity->UpdateTarget();
TestEqual( AIEntity->GetTargetEntity(), EnemyEntity );
}
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
90. Integration Tests
• Mostly used Unreal Blueprint system:
• https://docs.unrealengine.com/latest/INT/Engine/Blueprints/
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
91. Integration Tests
• Levels with limited game scenario
• Most look for success criteria, or time out and fail
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
92. Line of Sight integration test
• SkeletonAI_WhenLosesLineOfSightToTarget_MovesToPositionToRegainLineOfSight
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
93. Line of Sight integration test
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
94. Line of Sight integration test
• Failing version
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
96. Line of Sight integration test
• Failing version
• Assertion: Test Timed Out
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
97. Line of Sight integration test
• Passing version
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
98. Line of Sight integration test
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
99. Line of Sight integration test
• Passing version
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
100. Example Behaviour Tree Node
• Node that triggers an input
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
101. Behaviour Tree Node Testing
• Add node to a minimal behaviour tree created in code
• Created environment required for coded behaviour tree in fixture
• Also created helper functions for adding nodes
virtual void OnBeforeTest() override
{
BehaviorTree = CreateTreeRootWithSequence();
}
UBTTask_TriggerInput* CreateTriggerInputTaskNodeAttachedToNode( UBTCompositeNode* ParentNode, UNotificationInputId NotificationId )
{
auto* TestTask = NewObject< UBTTask_TriggerInput >();
TestTask->NotificationId = NotificationId;
ParentNode->AddChild( TestTask );
return TestTask;
}
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
102. Node Testing II
• Test that checks that
decorator fails if health is
lower than expected
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
103. ‘Walking Dead’ Multiplayer Integration Test
• SkeletonAI_Dies_DoesNotMoveDuringDeathOnClient_MP1
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
104. ‘Walking Dead’ Multiplayer Integration Test
• Failing version
• Assertion failed: ‘check velocity is low in dead state’
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
105. ‘Walking Dead’ Multiplayer Integration Test
• Passing version
• AUTOMATED TESTING FOR MULTIPLAYER GAME-AI IN SEA OF THIEVES
• ROBERT MASELLA (RARE — MICROSOFT GAME STUDIOS) http://gameainorth.com/2017/
109. Test Strategy Goals
• Adaptable to new iterations
• Scalable with unexpected factors
• Relevant to new methodologies
• Efficient with a small team
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
110. Session-based exploratory testing
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
111. Not just testing
• QA as playtesters
• Qualitative feedback
• Competitor research
• QA reviews
• Seeker Team
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
112. Tools – In Engine
• Debug views
• Debug tools
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
113. Examples of debug views and
tools
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
114. External Tools
• Interactive bug map
• DecimaEd (game editor)
• Game analytics
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
115. Interactive bug map
demo
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
116. 'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
117. Test Automation
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
119. Trophy Unlocked!
• 45 hours of play time (average)
• 57 quests
• ~500 unique combat encounters
– Spawning almost 1500 combat scenarios
• 44 unique enemies
• 10 hours of cinematic sequences
• Over 480 000 words of dialogue
'Horizon Zero Dawn': A QA Open World Case Study
Ana Barbuta (Guerrilla Games)
https://www.gdcvault.com/play/1025326/-Horizon-Zero-Dawn-A
122. Deep Learning: Beyond the Hype, Magnus Nordin Electronic Arts
https://www.gdcvault.com/play/1025098/Deep-Learning-Beyond-the
EA SEED
https://www.ea.com/seed/news/seed-imitation-learning-concurrent-actions
https://www.ea.com/seed/news/self-learning-agents-play-bf1
AIエージェントに「バトルフィールド 1」のプレイを教えるには?
https://www.ea.com/ja-jp/news/teaching-ai-agents-battlefield-1
Experimental Self-Learning AI in Battlefield 1
https://www.youtube.com/watch?v=ZZsSx6kAi6Y
Deep Learning in Battlefield One
123. Deep Learning: Beyond the Hype, Magnus Nordin Electronic Arts
https://www.gdcvault.com/play/1025098/Deep-Learning-Beyond-the
EA SEED
https://www.ea.com/seed/news/seed-imitation-learning-concurrent-actions
https://www.ea.com/seed/news/self-learning-agents-play-bf1
124. Deep Learning: Beyond the Hype, Magnus Nordin Electronic Arts
https://www.gdcvault.com/play/1025098/Deep-Learning-Beyond-the
EA SEED
https://www.ea.com/seed/news/seed-imitation-learning-concurrent-actions
https://www.ea.com/seed/news/self-learning-agents-play-bf1
125. Deep Learning in Battlefield One
https://www.ea.com/seed/news/seed-imitation-learning-concurrent-actions
https://www.ea.com/seed/news/self-learning-agents-play-bf1
https://www.youtube.com/watch?v=ZZsSx6kAi6Y
Deep Learning: Beyond the Hype, Magnus Nordin Electronic Arts
https://www.gdcvault.com/play/1025098/Deep-Learning-Beyond-the
EA SEED
https://www.ea.com/seed/news/seed-imitation-learning-concurrent-actions
https://www.ea.com/seed/news/self-learning-agents-play-bf1
128. Deep Learning: Beyond the Hype, Magnus Nordin Electronic Arts
https://www.gdcvault.com/play/1025098/Deep-Learning-Beyond-the
EA SEED
https://www.ea.com/seed/news/seed-imitation-learning-concurrent-actions
https://www.ea.com/seed/news/self-learning-agents-play-bf1
160. Puzzle ゲームの事例
• AWS re:Invent 2019: How CAPCOM builds fun games fast
with containers, data, and ML (GAM302)
• https://www.youtube.com/watch?v=IlB3xfMXn0w&t=2543s
(19:00-45:00ぐらい)
166. DQNによるアタリゲーム学習過程
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
https://www.youtube.com/watch?v=5WXVJ1A0k6Q
167. • Pπ ロールアウトポリシー(ロールアウトで討つ手を決める。Pπ(a|s) sという状態でaを討つ確率)
• Pσ Supervised Learning Network プロの討つ手からその手を討つ確率を決める。Pσ(a|s)sという状態でaを討
つ確率。
• Pρ 強化学習ネットワーク。Pρ(学習済み)に初期化。
• Vθ(s’) 局面の状態 S’ を見たときに、勝敗の確率を予測する関数。つまり、勝つか、負けるかを返します。
Mastering the game of Go with deep neural networks and tree search
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
https://deepmind.com/research/alphago/
DEEP MIND社:DQNによるアタリゲーム学習過程
168. Mastering the game of Go with deep neural networks and tree search
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
https://deepmind.com/research/alphago/
169. Deep Mind社 「Agent 57」
• Atariの古典的なゲーム57個を人間よりうまくプレイできるよう
になった Deep Mind社のAI
• https://deepmind.com/blog/article/Agent57-Outperforming-
the-human-Atari-benchmark
184. A Brief History of Matchmaking in Heroes of the Storm
Alex Zook, Blizzard Entertainment
https://archives.nucl.ai/recording/a-brief-history-of-matchmaking-in-heroes-of-the-storm/
185. A Brief History of Matchmaking in Heroes of the Storm
Alex Zook, Blizzard Entertainment
https://archives.nucl.ai/recording/a-brief-history-of-matchmaking-in-heroes-of-the-storm/
186. A Brief History of Matchmaking in Heroes of the Storm
Alex Zook, Blizzard Entertainment
https://archives.nucl.ai/recording/a-brief-history-of-matchmaking-in-heroes-of-the-storm/
187. HALO4 TELEMETRY
Tom Mathews Making "Big Data" Work for 'Halo': A Case Study
http://ai-wiki/wiki/images/d/d8/AI_Seminar_177th.pdf
188. Tom Mathews Making "Big Data" Work for 'Halo': A Case Study
http://ai-wiki/wiki/images/d/d8/AI_Seminar_177th.pdf
189. Tom Mathews Making "Big Data" Work for 'Halo': A Case Study
http://ai-wiki/wiki/images/d/d8/AI_Seminar_177th.pdf
190. Gameplay Data Analysis: Asking the Right Questions
Ian Thomas (Epic Games) http://www.gdcvault.com/play/1015482/Gameplay-Data-Analysis-Asking-the
197. 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
198. • 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
199. 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
200. 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
212. 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