関西ゲームＡＩラウンドテーブル

三宅 陽一郎y.m.4160@gmail.com

twitter:
twitter miyayou

2010.5.8.

Contact Information
Youichiro Miyake• Mail：y.m.4160@gmail.com• Twitter: @miyayou• Blog：http://blogai.igda.jp• LinkedIn: http://www.linkedin.com/in/miyayou• Facebook： http://www.facebook.com/youichiro.miyake日本でもゲームＡＩを盛り上げて行こう！
(1) IGDA日本 ゲームＡＩメイリングリスト
ゲームＡＩの情報がたくさん！
参加されたい方は、三宅まで、
企業名と名前、登録メイルアドレスを送ってください。

(2) IGDA日本 SIG-AI （ゲームＡＩ専門部会）
上記のＭＬと同義です。

(3) ゲームＡＩコミュニティ in mixi
SIG-AI の mixi のコミュニティ・サイトです。
ML や SIG-AI に関係なく自由に参加してください。

欧米のゲームＡＩの系譜
欧米
日常
AIの内面
内面モデル
モデルと
環境との
との相互作用
相互作用の
モデル
と環境
との
相互作用
の探求

(Ex.)The Sims

FPS
迅速な
意思決定、
柔軟な
アクション、
移動、
迅速
な意思決定
、柔軟
なアクション、賢い移動、連携

キャラクターAI(Ex.)Halo, F.E.A.R, Killzone,SprinterCell

ゲーム
ＡＩ
メタ
AI

ゲーム状況
状況を
モニターしてしてコントロール
ゲーム
状況
をモニター
して
コントロール(Ex.)Left4Dead欧米のゲームＡＩの系譜
欧米
日常
AIの内面
内面モデル
モデルと
環境との
との相互作用
相互作用の
モデル
と環境
との
相互作用
の探求

(Ex.)The Sims

FPS
迅速な
意思決定、
柔軟な
アクション、
移動、
迅速
な意思決定
、柔軟
なアクション、賢い移動、連携

キャラクターAI
ゲーム
ＡＩ(Ex.)Halo, F.E.A.R, Killzone,SprinterCell

日本
？

メタ
AI

キャラクターＡＩ
ＡＩの自律性がキャラクター
ＡＩ
の自律性
が弱い
メタＡＩ
ＡＩと
キャラクターＡＩ
ＡＩのメタ
ＡＩとキャラクター
ＡＩ
の混在

ゲーム状況
状況を
モニターしてしてコントロール
ゲーム
状況
をモニター
して
コントロール(Ex.)Left4Dead欧米のゲームＡＩの系譜
欧米
日常
AIの内面
内面モデル
モデルと
環境との
との相互作用
相互作用の
モデル
と環境
との
相互作用
の探求

(Ex.)The Sims

FPS
迅速な
意思決定、
柔軟な
アクション、
移動、
迅速
な意思決定
、柔軟
なアクション、賢い移動、連携

キャラクターAI(Ex.)Halo, F.E.A.R, Killzone,SprinterCell

日本

ゲーム
ＡＩ

？
メタ
AI

キャラクターＡＩ
ＡＩの自律性がキャラクター
ＡＩ
の自律性
が弱い
メタＡＩ
ＡＩと
キャラクターＡＩ
ＡＩのメタ
ＡＩとキャラクター
ＡＩ
の混在

ゲーム状況
状況を
モニターしてしてコントロール
ゲーム
状況
をモニター
して
コントロールプロシージャル(Ex.)Left4Dead

議題：キャラクターＡＩ

キャラクターＡＩ
キャラクターＡＩ＝ 意思決定×パス検索
エージェントアーキテクチャ

コンセプト

設計

実装

議題① キャラクターＡＩのコンセプト• ＡＩのコンセプトはどう固めるべきか？
• まず何を決めるべきか？
• 企画は開発当初、何をするべきか？
• プログラマーは事前に何を準備しておくべきか？

議題② キャラクターＡＩのアーキテクチャ
キャラクターというものをどう捉えるか？

• キャラクターAIのフレームワーク• エージェントアーキテクチャ

エージェントとは？
① 環境に対して情報を集める感覚（センサー）を持つ② 自ら判断する能力を持つ。
③ 環境に対して働きかけることができる能力を持つ。

！

感覚を持ち

自ら判断して世界に働きかける能力を持つ

ゲームにおけるエージェント

ゲーム世界

感覚を
感覚を通じてゲーム世界
ゲーム世界と世界と自分の
自分の状態を
状態を取得

身体を
身体を通じてゲーム世界
ゲーム世界と世界と相互に相互にインタラクション

エージェント・アーキテクチャーにおける情報の流れ
ＮＰＣ

感覚を
感覚を通じてゲーム世界
ゲーム世界と世界と自分の
自分の状態を
状態を取得

身体を
身体を通じてゲーム世界
ゲーム世界と世界と相互に相互にインタラクション

ゲーム世界

この情報
情報の
の流れに
れに仕掛
仕掛けをしてみよう
けをしてみよう！
！
この
情報
仕掛けをしてみよう
「人工知能
人工知能＝
＝からくり
からくり」」
作り方を勉強
勉強しよう
しよう！
！
しよう

エージェント・アーキテクチャー時間
ＮＰＣの知能部分

ＮＰＣから
ＮＰＣから見
から見た認識

認識
過程

意思決定
機構

行動生成
過程

知識モデル
知識モデル化
モデル化 記憶と記憶と思考の思考の相互作用

記憶
内部状態

センサー

エフェクター

知覚する
知覚する

行動する
行動する

知識表現・世界表現(ゲーム世界ゲーム世界の世界の特徴を
特徴を抽出した抽出したデータ
したデータのこと
データのこと)

ゲーム世界

身体
相互作用

時間

説明の仕方『技術を仕掛けて効果を得る』
ＮＰＣの知能部分
認識
過程

意思決定
技術
機構

行動生成
過程

（各部分に技術を組み込む）

記憶
内部状態
知識表現・世界表現効果（知性が特性を得る）

ゲーム世界

企画 … 効果を効果を知り、対応する対応する技術する技術を技術を知っておく。
っておく。
プログラマー … 技術を技術を学び、効果を効果を知っておく。
っておく。

Killzone
時間

動的な
ＮＰＣの知能部分
プランニング
戦術位置検出センサー
世界表現
８方向に対する射線・可視距離を事前計算
ゲーム世界
知識表現・世界表現

エフェクター
他にもいろいろできる！

①最適な
最適な戦術位置に
戦術位置に移動②敵移動経路予測
③威嚇射撃

ゲーム世界

身体
相互作用

時間

Killzone
時間
Killzone のポイント
ＮＰＣの知能部分
世界表現は
はＡＩの
世界表現
ＡＩの基礎である
基礎である
動的な戦術位置検出
世界表現を
を精緻に
世界表現
精緻に工夫することで工夫することで、することで、高度な高度な思考が思考が実現できる実現できる。
できる。
（逆に、知識表現をしっかり
知識表現をしっかり作
をしっかり作らないと、らないと、思考をどんなに思考をどんなに頑張をどんなに頑張って頑張って作って作っても限界っても限界がある
限界がある）がある）

エフェクター
企画の
企画
の発想
センサー
こういう地形情報
地形情報を
ＡＩに
わせたい。
こういう
地形情報
を他にもいろいろできる！
ＡＩに使わせたい。
世界表現
８方向に対する射線・①最適な最適な戦術位置に
戦術位置に移動可視距離を事前計算
プログラマーのの②敵移動経路予測
発想
ゲーム世界 プログラマー
知識表現・世界表現
そのためには、
どのような世界表現
世界表現を用意すればいいか
すればいいか？
そのためには、どのような
世界表現を用意すればいいか
？
③威嚇射撃
ゲーム世界
身体
相互作用

時間

Halo NPCのＡＩのアーキテクチャー
「敵発見」
敵発見」
「味方志望」
味方志望」「ダメージ受
ダメージ受けた」
けた」「プレイヤー発砲
プレイヤー発砲」
発砲」などイベントなどイベントをイベントを抽出センサー

ＮＰＣの知能部分
状況
解析

意思決定
ロジック

モーション
コントロール感情（演出にのみ使用）
記憶

モーション

知識表現・世界表現
ゲーム世界

身体
相互作用

時間

時間

Halo AI のアーキテクチャー

「敵発見」
敵発見」
「味方志望」
味方志望」「ダメージ受
ダメージ受けた」
けた」「プレイヤー発砲
プレイヤー発砲」
発砲」などイベントなどイベントをイベントを抽出
イベント

状況解析

Halo AI の意志決定部分
モーション
コントロール

位置取り
位置取
り

ＦＳＭ

イベント

単純な
単純なロジックでロジックで１ページ未満
ページ未満の未満の
簡単な
簡単なコードからなる
コードからなる。
からなる。傾向としては傾向としては、としては、「グラントはすぐ
グラントはすぐ逃
はすぐ逃げる。」「
げる。」「エリート。」「エリートは
エリートは傷つくと隠つくと隠れる「ジャッカルはジャッカルはシールドを
シールドを持つ。」

レベルデザイナーの仕事①
敵の情報

意思決定
ロジック
ＦＳＭ
各振る
各振る舞いはトリガー
いはトリガーをトリガーを持つトリガーによってトリガーによって、によって、振る舞いはお互
いはお互い競合する
競合する
チャージ,
チャージ 退却,
退却 隠れる場所探
れる場所探す場所探す
グレネードをグレネードを投げる、げる、車に入る、死体を死体を確認Halo AI のアーキテクチャー

「敵発見」
敵発見」
「味方志望」
味方志望」「ダメージ受
ダメージ受けた」
けた」「プレイヤー発砲
プレイヤー発砲」
発砲」などイベントなどイベントをイベントを抽出

状況解析
演出（セリフ）Halo NPCのＡＩのアーキテクチャー
「敵発見」
敵発見」
「味方志望」
味方志望」「ダメージ受
ダメージ受けた」
けた」「プレイヤー発砲
プレイヤー発砲」
発砲」などイベントなどイベントをイベントを抽出センサー

ＮＰＣの知能部分
状況
解析

意思決定
ロジック

モーション
コントロール感情（演出にのみ使用）
記憶

モーション

知識表現・世界表現
ゲーム世界

身体
相互作用

時間

時間

Halo AI の特徴
技術
ＮＰＣの知能部分
 状況解析
Halo のポイント
モーション
状況
 意思決定ロジック
ロジック 意思決定
意思決定
コントロール
解析
ロジック
 感情と
感情とイベント
はっきりしたイベント
はっきりしたイベントを
イベントを抽出し抽出し、そのイベントそのイベントに
イベントに対する反応
する反応した
反応した行動した行動をさせ行動をさせ、をさせ、キャラクターの分かりやすく表現
キャラクターの感情を感情をかりやすく表現する
表現する。
する。
感情
記憶
＝ プレイヤーにプレイヤーに対して「して「明確な
明確な意図」
意図」を持つＡＩを
ＡＩを演出する
演出する
効果
企画の
企画
の発想
① イベント
イベントにに反応
知識表現・世界表現
プレイヤーにアピール（（演出演出））したいか
したいか？
何をプレイヤーアピール？
② キャラクターのの個性にじたアクション
キャラクター
個性にに応じたアクション
③ セリフの・発話プログラマー
セリフの選択・選択ゲーム世界
身体
プログラマーの
の発想

相互作用
世界の
事象に
敏感に
反応させる
させる仕組
仕組みを
みを作
世界
の事象
に敏感
に反応
させる
仕組
みを
作る

議題③ パス検索ウェイポイント、ナビゲーションメッシュ
静的メッシュから動的メッシュへパスプランニング

ノウハウの蓄積 パスデータ階層化
データマイニング

ウェイポイント

ナビゲーションメッシュ

Killzone1,2

Chromehounds

動的メッシュ
SprinterCell:Conviction

SprinterCell:Conviction のパス
パス検索
検索システム検索システム

SprinterCell:Conviction のパス
パス検索
検索システム検索システム

議題③ パス検索ウェイポイント、ナビゲーションメッシュ
静的メッシュから動的メッシュへパスプランニング

ノウハウの蓄積 パスデータ階層化
データマイニング

ウェイポイント

ナビゲーションメッシュ

Killzone1,2

Chromehounds

動的メッシュ
SprinterCell:Conviction

議題④ 意思決定（思考）階層型思考アニメーションと意思決定プランニング

プラナーの探求ルールベース、プロダクション・ルール

議題④ メタＡＩ• どういう応用が出来るだろうか？

欧米のゲームＡＩの系譜
欧米
日常
AIの内面
内面モデル
モデルと
環境との
との相互作用
相互作用の
モデル
と環境
との
相互作用
の探求

(Ex.)The Sims

FPS
迅速な
意思決定、
柔軟な
アクション、
移動、
迅速
な意思決定
、柔軟
なアクション、賢い移動、連携

キャラクターAI
ゲーム
ＡＩ(Ex.)Halo, F.E.A.R, Killzone,SprinterCell

日本
？

メタ
AI

ゲーム状況
状況を
モニターしてしてコントロール
ゲーム
状況
をモニター
して
コントロール(Ex.)Left4Dead議題⑤ プロシージャル
プロシージャル＝自動生成、自動制御（特に通常は固定コンテンツであるところを
動的コンテンツにする場合を言う）• 企画から見た応用可能性• 技術者から見た応用可能性

DUNIA Engine デモ(I) Growing Vegetation(II) Tree Generation(III) Day and Night cycle(IV) Realistic Weather System[参考]データ自動生成技術を大胆に導入したFPS，「Far Cry 2」の光と(4gamers)
http://www.4gamer.net/games/047/G004713/20080222019/プロシージャルなゲームエンジン

Frostbite Engine① オブジェクト生成
オブジェクト生成(We can generate objects with procedural techniques-Then use rules to deform / destroy / modify / move them
-Better interactivity)② Semi-procedural surface shader③ Procedural shader④ Procedurally distributed on the fly

GDC 2007

Frostbite “Rendering Architecture and Real-time Procedural Shading & Texturing Techniques”

http://developer.amd.com/assets/Andersson-Tatarchuk-FrostbiteRenderingArchitecture(GDC07_AMD_Session).pdf

GDC 2007“The Importance of Being Noisy: Fast, High Quality Noise”, N. Tatarchuk

http://developer.amd.com/Assets/Tatarchuk-Noise(GDC07-D3D_Day).pdf

SIGGRAPH 2007 Johan Andersson “Terrain Rendering in Frostbite using Procedural Shader Splatting”
http://ati.amd.com/developer/gdc/2007/Andersson-TerrainRendering(Siggraph07).pdf

SimCity における影響マップの利用
第一層道路や道路や 鉄道、鉄道、 要素の要素の 大きさ要
きさ要
素間の素間の 関係 をシミュレーシ ョン
第二層「人口密度」「
人口密度」「交通渋滞」「交通渋滞」「交通渋滞」「環境
」「 環境
汚染度」「
汚染度」「 ランドバリュ ー」「
ー」「犯
」「 犯
罪発生率」
罪発生率」 をシミュ レーション

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

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

Crime = Pop. Density^2 - Land Value - Police EffectLand Value = Distance[Zonetype] + Terrain + Transport“AI: A Desing Perspective” AIIDE 2005
http://www.aiide.org/aiide2005/talks/index.html
http://thesims.ea.com/us/will/

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

目次
第一部 キャラクターAI(GDC2010報告会の資料＋アルファ)
第二部 メタＡＩ（GDC2009報告会の資料＋アルファ）キャラクターＡＩ

GDC 2010

会場

講演風景

AWARD

Expo

miyayou@GDC2010
3/9

3/10

Case Studies:
AI in Recent Games

Suspending Disbelief:
Bringing
Your Charactersto Life with Better AI

Behavior Trees:
Three Ways ofCultivating Strong AI

Why So Waryof AI Middleware?

Little Big AI:
Rich Behavior
on a Small Budget

Deciding onan AI Architecture:
Which Tool for the Job?

Improving AI Decision
Architecture Mashups:
Mashups:Modeling ThroughInsights into
Utility Theory
Intertwined
Architectures
AI and Interactive
Storytelling:
Experimental Game AI:
How We Can Help
Live Demos
Each Otherof Innovation
AI developers
Rant!

Answering the Designers’
AI Wish List

3/11

3/12

FINAL FANTASY XIII's
Code and Complexity:
MotionMotion-Controlled
Managing EVE's
RealReal-Time
Automatic Sound
Expanding Universe
Triggering System
The AI of BioShock 2:
Methods for Innovation
and Iteration
Design in Detail:Changing the Time
Between Shots for the
Sniper Rifle from
0.5 to 0.7 Seconds
for Halo 3

Artificial Intelligencein Computer Games
Roundtable

基調講演

3/13
Where Did
My Inventory
Go?
Refining Gameplay
in Mass Effect 2
Modeling Individual
Personalitiesin The Sims 3

Animation and Player
Control in Uncharted:
Animation Warping for
Drake's Fortune
Responsivenessandin FIFA Soccer
Uncharted II:
Among Thieves
Procedural, There is
Nothing Random
About it

Designing Assassin's
Creed 2

Dynamic Navmesh –Multiplayer
AI in the Dynamic
Level Design
Environment ofin
Splinter Cell: Conviction Red Faction GuerrillaAI
lectureAI
Animation

Procedural

Game
DesignCodeＧＤＣ資料GDC 07,08,09,10, Austin GDC などの発表資料、

一部音声、映像は以下のサイトで公開されています。
http://www.gdcvault.com/

A.I.Summit 2010
http://aigamedev.com/open/coverage/gdc10-slides-highlights/
Photo: http://www.flickr.com/photos/davemark/sets/72157623498177349/detail/講演コンテンツI.

Killzone 2 のＡＩ (1５分)

II.

The Sims 3 のAI（10分）

III. まとめ(5分)
IV. 参考情報（付録）講演コンテンツI.

Killzone 2 のＡＩ (1５分)

II.

The Sims 3 のAI（10分）

III. まとめ(5分)
IV. 参考情報（付録）Killzone 2 のAI
Based on: Alex Champandard, Tim Verweij, Remco Straatman, "Killzone 2 Multiplayer Bots",
http://files.aigamedev.com/coverage/GAIC09_Killzone2Bots_StraatmanChampandard.pdf

Killzone 2 AI (マルチプレイヤーモード)(1) Killzone 2 のAI思考(2) Killzone 2 のマップ自動解析

Killzone 2 Screen

Killzone 2 AI (マルチプレイヤーモード)(1) Killzone 2 のAI思考(2) Killzone 2 のマップ自動解析

Killzone2 AI
集団のＡＩのコントロールの仕方を考える

Killzone2 AI

防衛、
前進など
など戦術
戦術を
防衛
、前進
など
戦術
を指示
戦術の
成功・・失敗
失敗を
戦術
の成功
を報告
フィードバック））（フィードバック

ターゲット指示
ターゲット
指示
指示の
指示
の再発行要求

移動地点を
移動地点
を指示
戦況を
報告（（フィードバック
フィードバック））
戦況を報告各ＡＩのアーキテクチャ

HTN Planner

HTN (Hierarchical Task
Network)

HTN (Hierarchical Task
Network)
Domain

MethodMethodBranchMethodBranchBranchBranchPrecondition

Precondition

Precondition

Precondition

Precondition

Task
Task
Task

Task
Task

Task
Task
Task
Task

Task

Task
Task
Task

BranchTask を実行する
実行する順序する順序などは
順序などは決などは決められている

Task
Task
Task

Task
Task

HTN (Hierarchical Task
Network)

Dana Nau et al., “SHOP2: An HTN Planning System”,
Journal of Artificial Intelligence Research 20 (2003) 379-404

HTN (Hierarchical Task Network)

Task はプラナー
プラナーのの規則によってによって整列
整列される
規則
によって
整列
される

Dana Nau et al., “SHOP2: An HTN Planning System”,
Journal of Artificial Intelligence Research 20 (2003) 379-404

HTN (Hierarchical Task
Network)

Dana S. Nau,"Hierarchical Task Network Planning", Lecture slides for Automated Planning:
Theory and Practice http://www.cs.umd.edu/~nau/cmsc722/notes/chapter11.pdf

HTN (Hierarchical Task
Network)

Task はプラナーのプラナーの規則によって規則によって整列
によって整列される
整列される

Dana S. Nau,"Hierarchical Task Network Planning", Lecture slides for Automated Planning:
Theory and Practice http://www.cs.umd.edu/~nau/cmsc722/notes/chapter11.pdf

HTN (Hierarchical Task Network)

HTN (Hierarchical Task Network)

Precondition
Task

Precondition
Task

HTN (Hierarchical Task
Network)
各AIの思考分岐(Branch)分岐
分岐(Branch)
分岐
分岐リスト
分岐リスト
TaskList

分岐リスト
分岐リスト

TaskList

Squad AI アーキテクチャ

Killzone2におけるHTN統計

各ＡＩのアーキテクチャ

HTN Planner

兵士へ
兵士へ命令

スカッドを目的に応じて動的に構成

Killzone2

復習：Halo3のチームＡＩ <解説>
GDC2008に見るＡＩ、プロシージャル、製作パイプライン技術の発展
http://igda.sakura.ne.jp/sblo_files/ai-igdajp/AI/IDGA_GDC08_Miyake_public.pdf

Halo 3 AI Objectives Systemイメージ
Squad

Squad Squad

タスクが
自分で
自分の
各タスク
が自分
で自分
の
オンオフと
プライオリティーをオンオフとプライオリティーを計算

トップ（（最も高い）プライオリティー
プライオリティーの
トップ
の
タスクを
考慮する
高いタスク
を考慮
する

現在、
タスクを
現在
、タスク
を割り当てられる
Squad をリスト
リストする
する

タスクの
条件に
タスク
の受け入れ条件に合う Squadてて行を割り当てて行く

タスクが Squadを選ぶ

Designer UI

Active or inactive

種族によるによるフィルター
種族
による
フィルター
（受け入れ条件
条件））

復習：Halo3のチームＡＩ <解説>
終了
GDC2008に見るＡＩ、プロシージャル、製作パイプライン技術の発展
http://igda.sakura.ne.jp/sblo_files/ai-igdajp/AI/IDGA_GDC08_Miyake_public.pdf

スカッドを目的に応じて動的に構成

http://www.bungie.net/Inside/publications.aspx

Killzone2

スカッドを目的に応じて動的に構成スカッドを目的に応じて動的に構成
攻撃対象、護衛対象はゲーム内で動的に決定対象が決まれば対象からの距離など
からスカッドを形成。
或いは、既にあるスカッドに対象を割り当てる。

最初から決まっている
最初から決まっているKillzone 2 AI (マルチプレイヤーモード)(1) Killzone 2 の AI思考
(2) Killzone 2 のマップ自動解析

マップ
ＡＩの基本原則：異なる目的に、異なるデータ表現を作成する
たとえ、同じ対象物であっても、ＡＩの行動用途に応じてデータ表現を作れ。

戦術思考

戦略思考

ウェイポイント

特に、マップに関してはを「データ階層化」しておくこと（世界表現）

Killzoneにおけるマップ
ＡＩの基本原則：異なる目的に、異なるデータ表現を作成する
たとえ、同じ対象物であっても、ＡＩの行動用途に応じてデータ表現を作れ。

戦術思考

戦略思考

ウェイポイント

特に、マップに関してはを「データ階層化」しておくこと（世界表現）戦略グラフを作りたいKillzone 2 のウェイポイント

ウェイポイントをクラスター化
サイズと含むウェイポイント数を決めてなるべく正方形になるように形成

戦略グラフ戦略グラフ
各エリア間で接するポイントをピックアップして結ぶ

戦略グラフ

何に使うのか？ グローバルな戦況判断

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

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

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

-1

-2

-2

-8
0,50
0,4
-8

-8

0

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

-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はタイルベースのＲＴＳ（リアルタイムストラテジー）
マップは毎回、自動生成Age of Empire(AOE)における利用例①
金鉱発掘小屋の最適位置自動検出

Figure 3: Influence map around gold mines.

0.8 0.8 0.8
0.8 1.0 0.8
0.8 0.8 0.8-0.6-0.6-0.6-0.6-1.0-0.6-0.6-0.6-0.6

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

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

ＡＩに金鉱の発掘小屋を適切な位置に置かせるには？
＝ 金鉱に近いが、近すぎてはいけないところに置く
金鉱の回りのタイル（仮想的）防壁を置いて、近すぎも遠すぎもしない点に最高点のタイルが来るようにする＝ 自動位置検出Age of Empire(AOE)における利用例②兵隊の配置の最適位置自動検出

0.8 0.8 0.8
0.8 1.0 0.8
0.8 0.8 0.8
高い場所＝アトラクター(吸引源)-0.6-0.6-0.6-0.6-1.0-0.6-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

既知の敵のビル、以前通ったルート ＝ デトラクタ（排斥源）

この排斥源が与えるコストをパス検索のコストとすると、「なるべく遠ったことにない敵の基地からみつかりにくいパス」
を見つけることが出来る。

SimCity における影響マップの利用
第一層道路や道路や 鉄道、鉄道、 要素の要素の 大きさ要
きさ要
素間の素間の 関係 をシミュレーシ ョン
第二層「人口密度」「
人口密度」「交通渋滞」「交通渋滞」「交通渋滞」「環境
」「 環境
汚染度」「
汚染度」「 ランドバリュ ー」「
ー」「犯
」「 犯
罪発生率」
罪発生率」 をシミュ レーション

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

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

Crime = Pop. Density^2 - Land Value - Police EffectLand Value = Distance[Zonetype] + Terrain + Transport“AI: A Desing Perspective” AIIDE 2005
http://www.aiide.org/aiide2005/talks/index.html
http://thesims.ea.com/us/will/

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

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

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

Killzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出すKillzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出すKillzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出すKillzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出す

危険

安全Killzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出すKillzone 2 AIのまとめ(1) 各ＡＩ、スカッドＡＩに階層型タスクネットワークプラナー（HTN Planner） を導入した。
(2) 戦略マップを自動生成した（マップを階層化した）。
(3) 戦略マップ上に影響マップの方法を導入して、スカッドの戦略思考、戦略的パス検索を導入した。

References(1) AI Summit '10: Slides, Notes, Highlights and Photos
http://aigamedev.com/open/coverage/gdc10-slides-highlights/#session1(2) On the AI Strategy for KILLZONE 2's Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/(3) Killzone 2 Multiplayer Bots
http://files.aigamedev.com/coverage/GAIC09_Killzone2Bots_StraatmanChampandard.pdf(4)Maria Cutumisu, Duane Szafron, "An Architecture for Game Behavior AI: Behavior Multi-Queues",
http://webdocs.cs.ualberta.ca/~duane/publications/pdf/2009aiideMC.pdf(5)
Kutluhan Erol. James Hendler. Dana S. Nau., "HTN Planning: Complexity and Expressivity.",
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.57.6003&rep=rep1&type=ps(6)Dana S. Nau,"Hierarchical Task Network Planning", Lecture slides for Automated Planning:
Theory and Practice
http://www.cs.umd.edu/~nau/cmsc722/notes/chapter11.pdf

講演コンテンツI.

Killzone 2 のＡＩ (1５分)

II.

The Sims 3 のAI（10分）

III. まとめ(5分)
IV. 参考情報（付録）The Sims のAI
Based on: Richard Evans, “Modeling Individual Personalities in The Sims 3”,
http://cmpmedia.vo.llnwd.net/o1/vault/gdc10/slides/Evans_Richard_ModelingIndividualPersonal
itiesInTheSims3.pdf

The Sims Screen

The Sims 3 の２大目標(1) 自動物語生成(2) Simたちをもっと個性的にする

The Sims 3 の２大目標(1) 自動物語生成(2) Simたちをもっと個性的にする

自動物語生成～Sim たちの物語～

復習

The Sims のＡＩの概要

三宅陽一郎、「Spore におけるゲームＡＩ技術とプロシージャル」（DiGRA Japan 第１４回 月例研究会）
http://www.digrajapan.org/modules/mydownloads/

The Sims シリーズのＡＩの作り方
Meta

Peer
Sub

Meta
Peer
Sub

[原則
原則]
原則 周囲の周囲の対象に対象に対する、する、あらゆる可能
あらゆる可能な可能な行動から
行動から、から、
Happiness 係数を
係数を最大化する
最大化する行動する行動を
行動を選択する
選択する。
する。
Sims (not under direct player control) choose what to do by selecting, from all of thepossible behaviors in all of the objects, the behavior that maximizes their current
happiness.

人をダイナミクス（力学系、動的な数値の仕組み ）として動かす。
世界を動かす PeerAI(=キャラクターＡＩ) を構築。

オブジェクトに仕込むデータ構造
Data (Class, Sate)

パラメーターGraphics (sprites, zbuffers)
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大学、講義資料)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm

ＮＰＣに仕込むデータ構造

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

最適な行動を選択する
ToiletMood +26-Urinate (+40 Bladder)-Clean (+30 Room)-Unclog (+40 Room)
Hunger +20
Comfort -12
Hygiene -30
Bladder -75
Energy +80
Fun+40
Social +10
Room -60

Bathtub
Mood +20-Take Bath(+40 Hygiene)(+30 Comfort)-Clean(+20 Room)

Mood +18[原則
原則]
原則 周囲の周囲の対象に対象に対する、する、あらゆる可能
あらゆる可能な可能な行動から
行動から、から、
Happiness （ここではMood）
） 係数を
ここでは
係数を最大化する
最大化する行動する行動を
行動を選択する
選択する。
する。

Moodの計算のためのウエイト(ウエイト＝Moodへどれぐらい貢献するか)

w_

w_

w_

w_

w_

w_

w_

w_

=

Mood (-100..+100)

Mood = W_Hunger(X_Hunger) * X_Hunger + W_Engergy(X_Energy) * X_Energy + …

計算の仕方

W_Hunger(-80)

X_Hunger

W_Hunger(60)60-80
W_Hunger関数

計算の仕方

W_Hunger(-80)

X_Hunger

W_Hunger(60)60-80
W_Hunger関数-80の時の食事欲求 ＝ W_Hunger(-80)*(-80)
60の時の食事欲求 ＝ W_Hunger(60)*(60)Δ（変化分）＝W_Hunger(60)*(60) - W_Hunger(-80)*(-80)

限界効用逓減の法則
ビールは一杯目が一番おいしい

W_Hunger(-80)
W_Hunger(60)

X_Hunger

W_Hunger(90)

60 90
-80
Δ（-80 → 60）＝W_Hunger(60)*(60) - W_Hunger(-80)*(-80)Δ(60→90） ＝W_Hunger(90)*(80) - W_Hunger(90)*(60)Δ（-80 → 60） の方が Δ(60→90） より圧倒的に大きい

ある程度満たされたものを満たすより、
満たされないものをある程度満たす方が大きな満足をもたらす

Moodの計算のためのウエイト(ウエイト＝Moodへどれぐらい貢献するか)

w_

w_

w_

w_

w_

w_

w_

w_

=

Mood (-100..+100)

Mood = W_Hunger(X_Hunger) * X_Hunger + W_Engergy(X_Energy) * X_Energy + …

Mood を最大化

冷蔵庫が最も総合的にMoodを上昇させるから

Mood を最大化

冷蔵庫へ行きます。

Mood を最大化

お腹が膨れたので、ちょっと退屈だから、女の子と話します。

復習終わりThe Sims のＡＩの概要

三宅陽一郎、「Spore におけるゲームＡＩ技術とプロシージャル」（DiGRA Japan 第１４回 月例研究会）
http://www.digrajapan.org/modules/mydownloads

The Sims 3 の４つの改善点(1) 階層型プランニング(2) オブジェクトとのインタラクション効率化(3) 自動欲求充足(4) ストーリー駆動制御

The Sims 3 の４つの改善点(1) 階層型プランニング(2) オブジェクトとのインタラクション効率化(3) 自動欲求充足(4) ストーリー駆動制御

各ＡＩのアルゴリズム
階層型プランニング

問題点：プログラムの分岐が多すぎる
あらゆる相互作用
相互作用を
あらゆる
相互作用
を考慮

注目する
するエージェント
エージェントの行動範囲だけをだけを考慮
注目する
エージェント
の行動範囲
だけを
考慮

計算量の
の軽減
計算量

The Sims 3 の４つの改善点(1) 階層型プランニング(2) オブジェクトとのインタラクション効率化(3) 自動欲求充足(4) ストーリー駆動制御

問題点：各ＡＩの感情パラメーター多すぎる動機パラメーターのシミュレーションの効率化
あらゆる同期
同期パラメーター
パラメーターをあらゆる
同期
パラメーターを考慮

動機パラメーター
パラメーターの物と動機パラメーターのマッピング

物と欲求の相互作用マップ
動機パラメーター

インタラク
ション

マップから
マップから
から満
満たしたい動機
たしたい動機
動機パラメーター
パラメーターにに関係した関係したパラメーター
インラクションだけをだけをピックアップ
ピックアップできる
インラクション
だけをピックアップできるThe Sims 3 の４つの改善点(1) 階層型プランニング(2) オブジェクトとのインタラクション効率化(3) 自動欲求充足(4) ストーリー駆動制御特定の欲求は自動的に充足

特定のの動機
動機パラメーター
パラメーターからの
からの影響
影響を
を軽減
特定
パラメーターからの影響

The Sims 3 の４つの改善点(1) 階層型プランニング(2) オブジェクトとのインタラクション効率化(3) 自動欲求充足(4) ストーリー駆動制御

メタAIが街全体をコントロールする
男女の
バランスを
男女
のバランス
を調整

雇用率を
雇用率
を調整

The Sims 3 の２大目標(1) 自動物語生成(2) Simたちをもっと個性的にするMaslow の欲求階層
人間の持つ欲求は段階的に階層がある個性化の２つの方針(1) 内面の構造を多様にする(2) 人との（社会的）インタラクションを変化させる
人間の個性の表現は、内面
内面をくこと、そして、内面を深く描くこと
状況的な行為によってによって表現されるのだ（ショーペンハウエル）。
状況的
な行為
によって

個性化の２つの方針(1) 内面の構造を多様にする(2) 人との（社会的）インタラクションを変化させる
人間の個性の表現は、内面
内面をくこと、そして、内面を深く描くこと
状況的な行為によってによって表現されるのだ（ショーペンハウエル）。
状況的
な行為
によって

個性化の方法(1) 各Simは80ある特性のうち５つをピックアップする(2) 特性は、各アクションの仕方を変化させる（例）歩き方、喋り方、待ち方、見回し方など。
(3) ゲームデザイナーがチューニングできるように、データドリブンの仕組みを作る。

問題点：時間帯によっては適しない（個性化のための）動機パラメーターがある

ある時間帯
時間帯は
は特定
特定の
の動機
動機パラメーター
パラメーターをを削除
ある時間帯
パラメーター個性化の２つの方針(1) 内面の構造を多様にする(2) 人との（社会的）インタラクションを変化させる
人間の個性の表現は、内面
内面をくこと、そして、内面を深く描くこと
状況的な行為によってによって表現されるのだ（ショーペンハウエル）。
状況的
な行為
によって

データドリブンなプロダクション・ルール

プロダクションルール

データドリブンなプロダクション・ルール

プロダクションルール

プロダクションルールは種類によってランク付けされていて、最もランクの高いルールが発火する。
ルールが発火すると他のSimは、その特性を理解する。

講演コンテンツI.

Killzone 2 のＡＩ (1５分)

II.

The Sims 3 のAI（10分）

III. まとめ(5分)
IV. 参考情報（付録）まとめ

FPS(戦闘) ⇔ 日常系のＡＩの比較

キャラクターＡＩの技術はこの両極にある

FPS(戦闘) ⇔ 日常系のＡＩの比較

FPSのAI

さまざまな
ゲームＡＩの
可能性

日常系
のAI

ゲームＡＩは広大にして多様FPS⇔日常系はそれを捉える一つの軸知能を構築するコツ：認識の階層化
知性の階層化はなぜ大切か？
人間（知性）は認識において、様々なスケールを持っている。
空間階層化

蟻の巣の中から日常、日常から自然界、宇宙まで
時間階層化

目の前の一瞬、明日、
来年、死後…

時空間認識のスケーリング
思考の
柔軟さ
思考の
思考
の柔軟
さ＝思考
の 賢さ
＝さまざまな時空間
さまざまな時空間
時空間スケール
スケールにあったにあった思考思考ができるができること
スケール
にあった
思考

階層的にＡＩを構築せよ！
空間時間階層型ＡＩの例• Killzone 2 … 空間、時間の思考の階層化• The Sims 3 … 行動思考の階層化• ChromeHounds… ゴール階層化• WCCF… ＡＩシステム全体の階層化• 他多数[参考] DiGRA JAPAN 2009年5月の公開講座「WCCF AIエンジニアリング：サッカーゲームＡＩの設計と実装」
http://www.digrajapan.org/modules/mydownloads/images/study/20090529.pdf

００年代から１０年代へ
なんとか、キャラクターＡＩのフレームが荒削りに完成

各分野を強化して統合する。
飛躍的なＡＩの向上 エージェントアーキテク エージェントアーキテクチャチャ パスプランニング パスデータ階層化
 階層型思考アニメーションと意思決定 プランニング パスプランニング

ノウハウの蓄積 パスデータ階層化
データマイニング
 階層型思考アニメーションと意思決定 プ
ランニング
プラナーの探求（人工知能で人工知能で３０年以上
３０年以上の年以上の研究の研究の蓄積）
蓄積）

コスト高

講演コンテンツI.

Killzone 2 のＡＩ (1５分)

II.

The Sims 3 のAI（10分）

III. まとめ(5分)
IV. 参考情報（付録）メタＡＩ

デジタルゲームの簡易モデル
基本的にこの４つの要素の何れにも、ＡＩ（知的機能）を組み込むことが出来る。

開発者

ゲームの
ゲーム
の意図

ゲームシステム（ゲーム・ロジック）

ゲーム・デザイン

キャラクター（たち）

ゲームイベント

プレイヤー・キャラクター
プレイヤー

ユーザー・・エクスペリエンス
ユーザー
ユーザー体験
体験））
（ユーザー
体験

デジタルゲームの簡易モデル
開発者

ゲームの
ゲーム
の意図

ゲームシステム（ゲーム・ロジック）

ゲーム・デザイン

キャラクター（たち）

ゲームイベント

プレイヤー・キャラクター
プレイヤー

ユーザー・・エクスペリエンス
ユーザー
ユーザー体験
体験））
（ユーザー
体験

デジタルゲームの簡易モデル
この点線内に着目する。
ゲームシステムに組み込んだＡＩをメタＡＩ，キャラクターに組み込んだＡＩをキャラクター
ＡＩと呼ぶ。普通、ＡＩと言えば、キャラクターＡＩのことである。

開発者

ゲームの
ゲーム
の意図

メタＡＩ
ゲーム・デザイン

キャラクターＡＩ

ゲームイベント

プレイヤー・キャラクター
プレイヤー

ユーザー・・エクスペリエンス
ユーザー
ユーザー体験
体験））
（ユーザー
体験

かつてのゲームＡＩの全体像（フルフレー
ム）
メタＡＩ（ゲーム全体を統御するシステム）

指令

キャラクター（たち）(パターンの集合)

指令

ゲームイベント

ゲームシステムはゲームステージの一部として、キャラクターが制御される（お化け屋敷ＡＩ）

最近のゲームＡＩの全体像（フルフレーム）
メタＡＩ（ゲーム全体を統御するシステム）

指令

キャラクター（たち）（自律型ＡＩ）

自分で考えて、自分で行動するＡＩ

ゲームイベント最新のゲームＡＩの全体像（フルフレーム）
メタＡＩ（ゲーム全体を統御するシステム）

キャラクター（たち）（自律型ＡＩ）

自分で考えて、自分で行動するＡＩ

ゲームイベントFrom
COUNTER-STRIKE
to LEFT 4 DEAD:
Creating Replayable
Cooperative Experiences

Counter Strike から L4D へ：くり返し遊べる協力ゲーム体験

From
COUNTER-STRIKE
to LEFT 4 DEAD:
Creating Replayable
Cooperative Experiences

Counter Strike から L4D へ：くり返し遊べる協力ゲーム体験構築された非予測性

http://game.watch.impress.co.jp/docs/news/20090327_80051.html

パーティのパーティの感情：
感情：
総合的な
総合的な緊張感モンスターのモンスターの配布

プレイヤーのインテシティー（緊張感）を計算→ リラックスした後にモンスターを放つ！

ナビゲーションメッシュによる
オフライン・リアルタイム空間情報解析

その領域をプレイヤーは見たか？
あるエリアは他のエリアから見えるか？ など。

http://game.watch.impress.co.jp/docs/news/20090327_80051.html

覚えておくべきこと：
パス検索はゲームデザインの幅を広げる
プレイヤー

ＡＩ
ＡＩ

ＡＩ
ＡＩ

ＡＩ

プレイヤーの来る方向を想定。
事前配置だけがデザインの妙。

ＡＩ

ＡＩ

柔軟にプレイヤーの変化に対応できる。

パス検索ある、なしでは、そもそも、ゲームデザインの可能性に圧倒的な差が出る。

From
COUNTER-STRIKE
to LEFT 4 DEAD:
Creating Replayable
Cooperative Experiences

Counter Strike から L4D へ：くり返し遊べる協力ゲーム体験構築された非予測性

パーティのパーティの感情：
感情：
総合的な
総合的な緊張感を計算

メタＡＩ（ゲーム全体を統御するシステム）
モンスターのモンスターの配布

キャラクター（たち）（自律型ＡＩ）
プレイヤーの感情のモデル化

モンスターのモンスターの配布

ゲームイベント

プレイヤーたちFrom
COUNTER-STRIKE
to LEFT 4 DEAD:
Creating Replayable
Cooperative Experiences

Counter Strike から L4D へ：くり返し遊べる協力ゲーム体験構築された非予測性① カウンターストライクはカウンターストライクは今なおロングセラー
なおロングセラー →何故？
何故？
→分析→
分析→オンラインゲームでのオンラインゲームでの緊張感
での緊張感と緊張感と緩和の緩和の緩急②プレイヤーにプレイヤーに緊張の緊張の波を作りたい→
りたい→敵の出現で出現でコントロール③ゾンビ恐怖ゾンビ恐怖ゲーム
恐怖ゲームがゲームが最適！

参考文献(1)

良質なゲームを生み出すプレイテストのアプローチ Valveの実験心理学博士が明かす、プレイテスト手法のあれこれ(GameWatch)
http://game.watch.impress.co.jp/docs/news/20090329_80132.html(2)

Valve語る、「Counter-Strike」から「Left 4 Dead」へ
協力プレイ、リプレイ性、AIディレクターの秘密(GameWatch)
http://game.watch.impress.co.jp/docs/news/20090327_80051.html(3)

Valve Software、「Physical Gameplay in Half-Life2」 (GameWatch)
物理エンジンが生むリアリティーとゲームとしての面白さのバランス
http://game.watch.impress.co.jp/docs/20060325/valve.htm(実験段階)Left 4 Dead Interview (Eurogamer)
http://www.eurogamer.net/articles/left-4-dead-interview

(4)

(5)

なんのためにボスキャラがいるのか？ (4gamers)「Left 4 Dead」に見る，プレイヤーをCo-opに誘う仕掛け
http://www.4gamer.net/games/035/G003579/20090327043/

メタＡＩのための統計的手法とデータマイニング

http://game.watch.impress.co.jp/docs/news/20090329_80132.html

Left 4 Dead における、あるステージでのプレイヤーの死亡頻度マップ

メタＡＩのための統計的手法とデータマイニング

Halo3 における、あるステージでのプレイヤーの死亡頻度マップ。
殺傷武器別の Heatmap も描画できる。
http://www.bungie.net/Online/HeatMaps.aspx

メタＡＩの歴史①
岩谷徹氏： ファンと一般のユーザーを満足させる方法のひとつは人工知能AIのような考え方です。ププ
レーヤースキルをレーヤースキルをプログラム側
プログラム側から判断から判断して判断して、して、難易度を
難易度を調整していくというものです
調整していくというものです。
していくというものです。これを私
これを私はセルフゲームコントロールシステムと年以上前から開発
から開発に
開発に使っています。
っています。 －ルフゲームコントロールシステムと呼んで10年以上前からInternational Game Designers Panel －http://game.watch.impress.co.jp/docs/20050312/gdc_int.htm
遠藤雅伸氏 あと面白い機能なんですけれど、 ゼビウスには非常に簡単なAIが組み込まれています。「「プレイヤーがどれくらいのプレイヤーがどれくらいの腕がどれくらいの腕か」というのを判断というのを判断して判断して、して、 出てくる敵てくる敵が強くなるんです。
くなるんです。
強いと思った相手には強い敵が出てきて、 弱いと思った相手には弱い敵が出てきます。 そういっ
たプログラムが組み込まれています。 ゲームの難易度というのは「初心者には難しくて、上級者には簡単だ」ということが、 ひとつの難易度で(調整を)やっていくと起きてしまうので、 その辺を何とか改善したいな、ということでそういったことを始めてみたのですけれど、 お陰で割合にあまり上手くない人でも比較的長くプレイできる、 うまい人でも最後のほうに行くまで結構ドラマチックに楽しめる、 そういった感じになっています。 － ゼビウスセミナー －http://spitfire.client.jp/shooting/xevious2.html

メタＡＩの歴史②「エージェント・アーキテクチャーから作作るキャラクターＡＩ」(CEDEC2007、三宅)
http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=78…その他、多数の使い方がある。

Left 4 Dead のメタＡＩの新しい点
Left 4 Dead は、メタＡＩを、調整と言う意味ではなく、① ゲームの面白さを作るために、積極的に用いた② ユーザーをモデル化してプロシージャルにユーザーの状態を解析して対応した。
という２点で、これまでのメタＡＩの使い方とは違う。

メタＡＩを使う場合の注意
個々のＡＩはローカルな変化に対応し、メタＡＩは、グローバルな状況と時間的変化を解析する。
メタＡＩは、個体のＡＩがある程度できた後でこそ、最大の威力を発揮する。
個体のＡＩの不備は、グローバルなＡＩで埋めようとしても埋まらない。そして、ユーザーのファースト・インプレッションは、個々のＡＩの振る舞い、ゲーム全体としては、メタＡＩで決まる。
メタＡＩを使う場合は、
まず、個々のＡＩの知性をある程度完成させることが必要。

これからのゲームＡＩの全体像（フルフレーム）
メタＡＩ（ゲーム全体を統御するシステム）

キャラクター（たち）（自律型ＡＩ）

自分で考えて、自分で行動するＡＩ

ゲームイベント（自律型イベント）

イベントの自動生成、自律進行、自律終了

イベントの自動生成はあり得るか？
• アルゴリズム（プランニング、イベントグラフなど）• パス検索技術によるNPCの非局在化（これまでのイベントのように場所を限定する必要がない）

テクニック①ある程度、内容が決まったイベントで、トリガー条件が満たされれば、発生する。
（例）ユーザーが作る家の密度が増すと、ドラゴンが出て来て焼き払おうとする。
②プレイヤーに善悪度や評判度というパラ

（例）

MMOなど
（プレイヤーのパーティ情報）

メーターを振っておき、その数値によって街の人々の対応や、イベント発生率、商店での価格が変化する。
（例） Fable （Lionhead Studio）

ＵＧＣ(user generated
contents)③シナリオ生成：あらかじめ決められたシ

イベント
自動生成アルゴリズム

ユニークなイベント

ナリオの役割に、プレイヤーやＡＩを当てはめる。
（例）パーティで一番強いプレイヤーの一人が 他のプレイヤーから魔物に見えてしまうイベントなど。ＭＭＯの中で、「宿敵」を自動選別して、マッチングさせる。

④プランニング：イベントの単位を、（前提条件、イベント、結果）という形で複数用意し、れを連鎖アルゴリズムで、条件に応じてつないで行く。
（例）Façade (Michal Metas,
CMU,Oz Project)

参考文献
(1)

FABLE (XBOX, Lionhead Studio, published by Microsoft)
http://www.xbox.com/ja-JP/games/f/fable/(2)

Façade http://www.interactivestory.net/(3)

Oz Project
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/oz/web/pa
pers.html

ゲームＡＩコミュニティ日本でもゲームＡＩを盛り上げて行こう！
(1) IGDA日本 ゲームＡＩメイリングリスト
ゲームＡＩの情報がたくさん！
参加されたい方は、三宅まで、
企業名と名前、登録メイルアドレスを送ってください。

(2) IGDA日本 SIG-AI （ゲームＡＩ専門部会）
上記のＭＬと同義です。

(3) ゲームＡＩコミュニティ in mixi
SIG-AI の mixi のコミュニティ・サイトです。
ML や SIG-AI に関係なく自由に参加してください。

IGDA (本体) SIG-AI
13年に渡るゲームＡＩのコミュニティ• SIG-AI Meeting• AI Progammers Dinner (毎年、GDC最終日の夕方)
AI Round Table で申し込む

AI Game Programmers Guild
ゲームＡＩの世界を大いに盛り上げるための団体

少なくとも１タイトルリリース
したことがある。

レビンさんまでグーグルでメイル
三宅で１０１番目のメンバー。

ご相談は三宅まで。

AIWisdom.com

http://www.aiwisdom.com/

参考情報
AI Summitレポート (GameWatch)
AIのサミットは初の開催。活発な知識共有が行なわれる
http://game.watch.impress.co.jp/docs/news/20090325_79918.html「ゲームAI」とは何か？
AIプログラマーのギルドがセミナーを開催 (4gamers)
http://www.4gamer.net/games/027/G002744/20090324048/

書籍紹介「デジタルゲームの教科書」
２０１０年４月発売（出版）
ソフトバンク・クリエイティブ
ＮＯＷ
AI/Procedural/BoardGame
ＰＲＩＮＴＩＮＧ
60/30/30 = 120

デジタルコンテンツ制作の先端技術応用に関する調査研究報告書
２００７年度 （３００ページ）
http://www.dcaj.org/report/2007/data/dc08_07.pdf
２００８年度 （４００ページ）
http://www.dcaj.org/report/2008/data/dc_08_03.pdf
２００９年度 （４００ページ）
http://www.dcaj.org/report/2009/data/dc_09_03.pdf「ゲーム開発技術ロードマップ」（２００８～２００９年の報告書に掲載）
全技術分野のエキスパートの原稿①過去３０年分の歴史的経緯（～１５ページ程度）②年表③これからの展望ゲーム開発技術ロードマップ
方針： ゲーム開発技術の歴史を編纂する
これまで殆
これまで殆ど編纂されることがなかった編纂されることがなかった
ゲーム開発技術
ゲーム開発技術の開発技術の歴史を
歴史を編纂し編纂し、現在までの現在までの日本
までの日本の
日本のゲーム開発技術
ゲーム開発技術の開発技術の系譜を
系譜を明らかにし、らかにし、これからの展望
これからの展望へ
展望へ繋げて行
げて行く

期間： ２００８年４月～２０１０年３月
実施方法：① 各分野のエキスパートに歴史的見地から執筆依頼② インタビュー
目標： ゲーム産業
ゲーム産業の産業の技術を
技術をゲーム産業自身
ゲーム産業自身が産業自身が明らかにする① 技術戦略の足場を固める。
② ゲーム産業の技術の歴史を明らかにする。
③ ゲーム産業の技術者の技術的位置と立場を明らかにする。
④ ゲーム産業の新人にこれまでの歴史を解説する。
⑤ 複数の視点から歴史を検証する

執筆者の皆さん（２１分野２１人）
ゲームデザイン 井上明人(国際大学GLOCOM研究員)
3D CG製作 川島 基展(東京工科大学 片柳研究所クリエイティブ
片柳研究所クリエイティブ・
クリエイティブ・ラボ)
サウンド製作
サウンド製作 細江 慎治（慎治（株式会社スーパースィープ
株式会社スーパースィープ)
アニメーション製作
アニメーション製作 金久保 哲也(株式会社バンダイナムコゲームス
株式会社バンダイナムコゲームス)
プログラミングＡＩ
プログラミングＡＩ 三宅 陽一郎（陽一郎（株式会社フロム
株式会社フロム・
フロム・ソフトウェア）
ソフトウェア）プログラミング グラフィックス描画
グラフィックス描画 宮澤 篤 大久保 明（株式会社バンダイナムコゲームス
株式会社バンダイナムコゲームス）
バンダイナムコゲームス）
プログラミング 物理・物理・衝突判定 長谷川 晶一（晶一（電気通信大学）
電気通信大学）
タスクシステム技術
タスクシステム技術 田村 祐樹 （株式会社ネバーランドカンパニー
株式会社ネバーランドカンパニー）
ネバーランドカンパニー） 大野 功二（
功二（オープランニング）
オープランニング）
黒須一雄（黒須一雄（株式会社モバイル
株式会社モバイル＆
モバイル＆ゲームスタジオ）
ゲームスタジオ）
プログラミング スクリプト 小久保 啓三（
啓三（専門学校HAL東京）
東京）
ネットワーク通信
ネットワーク通信 佐藤カフジ
佐藤カフジ（カフジ（フリーライター）
フリーライター）
開発方法論 長久 勝 （ハイパーコンテンツ(株)/早稲田大学メディアネットワークセンター
早稲田大学メディアネットワークセンター）
メディアネットワークセンター）
２Dグラフィックス 近藤敏信氏（近藤敏信氏（有限会社スタジオ
有限会社スタジオ）
スタジオ）
３Dグラフィックス シェーダー 今給黎隆 (株式会社バンダイナムコゲームス
株式会社バンダイナムコゲームス)
ゲーム物理
ゲーム物理シミュレーション
物理シミュレーション 今給黎隆 (株式会社バンダイナムコゲームス
株式会社バンダイナムコゲームス)
ミドルウェア佐藤カフジ
佐藤カフジ （フリーライター）
フリーライター）
シナリオ
すずきこういち （シナリオライター）
シナリオライター）
ユーザーインターフェイス（
ユーザーインターフェイス（ハードウェア）
ハードウェア） 大神佳人氏
大神佳人氏（株式会社HORI）
ユーザーインターフェイス（
ユーザーインターフェイス（ソフトウェア）
ソフトウェア） サイトウアキヒロ氏
サイトウアキヒロ氏（立命館大学）
立命館大学）
開発工程管理田村 祐樹 （株式会社ネバーランドカンパニー
株式会社ネバーランドカンパニー）
ネバーランドカンパニー）
ローカライズ 長谷川亮一 （セガ）
セガ）
アセンブラ
山口 誠 （株式会社グッド
株式会社グッド・
グッド・フィール）フィール）

AIに対するセンスを磨こう！

Twitter で Bot と話す• お薦めボット_Boogiepop

いい

コードギアスのbotたち(Nunnalｌy_bot など)

映画紹介「イヴの時間」
スタジオ六花アンドロイドが社会で一般的になった近未来の話
高度な頭脳を持ったアンドロイドは労働以外の時間に何を思うだろうか？

来週まで池袋で上映中！
http://www.studio-rikka.com/eve/
Twitter: timeofeve書籍紹介
２０１０年４月発売（出版）
ソフトバンク・クリエイティブ
AI/Procedural/BoardGame
60/30/30 = 120

ご清聴ありがとうございました。

これ以外に、意見や質問があれば、メイルかアンケートへ

y.m.4160@gmail.com
Blog 「y_miyakeのゲームＡＩ千夜一夜」
http://blogai.igda.jp/