ゲームＡＩ入門 (第二回)「ゲームＡＩ研究・開発の進め方」
三宅陽一郎
http://www.facebook.com/youichiro.miyake
Twitter: @miyayou
感想・ご質問は メイルtwitter やfacebookまで
2014.4.25 @東京工科大学八王子キャンパス

ゲームＡＩ入門(第一回)「環境と知性の相互作用」
第一回資料：

http://blogai.igda.jp/article/95055524.html

http://www.facebook.com/youichiro.miyake
Twitter: @miyayou
感想・ご質問は メイルtwitter やfacebookまで
ゲームＡＩ千夜一夜
http://blogai.igda.jp/
三宅陽一郎 論文・講演資料集（４）http://blogai.igda.jp/article/92899318.html

今回、使用する公開ＡＩ資料※以下のリストはすべて無料で公開されている資料で、どなたでもダウンロードできます。
※※CeDILは登録が必要です。
Mario AI コンテスト
Robin Baumgarten Infinite Mario AI - Long Level
https://www.youtube.com/watch?v=DlkMs4ZHHr8Sergey Karakovskiy and Julian Togelius, Mario AI Competition@ICE-GIC 2009http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf
StarCraft におけるパス検索 (AIIDE 2011)
Bob Fitch, Evolution of RTS AI
http://www.movingai.com/aiide11/BlizzardAI.zip
http://www.movingai.com/aiide11/speakers.html
WarFrameにおけるメタＡＩ
AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, andWarframe (AI Summit 2013)
Daniel Brewer, Alex Cheng, Richard Dumas, Aleissia Laidacker
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
Kingdoms of Amalur: Reckoning におけるAIの位置取り
AI Postmortems: Kingdoms of Amalur: Reckoning, Darkness II and Skullsof the Shogun (AI Summit 2012)
Daniel Brewer, Michael Dawe, Borut Pfeifer

http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
http://twvideo01.ubm-us.net/o1/vault/gdc2013/slides/824095Brewer_Daniel_AI%20Postmortems.pdf
シムシティのアルゴリズム
多摩豊，『ウィル・ライトが明かすシムシティーのすべて』，角川書店，1990
http://simlabo.main.jp/educate/material/simshikumi.htm /KILLZONE2 AI
http://aigamedev.com/open/coverage/killzone2/

DUNIA ENGINE
http://www.farcry2-hq.com/downloads,area,techdemos.htm

三宅陽一郎「クロムハウンズにおける人工知能開発から見るゲームAIの展望 」(CEDEC2006)
http://cedil.cesa.or.jp/session/detail/50

森川 幸人
AI DAY(3) ゲームとAIはホントに相性がいいのか？ (CEDEC 2008)
http://cedil.cesa.or.jp/session/detail/156

大橋 晴行、高橋 義之、鎌田 浩平
AI DAY(4) 魔ごころを、きみに ～「勇者のくせになまいきだ。」が目指した自己組織化アルゴリズム～ (CEDEC 2008)
http://cedil.cesa.or.jp/session/detail/162

田邊雅彦、WCCF AIエンジニアリング (DiGRA JANAN 2009年5月公開講座、東京大学)
サッカーゲームＡＩの設計と実装
http://digrajapan.org/?page_id=279
http://digrajapan.org/?wpdmact=process&did=OS5ob3RsaW5r
安藤 毅「サカつく」のサッカー試合ＡＩシステム (CEDEC 2010)
http://cedil.cesa.or.jp/session/detail/379
並木「ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振る舞いをさせる手法」（CEDEC2011）
http://cedil.cesa.or.jp/session/detail/697
佐竹 敏久、池谷 章「ファンタシースターポータブル２のキャラメイクシステム」 (CEDEC 2010)
http://cedil.cesa.or.jp/session/detail/299
小川卓哉 「Phantasy Star Online 2におけるプロシージャルBGMシステム」(CEDEC 2012)
http://cedil.cesa.or.jp/session/detail/773
岡村信幸「ARMORED CORE Vの対戦AIにおける階層型ゴール指向プランニングと機体制御」（CEDEC2011）
http://cedil.cesa.or.jp/session/detail/591
岡村信幸「ARMORED CORE Vのパス検索」 （CEDEC2011）
http://cedil.cesa.or.jp/session/detail/593

横山貴規氏、グラヴォ・ファビアン
FFXIV サーバーサイド経路探索システム
http://www.4gamer.net/games/032/G003263/20121205079/

学歴？

京都大学（数学）

大阪大学（原子核実験物理）

東京大学（エネルギー工学/人工知能）

高エネルギー加速器研究所（半年ぐらい。修士論文）
http://www.facebook.com/youichiro.miyake

Works (2006-2012)

AI for Game Titles

AI for Books

Books
Table of Contents
General Wisdom～
Movement and Pathfinding
Pathfinding Architecture Optimizations
Steve Rabin and Nathan Sturtevant
Choosing a Search Space Representation
Nathan R. Sturtevant
Creating High-Order Navigation Meshes through Iterative Wavefront Edge Expansions
D. Hunter Hale and G. Michael Youngblood
Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers
Fabien Gravot, Takanori Yokoyama, and Youichiro Miyake
Techniques for Formation Movement using Steering Circles
Stephen Bjore
Collision Avoidance for Preplanned Locomotion
Bobby Anguelov
Crowd Pathfinding and Steering Using Flow Field Tiles
Elijah Emerson
Efficient Crowd Simulation for Mobile Games
Graham Pentheny
Animation-Driven Locomotion with Locomotion Planning
Jarosław Ciupiński
Strategy and Tactics
Tactical Position Selection: An Architecture and Query Language
Matthew Jack
Tactical Pathfinding on a NavMesh
Daniel Brewer
Beyond the Kung-Fu Circle: A Flexible System for Managing NPC Attacks
Michael Dawe
Hierarchical AI for Multiplayer Bots in Killzone 3
Remco Straatman, Tim Verweij, Alex Champandard, Robert Morcus, and Hylke Kleve
Using Neural Networks to Control Agent Threat Response
Michael Robbins～

Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers
Fabien Gravot, Takanori Yokoyama, and Youichiro Miyake
http://www.crcpress.com/product/isbn/9781466565968

本日の講義の主題• デジタルゲームＡＩの研究の進め方• デジタルゲームＡＩの情報の集め方

研究…の前に• 研究の前に、自分で一ヶ月間ゲームを作り、その人工知能を作ってみることをお勧めします。
• 本や文献はあとからいくらでも読めるので、まずは自分で苦しみながら考え抜いて作ってみましょう。（とても大切）デジタルゲームＡＩってどういう分野
でしょう？

Mario AI Contest• 最近はいろんな学会で、ＡＩコンテストが開催されている。
• ＡＩコンテストの目的は学術のＡＩ知識を、商業のＡＩ技術へと変換してアピールすること。
• 成功している、とは言い難いがこれから。

今回はMario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

文書を参考に解説いたします。

課題１
ステージが自動生成されるスーパーマリオのAIをどう作るかを考えてみてください。
(1) 何が一番問題となるか？
(2) どのような技術を用いるか？
(3) どのような仕様書を作るか？

設定• マリオのセンサーは周囲の限られたマスの状態だけと取れる。

マリオAIコンテスト(1) 国際学会併設のＡＩコンテスト※最近、海外ではデジタルゲームにおける人工知能技術の研究が盛んになっており、大きな大会では、論文発表と並行してコンテストが行われる場合が多い。ほとんどは、大学の研究室やゲーム企業などからエントリーされる。

(2) 毎年、恒例化
http://www.marioai.org/(3) 目的： デジタルゲームの題材を提供する＝研究を実際のゲームに結びつける＝デモンストレーション、産業へアピール

競技設定(1) Infinite Mario によって、ステージは自動生成(2) マリオは決められた周囲の環境の情報を取って来ることができる。

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

優勝作品： Robin Baumgarten (2K Games)

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

優勝作品： Robin Baumgarten (2K Games)
アイデア•スーパーマリオの全ての敵の挙動を解析して数式に落しておく。
•数式に基づいて、常に次の環境（世界）の状態を予測する。
•各ノードの適合値を予測に基づいて計算する。
• のヒューリスティック関数： 目的の場所までにかかる時間•A*•穴に落ちたり、ダメージを食らったりするケースはペナルティを加える。
•コイン、敵撃墜、パワーアップはとりあえず今のところ無視。

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

A*検索の解説

A* アルゴリズム• Best-First Search アルゴリズム• ゴールまでの残りコストを推定するヒューリスティック関
数• オープンノード群を保持する(最初はスタートノードだけ)• オープンセットが空でない間- オープンセットの中でトータル推定コストが最も低いノードをピックアップ

する- ノード＝ゴールになれば、その経路が求めるべき経路。
- 子ノードをオープンセットに追加（もし既存のノードでも、経路推定がよりよければ、入れ替える）• ヒューリスティック関数が適切ならば、正解を求めることができる。（ヒューリスティック関数は実際より下に見積もるものを取ることが大切）ネットワーク上のグラフ検索法
ダイクストラ法
各ノードの評価距離＝出発点からの経路

V

P

Q

W
R

X

S

A

O

B
3

7
N

F

6

Ｓ

3
E

M
4
L

4
2
K

2

H

C

5

U

5

5

D

Y

T

3 G
3
2
3

Ｇ

Z

J

J

L

C

D

E

I
F

3

G
B

出発点（Ｓ）を中心に、最も短い経路を形成して行く。Gにたどり着いたら終了。

ネットワーク上のグラフ検索法
ダイクストラ法
各ノードの評価距離＝出発点からの経路

V

P

Q

W
R

X

S

A

O

B
3

7
N

F

6

Ｓ

3
E

M
4
L

4
2
K

2

H

C

5

U

5

5

D

Y

T

3 G
3
2
3

Ｇ

Z

J

J

L

C

D

E

I
F

3

G
B

出発点（Ｓ）を中心に、最も短い経路を形成して行く。Gにたどり着いたら終了。

ネットワーク上のグラフ検索法
A*法
ゴール地点がわかっている場合、現在のノードとゴールとの推定距離（ヒューリスティック距離）を想定して、トータル距離を取り、それが最尐のノードを探索して行く。
各ノードの評価距離＝出発点からの経路＋ヒューリスティック距離

V
P

Q

W
R

X

S
A

O

B
3

7
N

F

6

Ｓ

3
E

M
4
L

4

C

3
5

2
K

T

3 G
2

2

3

H
U

5
5

D
3
J

Ｇ

Z

I

Y
ヒューリスティック距離(普通ユークリッド距離を取る)

5+10.5G
3+14.2
B

6+8.4
H3+13.8C

出発点（Ｓ）を中心に、そのノードまでの最も短い経路を形成して行く。 にたどり着いたら終了。
最も短い経路を形成して行く。Gにたどり着いたら終了。

ネットワーク上のグラフ検索法
A*法
ゴール地点がわかっている場合、現在のノードとゴールとの推定距離（ヒューリスティック距離）を想定して、トータル距離を取り、それが最尐のノードを探索して行く。
各ノードの評価距離＝出発点からの経路＋ヒューリスティック距離

V
P

Q

W
R

X

S
A

O

B
3

7
N

F

6

Ｓ

3
E

M
4
L

4

C

3
5

2
K

T

3 G
2

2

3

H
U

5
5

D
3
J

Ｇ

Z

I

Y
ヒューリスティック距離(普通ユークリッド距離を取る)

5+10.5G
3+14.2
B

6+8.4
H3+13.8C

出発点（Ｓ）を中心に、そのノードまでの最も短い経路を形成して行く。 にたどり着いたら終了。
最も短い経路を形成して行く。Gにたどり着いたら終了。

A*検索の解説（終了）Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

ゴールは常に画面右端。

現在のノードから周囲で行けるノードを決めます。
決めるというのは、マリオの運動的に行ける、ということです。

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

現在のノードから周囲で行けるノードを決めます。
決めるというのは、マリオの運動的に行ける、ということです。

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf「敵が来るであろう」ポイントは除外します。

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

モーションプランニング

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

次のノードに移動できたとして、またパスを延長します。
最終的に、目的地（画面の最右端で着地できるところ）まで検索します。

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

次のノードに移動できたとして、またパスを延長します。
最終的に、目的地（画面の最右端で着地できるところ）まで検索します。

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

マリオの現在の速度からの加速などは、
このような数式で近似して考えることにします。

ヒューリスティック関数• ゴールまで辿り着くまでの時間は速度と加速度から計算する。
• 障害物がない場合、最大加速は以下の式。

マリオの現在の速度からの加速などは、
このような数式で近似して考えることにします。
そして、各パスのゴールまでにたどり着く時間を計算します。

Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

1/12 秒後ごとにプランします。

ステージで起こるイベントとの同期• ２ティックごとに更新• オブジェクトと敵の位置をノードに反映

まとめ(1) ステージの変化を予測する。
(2) マリオ自身の動きをシミュレートできる。
(3) A*検索を使う。（目標は右端）(4) 経路だけでなくマリオの動きと共にアクション
プランを作る（モーションプランニング）(5) 敵の重みをA*検索のノードに加える。
(6) ２フレームごとにパス検索をリプラ二ングする。

http://www.youtube.com/watch?v=DlkMs4ZHHr8
Mario AI Competition@ ICE-GIC 2009、Sergey Karakovskiy and Julian Togelius
http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf

まとめ• 「マリオＡＩコンテスト」の事例を通して、デジタ
ルゲームＡＩの研究・開発の感覚をつかんでいただければと思い紹介しました。
• どうでしたでしょうか？
• ここからは、６つのメソッドをご紹介しましょう。

LESSON 1

Lesson1:
いろいろなゲームＡＩの学会・産業カンファレンスの情報を集めよう！
• 最先端の情報を集めよう。
• 理解しよう。
• 使おう。
• 研究しよう。

カンファレンス

主催コミュニティ

GDC AI Summit(Game Developer’s
Conference)

AI Game Programmers Guild

http://www.gdconf.com/

http://www.gameai.com

Game AI Conference

AI Game Dev.COM

http://gameaiconf.com/

http://aigamedev.com/

AIIDE(AI and Interactive
Digital Entertainment )AAAI

http://www.aiide.org

IEEE CIG(IEEE Computational
Intelligence and Games )IEEE CIS(IEEE Computational
Intelligence Society )http://www.ieee-cig.org/

http://www.ieee-cis.org/

GDC AI Summit (2009～)～(Game Developer’s Conference)- 2009 年より開催- GDC 世界最大のゲームAIカンファレンス（２万人）- ５日の最初の２日間にAIチュートリアル= AI Summit- AI ゲームプログラマーズギルドが主催- ２日間に渡って産学の講演者が各トピックを議論- これに出ると前の年のゲームAIの傾向が分かる。
の傾向が分かる。
- 資料はすべて GDC Vault か
AIGameDev.Com で公開
http://www.gdcvault.com/

AI Game Programmers Guild (2008～)
～

•
•
•
•
•
•
•
•
•

ゲームAI業界の中心人物が集まるギルド。研究者も多数在籍
母体となった IGDA AI-SIG は弱体化（いまいちアクティブに活動できなかった）。
主催 Steve Rabin (AI Game Programming Wisdom)
中心はメイリングリスト（英語）/情報交換
毎日５～６通は必ず届く。
各種イベント開催(AI Summit)の準備MLを兼ねる
入会資格は一つのタイトルでAIを担当（実はこの縛りはないので申込むとOK）
入っておくとゲームAIの動きが見えてとっても便利（発言もしよう）
産業界でのコネクション、力を持つ野心的なギルドでもある。

Game AI Conference- ゲームAI業界の産業カンファレンス- パリ・ウィーンなど欧州で開催。
- 主催は、 AIGameDev.Com- 資料は AIGameDev.Com で公開- 学生も多い。やはり欧州などが中心- GDC と並んで、AI Programmers Guild も深く関わっているが、学術との交流も志向。

GDC AI Summit(Game Developer’s
Conference)•

WarFrameにおけるメタＡＩ

AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (AI Summit 2013)
Daniel Brewer, Alex Cheng, Richard Dumas, Aleissia Laidacker
http://www.gdcvault.com/play/1018223/AI
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed•

Kingdoms of Amalur: Reckoning におけるAIの位置取り

AI Postmortems: Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the Shogun (AI Summit 2012)
Daniel Brewer, Michael Dawe, Borut Pfeifer
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
http://www.gdcvault.com/play/1015380/AI
http://twvideo01.ubm
http://twvideo01.ubm-us.net/o1/vault/gdc2013/slides/824095Brewer_Daniel_AI%20Postmortems.pdf

GDC Vault を活用しよう。 http://www.gdcvault.com/

GDC AI Summit(Game Developer’s
Conference)

AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, andWarframe (AI Summit 2013)
Daniel Brewer, Alex Cheng, Richard Dumas, Aleissia Laidacker
http://www.gdcvault.com/play/1018223/AI
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassins-Creed

メタAI
Meta-AIGDC AI Summit(Game Developer’s
Conference)

AI Postmortems: Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the
Shogun (AI Summit 2012)
Daniel Brewer, Michael Dawe, Borut Pfeifer
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
http://www.gdcvault.com/play/1015380/AI
http://twvideo01.ubm
http://twvideo01.ubmus.net/o1/vault/gdc2013/slides/824095Brewer_Daniel_AI%20Postmortems.pd
f

ポジショニング
Positioning

AIIDE(AI and Interactive
Digital Entertainment )• StarCraft におけるパス検索 (AIIDE 2011)
Bob Fitch, Evolution of RTS AI
http://www.movingai.com/aiide11/BlizzardAI.zip
http://www.movingai.com/aiide11/speakers.html
パス検索Path-finding

Lesson1:
いろいろなゲームＡＩの学会・産業カンファレンスの情報を集めよう！
• 自分の研究したい分野を探す。
• その分野の現状を知る。
• 最先端がどこかを知る。
• そこで何が問題になっているかを知る。
• インパクトのある研究課題を考える。

LESSON 2

Lesson 2:
古きを訊ねよう！
• 70年代、80年代、90年代のゲームＡＩの実例を集めてみよう。
• 現代にどうつながっているかという系譜を自分なりに確立しよう。
• そしたら、みんなと共有しよう。

シムシティ（1989）のコンセプト

多摩豊，『ウィル・ライトが明かすシムシティーのすべて』，角川書店，1990
http://simlabo.main.jp/educate/material/simshikumi.htm

シムシティ（1989）のコンセプト「大事なのは街を構成する建物とか道路じゃなくって、そこでどんな活動が行われているかってことだと思うんだ
道路を車が走り、電車が動き、人々が動き回り、常に要素が変化し続ける“動きのある”システム。」「プレイヤーに伝える情報をできるだけわかりやすく、
それも“面白い”って思えるような形で表現しようってことだった。
シミュレーション・ソフトっていうとたいてい数値や図表がたくさん出てくるけれど、数字が並んでいるのをじっと見るよりアニメーションの方が楽しい。人口密度、ランド・バリュー、交通の量なんかのいろんな情報を一目で把握できて、おまけに街全体が一つのシステムになっていることも表現できる方法。

シムシティ

「街を構成するいろいろな要素を14個のアイコンであらわしている。」

シムシティ

「プレイはこの要素をエディット・ウィンドに置いていくことによって進行するんだけど、要素はマップ上に置かれると後は勝手に色々変化することになっている。」

シムシティ

「要素にはそれぞれ他の要素に与える影響、他の要素から受ける影響など、いろいろなデータが含まれていて、いったんこれが置かれると、他の要素と相互に関係を持ち始めて状態が変化することになるんだ。」

シムシティ

「街のシステム全体は式一つで表せるようなものじゃない。だから個々の要素が他の要素とどういう関係を持っているかを一つ一つ式にして、それを組み合わせることによって街全体をシミュレートしよう。」

多層構造
マップレイヤー…１マスｘ１マス（道路や鉄道の要素の大きさの）単位で要
素と要素の関係を計算している

マップ上に置かれた要素同士の関係（例）－ 居住地域と発電所が送電線でつながっているか－ もし繋がっていなければ居住地域は活動しない－ 繋がっていれば人口増加が起きる

影響マップの方法 <解説>

Influence Map(影響マップ)
セル分割されたマップに、問題とする性質の評価値を記録して行く方法（例）①占有度

0,2

0,4

0,6

0,4

0,2

0,0

0,4

0,6

0,8

0,6

0,4

0,2

0,6

0,8

1,0

0,8

0,6

0,4

0,4

0,6

0,8

0,6

0,4

0,2

0,2

0,4

0,6

0,4

0,2

0,0

0,0

0,2

0,4

0,2

0,0

0,0

http://www.fdaw.unimaas.nl/education/4.5GAI/slides/Influence%20Maps.ppt

Influence Map(影響マップ)
セル分割されたマップに、問題とする性質の評価値を記録して行く方法（例）①占有度② 通過可能確率

0,2

0,4

0,6

0,4

0,2

0,0

0,4

0,6

0,8

0,6

0,4

0,2

0,6

0,8

1,0

0,8

0,6

0,4

0,4

0,6

0,8

0,6

0,4

0,2

0,2

0,4

0,6

0,4

0,2

0,0

0,0

0,2

0,4

0,2

0,0

0,0

http://www.fdaw.unimaas.nl/education/4.5GAI/slides/Influence%20Maps.ppt

２つの影響の重ね合わせ
0.8

0.8

0.8

0.6

0.4

-0.4

-0.6

-0.6

-0.6

-0.4

0.8

1.0

0,8

0.6

0.4

-0.6

-0.8

-0.8

-0.8

-0.4

0.8

0.8

0.6

0.8

1.0

-0.6

-0.8

-1.0

-0.8

-0.6

0.4

0.6

0.8

1.2

1.0

-0.6

-0.8

-0.8

-0.8

-0.6

0.2

0.4

0.6

1.0

1.0

-0.4

-0.6

-0.6

-0.6

-0.4

ア トラクター

デトラクター

0.4

0.2

0.2

0.0

0.0

0.2

0.2

0,0

-0.2

0.0

0.2

0.0

-0.4

0.0

0.4

-0.2

-0.2

0.0

-0.4

0.4

-0.2

-0.2

0.0

0.4

0.6

Influence Map(影響マップ)（例）様々なIMから計算して戦略的な位置取りを計算する
4

6

8

4

6

8

4

6

4

6

2

8

8

6

4

2

0

-1

-2

-4

8

8

8

4

2

1

0

-2

-4

8

8

8

6

3

1

0

-2

-4

8

8

8

6

6

4

1

0

-2

4

6

8

6

6

4

1

2

4

6

6

4

2

2

3

3

3

3

4

2

2

0

3

2

2

2

3

8

-4

-4

-2

-4

-2

-4

-2

-4

-4

-2

4
0
-1
-2
0,50
0,75
0,2 0,75
0,4
0,6
-4
-5
-3
-3

-4
1,00
0,4
-4

-4
-4 -2
0,75
0,50
0,2
0,0
-4
-2 -1

0

-4
-5
-5 1,00-8
0,75
0,4 1,00
0,6
0,8
-2 -4
-8
-10

-8
1,00
0,6
-10

-6
-4 0,50-2
0,75
0,4
0,2
-8
-4 -2

-10 0,75-8
1,00
0,8-10 0,75
1,0
0,8

-80,6 -4 0,25
0,50
0,4-2

-4

3

3

3

2

2

1

0

-4 0,75
-80,6

2

2

2

2

1

1

0

-3

-10

-8

1

1

1

1

0

0

-2

0,6 -8 0,75
0,8
-4 0,75-80,4 -81,00
-8

0,50
0,6
-8

0,25
0,2-8
-80,4 -8 0,00

0

0

0

0

0

-1

-1

-2

0

0

0

0

-1

-2

-2

-5
-6
-6
-6
0,75
1,00
0,75
-2 -40,2 -4 0,4 -4 0,6
-6

-8
0,50
0,4
-8

-8 -8
0,25
0,00
-80,2 -8 0,0-8

0

0

0

0

-1

-2

-2

0

0

0

0

-1

-2

-2

-2
-2
-2
-2
0,0 1,00
0,2
0,4
0,75
0,75
-2 -2
-2
-2
-2

-2
0,2
0,50
-2

-2
-2 -2
0,0
0,0
0,25
0,00
-2
-2 -2

0

0

0

0

-1

-1

-1

-1

-8

-1

-10

-1

-1

-1

-1

-8

-1

-4

-1

-2

-1

http://www.fdaw.unimaas.nl/education/4.5GAI/slides/Influence%20Maps.ppt

Age of Empire(AOE)における利用例
AOEはタイルベースのＲＴＳ（リアルタイムストラテジー）
マップは毎回、自動生成

Terrain Analysis in Realtime Strategy Games
Dave C. Pottinger (Technical Director, Ensemble Studios)
http://astarimpl.googlecode.com/svn/trunk/pathfinding%20-%20samples/pottinger.doc

Age of Empire(AOE)における利用例①
金鉱発掘小屋の最適位置自動検出

Figure 3: Influence map around gold mines.

0.8 0.8 0.8-0.6 -0.6 -0.6

0.8 1.0 0.8-0.6 -1.0 -0.6

0.8 0.8 0.8-0.6 -0.6 -0.6

金鉱＝アトラクター(吸引源)

防壁＝デトラクター（排斥源）

ＡＩに金鉱の発掘小屋を適切な位置に置かせるには？
＝ 金鉱に近いが、近すぎてはいけないところに置く

金鉱の回りのタイル（仮想的）防壁を置いて、近すぎも遠すぎもしない点に最高点のタイルが来るようにする＝ 自動位置検出Age of Empire(AOE)における利用例②兵隊の配置の最適位置自動検出

0.8 0.8 0.8-0.6 -0.6 -0.6

0.8 1.0 0.8-0.6 -1.0 -0.6

0.8 0.8 0.8-0.6 -0.6 -0.6

高い場所＝アトラクター(吸引源)

家がある場所＝デトラクター（排斥源）

兵士を街からなるべく遠く、高台の場所に置かせたい＝ 高い場所(アトラクター)、家がある（デトラクター）とする

Age of Empire(AOE)における利用例③
兵隊の配置の最適位置自動検出-0.6 -0.6 -0.6
-0.6 -1.0 -0.6
-0.6 -0.6 -0.6

既知の敵のビル、以前通ったルート ＝ デトラクタ（排斥源）
この排斥源が与えるコストをパス検索のコストとすると、「なるべく遠ったことにない敵の基地からみつかりにくいパス」
を見つけることが出来る。

Killzone 2 における影響マップ
ボット、砲塔、死亡ポイントの情報を反映させる
さまざまな意思決定に用いる

http://aigamedev.com/open/coverage/killzone2/

影響マップの方法 <解説>終わり

多層構造
マップレイヤー…１マスｘ１マス（道路や鉄道の要素の大きさの）単位で要
素と要素の関係を計算している

マップ上に置かれた要素同士の関係（例）－ 居住地域と発電所が送電線でつながっているか－ もし繋がっていなければ居住地域は活動しない－ 繋がっていれば人口増加が起きる多層構造
２マスｘ２マスを単位とするレイヤー
人口密度、交通渋滞、環境汚染度、
ランドバリュー、犯罪発生率、それぞれの数値だけを計算

多層構造
２マスｘ２マスを単位とするレイヤー
人口密度、交通渋滞、環境汚染度、
ランドバリュー、犯罪発生率、それぞれの数値だけを計算

人口密度

環境汚染度

ランドバリュー
ランドバリュー

犯罪発生率

多層構造
４マスｘ４マスを単位とするレイヤー
人口増加率を計算

多層構造
８マスｘ８マスを単位とするレイヤー
人口増加率、消防署、警察署の影響力を
計算

人口増加率

消防署

警察署

各層、各要素間の関係
第一層
道路や鉄道、 要素の大きさ要
素間の関係をシミュレーション
第二層「人口密度」「交通渋滞」「環境汚染度」「 ランドバリュ ー」「犯罪発生率」 をシミュ レーション

第三層
地形の影響をシミュレーション

第四層「人口増加率」「消防署」「警察署」「 消防署の影響」「警察署の影響」 をシミュレーション

犯罪発生率 = 人口密度^2 – ランドバリュー – 警察署の影響
ランドバリュー = Distance[Zonetype] + 地形 + 輸送
“AI: A Desing Perspective” AIIDE 2005
http://www.aiide.org/aiide2005/talks/index.html
http://thesims.ea.com/us/will/

多摩 豊,角川書店, 1990
「ウィル・ライトが明かすシムシティーのすべて」,

要素間の相互作用
２マスｘ２マスを単位とするレイヤー
人口密度、交通渋滞、環境汚染度、
ランドバリュー、犯罪発生率、それぞれの数値だけを計算

人口密度

環境汚染度

ランドバリュー
ランドバリュー

犯罪発生率

多層間の相互作用

人口密度

環境汚染度

ランドバリュー
ランドバリュー

犯罪発生率
人口増加率

消防署

警察署

ユーザーによるアクションの影響の広がり
ユーザーアクション
ユーザーがアクションします。

ユーザーによるアクションの影響の広がり
ユーザーアクション
その影響が広がります。

ユーザーによるアクションの影響の広がり
ユーザーアクション
その影響が広がります。

ユーザーによるアクションの影響の広がり
ユーザーアクション
次の層にも伝播します。

ユーザーによるアクションの影響の広がり
ユーザーアクション
次の層にも伝播します。

ユーザーによるアクションの影響の広がり
ユーザーアクション
次の層にも伝播します。

ユーザーによるアクションの影響の広がり
ユーザーアクション
逆に伝播経路と通って影響が返ってきます。

ユーザーによるアクションの影響の広がり
ユーザーアクション
逆に伝播経路と通って影響が返ってきます。

ユーザーによるアクションの影響の広がり
ユーザーアクション
逆に伝播経路と通って影響が返ってきます。

ユーザーによるアクションの影響の広がり
ユーザーアクション
ユーザーのアクションによる影響が様々なレイヤーに伝搬しながら伝わって行き、それぞれそれぞれの反響が時間を遅延しながら返って来る。

ユーザーによるアクションの影響の広がり
ユーザーアクション
ユーザーのアクションによる影響が様々なレイヤーに伝搬しながら伝わって行き、それぞれそれぞれの反響が時間を遅延しながら返って来る。

＝
街という生きたシステムを経験する。

シムシティの可能性空間＝多重な時間のフィードバックループ

ユーザー

3秒

30秒

3分

課題：
階層型影響マップを使ってゲームを組み立てよう。
1. テーマを決めてください。 （例）街2. そのテーマにどのような多層レイヤーを設定するか。
3. そのレイヤー同士の相互作用を決めてください。
4. 結果、ユーザーにどのような体験を提供しますか？

1. 文明シミュレーション

2. レイヤー設定
ユーザーアクション
文明間の争い交易

接触と同時に技術伝搬
言葉の広がり道具の広がり技術の広がり生活様式・政治体制の伝搬

文化の伝搬

3. 要素間の関係
ユーザーアクション
文明間の争い交易

接触と同時に技術伝搬
言葉の広がり道具の広がり技術の広がり技術＝道具ｘ特定の言葉

生活様式・政治体制の伝搬

生活様式＝道具＋技術

文化の伝搬

文化＝技術 ＋ 生活様式

4.何をユーザーに体験させるか？
戦闘と交易によって文化が伝搬して行く様子Lesson 2:
古きを訊ねよう！
• 古い技術には現代へ通じる地脈がある。
• 古い技術を現代に使い直すと新しい可能性がみつかる。
• 古い技術の概念を抜き出して現代に新しく応用せよ。
• 現代によみがえってない技術は、これからチャンスがある。
• 学術的には知の番人として古い仕事を知っていることは必須である。

LESSON 3

Lesson 3: 国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
••

三宅陽一郎「クロムハウンズにおける人工知能開発から見るゲームAIの展望
三宅陽一郎「クロムハウンズにおける人工知能開発から見るゲームの展望 」(CEDEC2006)」
http://cedil.cesa.or.jp/session/detail/50••

森川 幸人 AI DAY(3) ゲームとAIはホントに相性がいいのか？ (CEDEC 2008)
http://cedil.cesa.or.jp/session/detail/156•••

大橋 晴行、高橋 義之、鎌田 浩平
AI DAY(4) 魔ごころを、きみに ～「勇者のくせになまいきだ。」が目指した自己組織化アルゴリズム～ (CEDEC 2008)
http://cedil.cesa.or.jp/session/detail/162••

安藤 毅 「サカつく」のサッカー試合ＡＩシステム (CEDEC 2010)
http://cedil.cesa.or.jp/session/detail/379••

佐竹 敏久、池谷 章「ファンタシースターポータブル２のキャラメイクシステム」 (CEDEC 2010)
http://cedil.cesa.or.jp/session/detail/299••

並木幸介「ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振る舞いをさせる手（CEDEC2011）
http://cedil.cesa.or.jp/session/detail/697••

岡村信幸「ARMORED CORE Vの対戦AIにおける階層型ゴール指向プランニングと機体制御」（CEDEC2011）
http://cedil.cesa.or.jp/session/detail/591••

岡村信幸「ARMORED CORE Vのパス検索」 （CEDEC2011）
http://cedil.cesa.or.jp/session/detail/593••

小川卓哉 「Phantasy Star Online 2におけるプロシージャルBGMシステム」(CEDEC 2012)
http://cedil.cesa.or.jp/session/detail/773

Lesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 三宅陽一郎• クロムハウンズにおける人工知能開発から見るゲームAIの展望 」(CEDEC2006)• http://cedil.cesa.or.jp/session/detail/50

ゴール指向型
プランニング
Goal-Oriented
Planning

Lesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 森川 幸人 AI DAY(3) ゲームとAIはホントに相性がいいのか？ (CEDEC 2008)• http://cedil.cesa.or.jp/session/detail/156

遺伝的アルゴリズム
Genetic Algorithm

Lesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 大橋 晴行、高橋 義之、鎌田 浩平• AI DAY(4) 魔ごころを、きみに ～「勇者のくせになまいきだ。」が目指した自己組織化アルゴリズム～ (CEDEC 2008)• http://cedil.cesa.or.jp/session/detail/162

生態系
EcologｙLesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 安藤 毅 「サカつく」のサッカー試合ＡＩシステム (CEDEC 2010)• http://cedil.cesa.or.jp/session/detail/379

プランニング・シナリオ生成
Planning /Story Generation

Lesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 佐竹 敏久、池谷 章「ファンタシースターポータブル２のキャラメイクシステム」(CEDEC 2010)• http://cedil.cesa.or.jp/session/detail/299

キャラクター・メーキング
Character Making

Lesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 並木幸介「ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AI
に多様な振る舞いをさせる手（CEDEC2011）• http://cedil.cesa.or.jp/session/detail/697

アフォーダンス
AffordanceLesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 岡村信幸「ARMORED CORE Vの対戦AIにおける階層型ゴール指向プランニン
グと機体制御」（CEDEC2011）• http://cedil.cesa.or.jp/session/detail/591

線形計画法
Liner PlanningLesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 岡村信幸「ARMORED CORE Vのパス検索」 （CEDEC2011）• http://cedil.cesa.or.jp/session/detail/593

三次元パス検索3D Path-planningLesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 小川卓哉 「Phantasy Star Online 2におけるプロシージャルBGMシステム」(CEDEC 2012)• http://cedil.cesa.or.jp/session/detail/773

プロシージャル・サウンド
Procedural Sound

Lesson 3:
国内の事例はDiGRA JAPAN サイトで集めよう。
••••

田邊雅彦、WCCF AIエンジニアリング
田邊雅彦、
エンジニアリング (DiGRA JANAN 2009年5月公開講座、東京大学)
年 月公開講座、東京大学
サッカーゲームＡＩの設計と実装
http://digrajapan.org/?page_id=279
http://digrajapan.org/?wpdmact=process&did=OS5ob3RsaW5r

CeDIL を活用しよう。 http://cedil.cesa.or.jp/
DiGRA JAPAN 資料を活用しよう。http://digrajapan.org/
http://digrajapan.org/

Lesson 3:
国内の事例はCeDIL (CEDEC 資料サイト)で集めよう。
• 国内の事例は多くない。各社の事例で外で発表されているものが多くない。
• しかし明確に海外と違う細やかさがある。
• 国内のAIの系譜を掘り起こすこと自体が大きな仕事になるだろう。
• これから海外と国内を分ける意味がなくなって来るだろう。
• ソーシャルゲームのAIはまだ全貌が見えていない。

LESSON 4

Lesson 4:
海外AI情報サイトを活用しよう。
• 現在、ほとんどの産業のゲームＡＩの情報は海外から発信される。
• 日本語の情報はほとんどが二次情報• 英語で情報を集める力が必要とされる。
• 将来的（博士以降、ゲーム開発者）には英語
で情報を発信する情報が必須となる。

AI Game Dev.COM- ゲームAIの実例紹介・技術紹介- 開発インタビュー- 論文紹介- カンファレンス資料 (GDC AI Tutorial,
Paris Game AI Conference ) が掲載-非常に重要な情報源--登録が必要（無料）-有料会員記事と無料会員記事がある。
--Alex Champandard が主催（研究者からゲーム産業へ。
産業と学術を繋ぐ人物）

Lesson 4:
海外AI情報サイトを活用しよう。
• KILLZONE2 AI
http://aigamedev.com/open/coverage/killzone2/• DUNIA ENGINE
http://www.farcry2
http://www.farcry2-hq.com/downloads,area,techdemos.htm

Lesson 4:
海外AI情報サイトを活用しよう。
• KILLZONE2 AI
http://aigamedev.com/open/coverage/killzone2/

チーム協調
Team Co-operation

Lesson 4:
海外AI情報サイトを活用しよう。
• DUNIA ENGINE (で検索してみてください)
http://www.farcry2
http://www.farcry2-hq.com/downloads,area,techdemos.htm

プロシージャル技術
Procedural
Generation

GDC 2008

FarCry2 におけるプロシージャル技術
50km四方のマップを作る
オブジェクト（草木）＆アニメーションデータを自動生成

植物に関してプロシージャルのアルゴリズムの助けを借りてデザイナーが生成（まとまった単位土地内の分布、成長率などを指定して生成）
アニメーションや破壊のされ方は、簡単な設定をしておけば、ゲーム内で環境に応じてシミュレートされる。
（例）草原で炎が燃え広がる

FarCry2 (Dunia Engine ) デモ

http://www.farcry2-hq.com/downloads,18,dunia-engine-nr1.htm

草原自動生成時間システム

樹木自動生成動的天候システム

動的天候システム

Lesson 4:
海外AI情報サイトを活用しよう。
• 世界全体でゲームAIの研究・開発は加速しつつある。
• 大学発の流れ、産業発の流れ、また二つの流れが融合して盛り上がっている流れなどがある。その一つ一つの流れを丁寧に理解する。
• 大学側からは研究を通して産業に大きな影響をおよぼす可能性がある。

LESSON 5

Lesson 5:
本を読もう。

Game AI 知識の集積
2000

2006

2010

知識の集積

AI Game Programming Wisdom

Game AI 知識の集積
2000

2006

2010

AIGameDev ＝ オンライン情報サイト
知識の集積

AI Game Programming Wisdom

BooksTable of Contents
General Wisdom～
Movement and Pathfinding
Pathfinding Architecture Optimizations
Steve Rabin and Nathan Sturtevant
Choosing a Search Space Representation
Nathan R. Sturtevant
Creating High-Order Navigation Meshes through Iterative Wavefront Edge Expansions
D. Hunter Hale and G. Michael Youngblood
Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers
Fabien Gravot, Takanori Yokoyama, and Youichiro Miyake
Techniques for Formation Movement using Steering Circles
Stephen Bjore
Collision Avoidance for Preplanned Locomotion
Bobby Anguelov
Crowd Pathfinding and Steering Using Flow Field Tiles
Elijah Emerson
Efficient Crowd Simulation for Mobile Games
Graham Pentheny
Animation-Driven Locomotion with Locomotion Planning
Jarosław Ciupiński
Strategy and Tactics
Tactical Position Selection: An Architecture and Query Language
Matthew Jack
Tactical Pathfinding on a NavMesh
Daniel Brewer
Beyond the Kung-Fu Circle: A Flexible System for Managing NPC Attacks
Michael Dawe
Hierarchical AI for Multiplayer Bots in Killzone 3
Remco Straatman, Tim Verweij, Alex Champandard, Robert Morcus, and Hylke Kleve
Using Neural Networks to Control Agent Threat Response
Michael Robbins～

Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers
Fabien Gravot, Takanori Yokoyama, and Youichiro Miyake
http://www.crcpress.com/product/isbn/9781466565968

Lesson 5:
本を読もう。
• 過去の論文や専門の書籍をよく読みこみましょう。
• 自分の仕事とどんどんとリンクさせて、自分の仕事を太らせましょう。
• それから自分の仕事を鍛えましょう。

LESSON 6

Lesson6:
自分で築いた知識を世界に向けて発信しよう。
• 学術で研究した技術を学会で発表しよう。
• 学術で研究した技術を産業に向けて（GDCとか、CEDECとか、とか、書籍とか）発表しよう。
• 産業で築いた技術を産業に向けて（GDCとか、CEDECとか、書とか、書籍とか）発表しよう。
• 産業で築いた技術を学術に向けて学会などで発表しよう。
産業
産業カン
ファレンス

学術
相互作用
学会

Lesson6:
自分で築いた知識を世界に向けて発信しよう。
• 横山貴規氏、グラヴォ・ファビアン
FFXIV サーバーサイド経路探索システム
http://www.4gamer.net/games/032/G003263/20121205079/
ルックアップテーブル
Look-up Table日本のＡＩ事例、海外のＡＩ事例-アーケード- 家庭用
デジタルゲーム誕生期
デジタル
ゲーム
世界展開期

技術ドリブン

デジタル
ゲーム日本
成長期

コンテンツドリブン

ビジネスドリブン

技術ドリブン、コンテンツドリブン• 海外、特に米は技術によってゲームを底上げしてからコンテンツを作ろうとする風土がある。
• サイエンスとしてのゲーム。
• 日本は、コンテンツファースト。その次に技術、と現場では言われることが多い。
• 「技術のためにコンテンツがあるのではないのだぞ」「いや、そうは言ってないで、土台は技術で作りましょうよ。」「三宅、なまいき！」 →今に至る。

技術ドリブン、コンテンツドリブン• ＡＩは特にコンテンツと結びついている。
• 日本ではなかなか技術が入れにくい。
• 技術でＡＩを持ち上げるという発想が弱い。
• 残念ながら技術的には数年遅れている。
• ただ使いこなすノウハウは日本の方がうまい。
• 海外は不器用に技術を入れるしかない。
• 日本は細かい技が上手（でもスケール的に限界。）
AI技術で基本システムを作れるエンジニアが各社に必要。
AI技術をある程度理解して導入を促し使いこなせるゲームデザイナーが必要。

現代のゲーム技術
タイトル専用の技術

タイトル専用
の技術
基盤技術
（＝ゲーム
エンジン）
基盤技術
各タイトルごとに技術を入れるより、ゲーム開発技術をゲームエンジンと結晶させて発展させて行く時代。

＝ 可能であればゲームエンジンに、そうでなくても、各タイトルごとにＡＩ技術を導入しよう。

Lesson6:
自分で築いた知識を世界に向けて発信しよう。
• 情報は発信する者に集まる。
• 研究を発表すれば研究者/開発者とつながる。
• 研究者は最先端でなければならない。
• 開発は最高峰であることが望ましい。
• 研究に深い根を張れるように、過去から現在へ至る仕事を調べて自分のものにしよう。

まとめ• デジタルゲームＡＩは、まだ若く研究を始めにくい分野です。
• 若いからこそ、たくさんの重要な課題が転がっていて、インパクトのある研究をするチャンスがあります。
• 今日は、そういった研究を始めるための題材を事例としてご紹介しました。
• ここから研究テーマがみつかることを願いします。

ゲームＡＩ入門「ゲームＡＩ研究・開発の進め方」
http://www.facebook.com/youichiro.miyake
Twitter: @miyayou
感想・ご質問は メイルtwitter やfacebookまで
ゲームＡＩ千夜一夜
http://blogai.igda.jp/
三宅陽一郎 論文・講演資料集（４）http://blogai.igda.jp/article/92899318.html