クロムハウンズにおける人工知能開発から見るゲームAIの展望
CEDEC 2006 講演

三宅 陽一郎(FromSoftware, Inc.)
2006.8y_miyake@fromsoftware.co.jp

Openning_Movie.aviクロムハウンズにおける人工知能開発から見るゲームAIの展望
CEDEC 2006 講演

三宅 陽一郎(FromSoftware, Inc.)
2006.8y_miyake@fromsoftware.co.jp

クロムハウンズにおける人工知能開発から見るゲームAIの展望
CEDEC 2006 講演

三宅 陽一郎(FromSoftware, Inc.)y_miyake@fromsoftware.co.jp（１）ムービーの文字が小さいですので、なるべく前でご覧ください。
（２） 配布資料は、読んで理解して頂けるように作っており、
パワーポイントと対応していません。
（３） パワーポイントは、CEDEC の サイトで公開される予定です。

この講演で感じて頂きたいもの「人工知能って、今こういうふうな状況なんだ」「人工知能って、こういうことができるんだ」
持って返って頂きたいもの「自分のゲームにも、人工知能技術を取り入れてみようかなあ」

講演のための用語の準備
AI = Artificial Intelligence、人工知能• COM …
• AI…

プレイヤー以外のキャラクター
人工知能（技術）のことを指す。

今日は、人工知能が、ゲームに対してどのような可能性を拓くのか、を説明したいと思います。

本講演の構成
第１部
ゲームへの人工知能技術の導入のあり方 (１５分)
質疑応答（５分）
第２部
クロムハウンズにおける人工知能の開発（４５分)
質疑応答（５ ＋ ５分）
第３部
これからのゲームとゲームAIのための展望（１０分）
質疑応答（５分）

第１部
ゲームへの人工知能技術の導入のありかた(２０分)
人工知能技術とゲームとの関係を概観する

人工知能とは何か？

そもそも知性とは？
• 生き物が、外部の環境に対して、適応するために持ったシステム

内部状態
知性 （体、意識）環境

人工知能とは？
自然言語会話内部状態

環境
知性
ニューラルネットワーク
論理的思考

遺伝的アルゴリズム

生命の知能を機能ごとに、取り出して発展させたもの。

人工知能の研究の歴史（若い！発展中）

人工知能学会ホームページより
http://www.nistep.go.jp/achiev/ftx/jpn/stfc/stt038j/0405_03_feature_articles/200405_fa03/200405_fa03.html

この５０年で発展して来た人工知能技術たち(1) エージェント(2) ニューラルネットワーク(3) Rule-Base A.I.
(4) ベイジアンネットワーク(5) 自己組織化マップ(6) 遺伝的アルゴリズム(7) 遺伝的プログラミング(8) Finite State Machine(9) Automaton(10) Subsumption Architecture(11) Competitive evolution(12) A* Path Finding….

アカデミックに学問として蓄積されて来た人工知能技術には、たくさんの技術がある。
どれぐらいゲームに応用されているの？

一部だけ（赤色…よく応用 青色…少しだけど応用）何故、今まで応用されて来なかったか？
（１） 特にグラフィック偏重でゲームが発展して来た。
（２） メモリ容量や計算時間が必要なものが多い。
（３） 一般的な基礎がなく、逆に、基礎を探求して行く学問である。
それぞれの分野で断片的である（入りやすいが奥が深い）（４）数学、哲学、科学の上に組み上げられている分野が多く、応用の仕方が難しく見えにくい。
数学 … 偏微分方程式、多変数ダイナミクス
科学 … 進化論
哲学 …. 現象学

CG (四次元の数学)

何故、これからは応用が可能か？
理論の蓄積
AIに関する多数の成果と論文

学問としてのAIの発展

無理なくAIのテクノロジーを実現
できる環境が整備されたHardwareの発展
演算能力の向上シミュレーション能力
容量（メモリ）の拡大

実用例の
蓄積

AI Programming Wisdom
ゲームAIに関する多数の論文

Killzone
Quake, F.E.A.R.

次世代ゲームの第３の軸としてAI
Hardware(容量、演算能力)

Network
これまでのゲーム

これからのゲームAI

人工知能技術の導入の適切なタイミングはいつか？
FC

SFC

SS, PS

PS2,GC,Xbox

1999 DC

Hardware2005

Xbox360, PS3, Wii
（次世代）

時間軸

TV game
3D
成長期
成熟期
インパクト

Network
AI

技術の歴史的な流れから見て、人工知能技術のゲームへの応用は、次世代で成長し、次々世代で成熟するだろう。

人工知能を導入の仕方と問題点

人工知能技術の導入の仕方（Step １） 人工知能技術を調査、研究しておく。

（Step ２） ゲームの要求に対して、どのような技術が必要であるかを見抜き、ゲーム設計の中に組み込む。
（Step ３） 製作ラインの中にワークフローを実現する。
（新しい技術には、新しいデバッグ方法）
この具体例を、クロムハウンズを題材に説明いたします人工知能導入の問題点と注意点（１） 日本では開発の情報を公開することが少ない。
ゲームへの人工知能の応用の情報は、圧倒的に欧米が多い。
文献は英語で探す。海外の方が総合的に質と量が高い。
（２） 応用の仕方は、抽象的な思考を通して行う必要がある。
既存の具体例をそのままそのゲームへ応用できる例は多くない。
基本的（簡単）な知識からクリエイティブに発想しよう。
（３） 数学的原理や、アルゴルリズムは、特殊なケースで動かなかったり、方程式が発散したりする場合がある。
研究ならばある程度動けばいいが、製品には十分なデバッグと安全装置が必要！

欧米と日本におけるゲームAIの開発の比較
欧米

日本

情報公開
文献

論文、会議で発表

不明

論文や書籍の膨大な蓄積

とても少ないアカデミズムとの関係取り組むAIの分野
業界としての取り組み

大学でゲームAIを研究。

希少

大学から開発の現場へ参加。
FPSを中心とするキャラク
ターメインのゲーム

さまざまなゲーム

標準化への流れがある

標準化の流れに参加する形(IGDA AIISC(人工知能インタフェース標
準化委員会） )(AIのミドルウエア市場の形成)(例)

Quakeを扱った修士論文は世界的に有名になった。

( IGDA JAPAN を通して紹介がされている。CEDEC
でも RoundTableがある）

ゲームAIにおける日本のチャンス
ゲーム

ゲームAI

(1) ゲームAIは、ゲームのコンテンツに対応して形成される。
(2) FPS、スポーツゲームだけでなく、いろいろな種類のゲームを作る日本には、いろいろな種類のAIを作れるチャンスがある。
技術的チャレンジ(3) 日本は、ゲームAIの発展に欧米とは違う方向からも貢献できるはずだ。

第１部 まとめ（１） 人工知能のゲームへの応用は、これまでは制約があって難しかったが、次世代から発展の段階に入り、次々世代で成熟すると予想できる。
（２） 現在のところ、欧米がゲームAIの分野で、ゲームとしても開発環境としても整備を発展させつつある。
（３）しかし、日本にも、独自のチャンスがある。

第１部 質疑応答

本講演の構成
第１部
ゲームを発展させるための人工知能技術の導入のあり方の概論 (２０分)
質疑応答（５分）
第２部
クロムハウンズにおける人工知能の開発（４０分)
質疑応答（１０分）
第３部
これからのゲームとゲームAIのための展望（１０分）
質疑応答（５分）

第２部
クロムハウンズにおける人工知能の開発
人工知能の「発想の仕方」と「技術導入の仕方」

Contents
クロムハウンズAIの開発を題材に説明を行う

I.

クロムハウンズ紹介II.

クロムハウンズのCOMを作る（中間で質疑応答）

III.

まとめ

Note: This PPT is prepared only for CEDEC 06

I. クロムハウンズ紹介

紹介ムービーをご覧くださいOpenning_Movie.aviクロムハウンズ
発売元
デザイン
開発元

: セガ
: フロムネットワークス: フロムソフトウエア

２００６年６月、世界７カ国で、同時発売(C) SEGA Corporation / FromNetworks, Inc. / FromSoftware, Inc. , 2006

CH-I

クロムハウンズはどんなゲームか？
基本設定:(1) オンライン(2) アクション(3) 勝利条件(4) スカッドと呼ばれるチームをベース(5) ８０を超える複雑なマップ(6) コミュニケーションのシステム(7) 戦略の重要性
Multiplayer Online Battles on Xbox 360
詳細

基本設定

CH-I

(1) オンライン

オンラインでチーム同士で戦う

基本設定(2) アクション

基本はメカ対メカのアクションゲーム

基本設定(3) 勝利条件

１５分以内に、敵全員を殲滅するか、敵本拠地を破壊！
時間切れの場合は、コムバス占拠数がより多い側が勝者！

CH-I

基本設定

(4) スカッドと呼ばれるチームをベース

最大６人のプレイヤーがスカッドとなって、一度に同じ戦場に出ることができる。

基本設定(5) ８０を超える複雑なマップ

CH-I

市街、山岳、さばく、河、湖、海など、多岐に渡る８０以上 のマップ
ハウンズは１５ｍのスケール、マップは３ｋｍ四方

基本設定

CH-I

(6) コミュニケーションのシステム

コムバス（通信塔）を占拠してネットワーク領域を作り、初めてチームメンバーと通信可能！
コンバスをどう取るか、敵、味方の情報をどう伝えるか、の情報戦だ！

基本設定(7) 戦略が大切

CH-I

各プレイヤーは、広大なマップを１５分間、敵を予測して、戦略を立てなければならない。
接近戦だけで、勝敗はつかないCOM への要求
オンライン上で対戦チームが見つからないときに、人間の代わりに、プレイヤーチームと戦う
COM のチームを作ってくれ申し訳ありませんが、３０秒だけこの問題を考えてみましょう。
クロムハウンズで、人間の代わりに、プレイヤーチームと戦う COM のチームを作るII. クロムハウンズのCOMを作る
アイデアから実際の製作、デバッグまでを追体験しようCH-I

より詳細なクロムハウンズAIへの要求の考察• プレイヤーと同じ条件（チームメンバー数、平等な情報）のもとで、同等に渡り合える能力。
COMは１５分間の間、戦略、戦術、情報戦においてプレイヤーと同等に渡り合わねばならない。

自律的に思考し、自分で移動する「自律型エージェント」(autonomous agent)を作ろう。

「自律型エージェント」とは（１）自律型

あらかじめプログラムされた行動だけでなく、自ら状況に応じた行動をすることができる。
（例）自律型システム... システムに不具合があると、自分自身で修復する。

（２）エージェント
環境に対して情報を集める感覚（センサー）を持ち、また、環境に対して働きかけることができる能力を持つ。

体（オブジェクト）を持ち感覚を持ち世界に働きかける能力を持つ

世の中にあるエージェントの具体例
サッカーエージェントフィールドの情報を集める能力があり、
かつ、サッカープレイヤーとして参加する。

⇒ ロボカップ
ネットワークエージェント
ネットワーク上で、情報を検索し、データベースに情報を収集する。

⇒ ロボット、ウイルス
お掃除エージェント … 部屋の情報を確認して、塵を集める⇒ お掃除ロボット

「自律型エージェント」とは（１）自律型
あらかじめプログラムされた行動だけでなく、自ら状況に応じた行動をすることができる。
（２） エージェント
環境に対して情報を集める感覚（センサー）を持ち、環境に対して働きかけることができる能力を持つ。

自律型エージェント
周囲の環境に対して、自ら情報を収集し、それに基づいて判断し、行動する能力を持つ実体。
人間のような知能のモデル

クロムハウンズで自律的エージェントを実現することを考える
自分で判断して、自分で行動して、プレイヤーと戦う(1) 考える - どんな技術が必要だろう ？

(2) 歩く - どんな技術が必要だろう ？

COMの思考COMは、どういうふうに考えれば、うまく行動できるだろうか？
人間同士の戦闘がどうなっているかパターンを集めてみよう
例 １
本拠地から出発
最も近くの通信塔へ行って占拠
敵本拠地へ前進する。
敵と戦闘

COMは、どういうふうに考えれば、うまく行動できるだろうか？
実際の戦闘がどうなっているかパターンを集めてみよう
例 2
本拠地から出発
近いコンバスを巡回してパトロール
自分の本拠地に戻って敵が来るのを待つ

COMは、どういうふうに考えれば、うまく行動できるだろうか？
実際の戦闘がどうなっているかパターンを集めてみよう
例 ３
本拠地から出発
敵の本物の本拠地がどれである
かを偵察
本拠地発見
味方本拠地へ戻る

わかったこと その（１）ハウンズは、計画を立てて行動しなければいけない。
ハウンズが長期的に計画を立てて行動できるように思考を作ろう。
（プランニングの技術が必要だ）

でも、それだけで十分だろうか？

COMは、どういうふうに考えれば、うまく行動できるだろうか？
実際の戦闘がどうなっているかパターンを集めてみよう
例 １
本拠地から出発
敵の本物の本拠地がどれである
かを偵察
本拠地発見
味方本拠地へ戻る

COMは、どういうふうに考えれば、うまく行動できるだろうか？
実際の戦闘がどうなっているかパターンを集めてみよう
本拠地から出発例 2

敵の本物の本拠地がどれであるかを
偵察
本拠地発見 しかし、敵に発見される！
戦闘に入る
味方本拠地へ逃げる

わかったこと その（２）ハウンズは、その場の状況に応じて、計画を修正、変更しなければならない。
常に、周囲の状況を察知して、柔軟に計画を修正、変更しなければならない。
(リアルタイムプランニングの技術が必要だ)

何をどう計画しているんだろう？

COMは、どういうふうに考えれば、うまく行動できるだろうか？
実際の戦闘がどうなっているかパターンを集めてみよう
例
本拠地から出発
本拠地に近い通信塔を取る
２番目に近い通信塔を取る
敵本拠地を占拠する
目標を一つずつ達成している！

わかったこと その（３）ハウンズは、一つ一つゴールを達成している。
（１）ハウンズは、幾つかのゴールを順番に達成するプランを立てて行動する。
（２）常に、周囲の状況を察知して、柔軟に計画を修正、変更する。
（必要な要件を抽出することが出来た。）

これに対応する、人工知能の技術は何か？

ゴール指向型プランニングゴール指向型プランニングとは？

一つのゴールはより小さなゴールから組み立てられる
Goal

Goal

Goal

Goal

ゴールはより小さなゴールから組み立てられる
Goal

Goal

Goal

Goal

Goal

Goal

Goal

Goal

Goal

ゴール指向型プランニングの考え方
映画を見たい映画館に行く映画館は新宿だ

新宿駅に行く晴れなら新宿駅へ歩く雨なら電車で新宿へ
駅まで歩く
電車に乗る

映画館まで歩く映画を見るクロムハウンズにおけるゴール指向型プランニング
通信塔を
見つける
通信塔
へ行く

パスを見つける
パスに沿って
移動する

通信塔を
占領する
通信塔
を占拠

通信塔の
周囲に
１0秒間いる

戦術、振る舞い

撃つ
歩く
止まる

操作

ハウンズ

クロムハウンズにおける
リアルタイムゴール指向型プランニング
敵が
来
た！
通信塔を
占領する

通信塔を
見つける
敵と戦う
パスを見つける
通信塔
へ行く
通信塔
を占拠

戦略

Seek

撃つ

パスに沿って
Shot
移動する

歩く

Walk

通信塔の
Stop
周囲に
１0秒間いる

戦術、振る舞い

止まる

操作

ハウンズ

クロムハウンズにおける
リアルタイムゴール指向型プランニング
敵を倒した！
Clear!

通信塔を
見つける
通信塔
へ行く

パスを見つける
パスに沿って
移動する

通信塔を
占領する
通信塔
を占拠

通信塔の
周囲に
１0秒間いる

戦術、振る舞い

撃つ
歩く
止まる

操作

ハウンズ

ゴール指向型プランニングによって敵本拠地へ進行しつつ敵の攻撃に対処する様子をご覧下さい。

思考がその場で状況に応じて生成（インスタンス）される

Conquer_Combas_TeamAI.avi

リアルタイムゴール指向型プランニングによって状況に即応しつつ長期的戦略を実行するデモInteruption2.aviリアルタイムゴール指向型プランニングによって状況に即応しつつ長期的戦略を実行するデモ

このようにして、一つ一つの戦略を実装して行く。
では、実際に、誰が、どのようにして作って行くのか？

ゴール指向型AIの開発工程（パターンランゲージによる漸近的成長）
Program

戦略層

通信塔
占拠

敵を叩く

UML

仕様

味方を
守る

戦術層
パスをたどる

攻撃する

周囲を監視
しつつ待機

ゲーム
テスト
（８０回）

振る舞い層
２点間を移動

前進しながら戦う

操作層

歩く

撃つ

止まる

その場で静止

問題点を
パターンと
して抽出

プログラマーのための実装工程

ゴール指向型プログラム構造（入れ子構造）インスタンスClass GoalClass Goal

クリア条件＋
Activate()
Process()
Terminate()

クリア条件＋
Activate()
Process()
Terminate()

Activate … 初期セッティング
Process …
アクティブな間の行動
Terminate … 終了処理
（関数の内容を全てスクリプトで記述）

Class Goal
クリア条件＋
Activate()
Process()
Terminate()
Class Goal
クリア条件＋
Activate()
Process()
Terminate()
インスタンス最終的なゴール総合図
戦略層
敵を叩く

通信塔
占拠

味方を 本拠地 敵本拠地
守る
防衛
破壊

近付く

攻撃
する

味方を
助ける

巡回 敵基地
する
偵察

戦術層
パスを
たどる

ある地点へ
行く

合流
する

巡回
する

逃げる

振る舞い層
２点間を
移動

歩く、一度
止まる、歩く

静止
する

操作層

歩く

撃つ

止まる

後退
する

前進
する

敵側面
へ移動

ゴール指向型プランニングのまとめ
リアルタイム ゴール指向型プランニングとは？
（１） 「ゴール」と呼ばれる目標を、戦略に沿って順番に組み上げることをプランニングという。
（２） 周囲の状況の変化に応じてプランニングをすることをリアルタイムプランニングという。
何が可能になったか？
（１） 長い時間に渡る一連の動作の制御（２） 短い時間における状況の変化に適応リアルタイム ゴール指向型プランニングの解説に対する

質疑応答

クロムハウンズで自律的エージェントを実現することを考える
自分で判断して、自分で行動して、プレイヤーと戦え(1) 考える - リアルタイムのゴール指向型プランニング(2) 歩く - どんな技術が必要だろう ？

COMを歩かす自律型エージェントに必要な移動能力
フィールドを自由に歩き回ることが出来る
フィールドの、どんな２点の間も、自分でパスを見つけて移動することができる

リアルタイムパス検索

マップをパス検索することが出来る
データの形にしておく必要がある

パス検索することが出来るデータの形（１） ウエイポイント
ウエイポイントの数が膨大。
どこへ置くかで、ハウンズの行動が極端に制限される。

（２） ナビゲーションメッシュ
容量が大きい。
メッシュによって地形の情報と形状を全て取り込むことが出来る。

Navigation Mesh 法とは？
マップを凸多角形で埋めてキャラクターを移動させる方法
B

手順（１） マップを障害物を含まない三角形に分割する（データを用意する）（２） その三角形の情報から、パスを検索する（ゲーム内リアルタイム）。
（３） 検索したパスに従って移動する（ゲーム内リアルタイム） 。

ナビゲーションメッシュの利点
適用できる場合キャラクターが床から離れない場合にのみ有効な方法
利点（１）マップ上のどの点からどの点でも、ゲーム中にリアルタイムに経路を探索し移動できる。
（２） 平面的につながっていれば、どんな地形にも対応できる。
（３） マップの情報をデータに埋め込みやすい。
B

B

A

A

クロムハウンズにおけるナビゲーションメッ
シュ(1) 30000 – 80000 メッシュ
(2) 複雑な地形にも対応(3) メッシュを当りモデルから自動生成(4) マルチ分解能(5) 地形表面の性質（雪、砂など）の情報が埋め込まれたメッシュ

山岳、街、湖など、８０に及ぶバリエーションに富んだマップに対し、単一のデータ形式、アルゴリズムで対応することが出来た（汎用性）。

ナビゲーションメッシュ工程
あたりモデル
ポリゴンを削減する (3D Studio Max)
第１次中間データ
第２次中間データ

第３次中間データ
ナビゲーション
メッシュ

ナビゲーションメッシュ工程
あたりモデル
第１次中間データ
第２次中間データ
配置オブジェクトとのあたりを取る(3D Studio Max plugin)

第３次中間データ
ナビゲーション
メッシュ
デバッグ

ナビゲーションメッシュ工程
あたりモデル
第１次中間データ
第２次中間データ

第３次中間データ
ナビゲーション
メッシュ
デバッグ

ポリゴンを削減する(3D Studio Max)

ナビゲーションメッシュ工程
あたりモデル

第１次中間データ
第２次中間データ

第３次中間データ
ナビゲーション
メッシュ
デバッグ

プログラムで地形と表面の情報を埋め込む

ナビゲーションメッシュ工程（１） あたりモデルと比較する。
あたりモデル

第１次中間データ
第２次中間データ

第３次中間データ
ナビゲーション
メッシュ
デバッグ

ナビゲーションメッシュ工程(2) 実機でテストを行う 。
あたりモデル

第１次中間データ
第２次中間データ

第３次中間データ
ナビゲーション
メッシュ
デバッグ

各、本拠地同士を結ぶパスと、
コンバスを巡回するパスをチェック

デバッガーさん
80 x 20 x 2 = 3200 以上のチェック

Debug_Path02.avi

情報が埋め込まれたナビゲーションメッシュ（１） 水や砂地は、ハウンズのスピードを減速させるので、メッシュに表面の性質を埋め込んでおく
最短時間の経路を導く
ハウンズが地表効果を考慮して移動する（２） 障害物が破壊されたら、メッシュのデータを更新する

ハウンズが状況の変化に対応して移動する

ナビゲーションメッシュ上をA*アルゴリズムによってハウンズが移動するデモをご覧ください。

NavMesh.aviクロムハウンズにおける
リアルタイムパス検索 のまとめナビゲーションメッシュ法とは？

（１） 地形を三角形に分けてパスを検索して移動する方法（２） ハウンズが床から離れない場合に有効何が可能になったか？

（１） フィールド内の完全に自由な移動（２） 地表の効果や、オブジェクトの破壊など、環境の変化を考慮に入れて賢く行動する。
（３） （１）（２）を全てのマップの形状に対応。

クロムハウンズで自律的エージェントを実現する
自分で判断して、自分で行動して、プレイヤーを倒す(1) 考える - リアルタイムのゴール指向型プランニング(2) 歩く- リアルタイムのナビゲーションメッシュ上のA* アルゴリズムによるパス検索

自律型エージェントへ
リアルタイム ゴール指向型プランニング×
リアルタイム パス検索

自律型エージェント ？

自律型エージェントへ
リアルタイム ゴール指向型プランニング×
リアルタイム パス検索
意思決定

自律型エージェント ？

COM の意志決定

COMの意思決定過程
周囲の状況を反映して意思決定する
評価関数法

どれぐらい状況に適しているか、点数をつけて比較する方法
意志決定機構

選択

戦略
本拠地
占拠

敵を叩け

通信塔
占拠

プランニング

本拠地
防衛

味方機を
助けよ

エージェントが意思決定をする仕組み
その戦略を達成することで得られる 見返り(S； 重要度) と、それを達成するための リスク(R； 危険度) の兼ね合い

実行評価値(E) ＝ S * ( 1 –R )
本拠地
破壊

通信塔
占拠

S（２４） R(４)1

E = 24C

E = 20S（１１） R(８)

2

E =12

D

E = 32F

E=3J

E = 21

S（７３） R(５７)S（８９） R(６４)3
S（３３） R(８０)S（３３） R(４３)S（３３） R(２)E =6

通信塔の「重要度 S」
３つのファクターから決まる。
(1) 味方司令部との関係 (通信塔- 敵司令部 )(2) 敵司令部との関係 (通信塔- 味方司令部)(3) 通信塔同士の関係 (通信塔- Combus )S =W_EBase * ( Σ F( L_EBase, L_MapScale ) * Est_Base_NonConstFactor+ W_SBase * F( L_SBase, L_MapScale )+ W_InComNet * Est_InComNet

S = W_1 * 味方司令部との距離による関数 +W_2 * 敵司令部との距離による関数 +W_EBase + W_SBase + W_InComNet = 1
W_3 * 隣の通信塔の占拠状態からなる関数

Est_InComNet = W_static * Est_Static_Combus + W_dynamic * Est_Dynamic_Combus
Est_Static_Combus = (Connectable_Number - Connected_Number) /Max_Connectable_Number
Est_Dynamic_Combus = Connected_Number/Max_Connectable_Number

W … 重みW_static + W_dynamic = 1…

通信塔の「重要度 S」
３つのファクターから決まる。
(1) 味方司令部との関係 (通信塔- 敵司令部 )(2) 敵司令部との関係 (通信塔- 味方司令部)(3) 通信塔同士の関係 (通信塔- Combus )S = W_1 * 味方司令部との距離による関数 +W_2 * 敵司令部との距離による関数 +W_3 * 隣の通信塔の占拠状態からなる関数
W … 重み通信塔の「危険度 R」
３つのファクターによる。
(1) 敵ハウンズが通信塔からどれぐらいの距離にいるか。
(2) ザコ敵がどれぐらいの距離にいるか。
(3) 味方ハウンズが通信塔からどれぐらいの距離にいる
R = W_1 * 敵ハウンズの通信塔との距離による関数+ W_2 * ザコ敵と通信塔の距離による関数+ W_3 * 味方ハウンズ通信塔との距離の関数
パラメーター と関数の形を調整する

W … 重み意志決定の形やハウンズの個性が決定
テストをくり返しながら
計 １００ 近くのパラメーターを調整

CH-II

戦略の流れ
COM1

戦場の俯瞰図。緑色がCOM、赤がプレイヤー。

2人のエージェントが、通信塔Bを取りに向かい、残りの一体はDへ向かう。

通信塔
占拠
Strategy of COM1

通信塔Bを占拠した
後、 残りの1体を援護するため、 Dへ向かう。

プレイヤーを攻撃して、破壊した。

味方機を
助ける

敵を叩け

Strategy of COM1

Strategy of COM1

意思決定機構のデモ
COMが自分で判断をする様子をご覧ください。

Evaluation_value_2.avi

自律型エージェントの実現
リアルタイム ゴール指向型プランニング×
リアルタイム パス検索
×
意思決定機構自律型エージェント 完成

クロムハウンズにおける自律型エージェントの実現まとめ
自律型エージェントの実現（１） クロムハウンズでは、自律型エージェントを実現するために、３つの技術が必要であることがわかった。
リアルタイム ゴール指向型プランニング
リアルタイム パス検索
意志決定（２） ３つの技術をクロムハウンズのゲームに応用し、自律型エージェントを作った。
（３） それは、当初の目的どおり、「自分で考え、自分で移動する」
エージェントとして動作した
これで十分だろうか？

問題： 複数の機体を動かしてみるとまとまりがない
人間のチームのように、互いの連携と取ってチームとして行動させたい
チーム全体を統制して行動をさせる、司令官のようなAIが必要

チームAIを導入する

チームAI を作る

例えば、チームとしてこういうことをさせたい
実際の戦闘がどうなっているかパターンを集めてみよう
一機だけの戦闘で戦局が変わることはない。

敵をやっつける時は、なるべく
多 ｖｓ １ になるようにする
戦力を集中させたい例えば、チームとしてこういうことをさせたい
実際の戦闘がどうなっているかパターンを集めてみよう
勝負が決まり始める後半では、勝つための方針がばらばらにならないようにしたい

ゲーム後半では、チームAIが方針を決定する
ゲーム後半では、方針を統一

例えば、チームとしてこういうことをさせたい
実際の戦闘がどうなっているかパターンを集めてみよう
敵基地を落とすのは、火力が必要１体で行っても、火力が足りない上に敵が防衛している
本拠地は多数の機体で攻めたい
勝負をかけるタイミングをあわせたい

チームAIの構造
４つの戦略を持ち、ゲーム全体の状況を反映する
評価関数によって、一つの戦略を決定する。
(評価関数による意思決定 = 個体の意志決定と同じ方法)
チームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数
で勝つ

チームとしての戦略（＝勝利条件と同じ）

敵本拠
地破壊

チームAIの構造
４つの戦略を持ち、評価関数によって、一つの戦略を決定する。
(評価関数による意思決定 = 個体の意志決定と同じ方法)
チームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数
で勝つ

本拠地
破壊
敵本拠
地破壊

本拠地
破壊
本拠地
破壊
一つのチーム戦略は、各機体への命令からなる

チームAIの構造 ＝ ゴール指向型の拡張
COMのゴール指向プランニングの上に、チームAIを積み上げるチームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数
で勝つ

本拠地
破壊

敵本拠
地破壊

本拠地
破壊
本拠地
破壊

本拠地
破壊

COM 1

本拠地
破壊

COM 2
プランニング

本拠地
破壊

一つのチーム戦略は、
COM 3各機体への命令からなる観察すると、チームAIの判断がある時は正しく、個体AIの方の判断がある時は正しい
何故か？
個体はハウンズは、自分の廻りの局所的な情報を元に判断チームAIは、戦局全体の情報を元に判断
両方の判断を比較して正しい方を選択するべきだ

チームAI の意思決定と COMの判断を比較して、最終的に決定するチームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数
で勝つ

敵本拠
地破壊

本拠地
破壊

COM 2

通信塔
占拠

チームAI の意思決定と COMの判断を比較して、最終的に決定するチームAIとCOMのチームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数
で勝つ

ゴールの評価値を比較して高い方を選択する。

敵本拠
地破壊

×
本拠地
破壊

COM 2

実行評価値 :７６
通信塔
占拠

実行評価値 ：８８

チームAI の意思決定と COMの判断を比較して、最終的に決定する
COMが二つの評価値をチームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数
で勝つ

比較して高い方を選択する。

敵本拠
地破壊

本拠地
破壊

COM 2

実行評価値 : ６４

×
通信塔
占拠

実行評価値 : ５３

チームAI の意思決定と COMの判断を比較して、最終的に決定する
COMが二つの評価値をチームAI 意志決定機構

敵殲滅

本拠地
防衛

通信塔
占拠数
で勝つ

比較して高い方を選択する。

敵本拠
地破壊

×
本拠地
破壊

COM 2

７６
通信塔
占拠

８８

チームAIのデモをご覧くださいProtect_CB_TeamAI.avi

チームAIまとめ
この方法の利点と欠点（１） 完全に秩序のある行動はしなくなった（２） 得たもの
局所的な状況に対応しながら、
グローバルな情報を元にしたチームの行動を取る能力

第２部まとめ第２部 質疑応答

本講演の構成

第１部
ゲームを発展させるための人工知能技術の導入のあり方の概論
第２部
クロムハウンズにおける人工知能の開発

第３部
これからのゲームとゲームAIのための展望（１０分）
質疑応答（５分）

第３部 これからのゲームとゲームAIのための展望ゲームとゲームAI
ゲーム

クロムハウンズ

ゲームAI

自律型エージェントゲームとゲームAI
ゲーム

クロムハウンズ

ゲームAI

自律型エージェントゲームAIからゲームを見る（１） クロムハウンズを作ることで見えて来たもの（２） クロムハウンズを超えてクロムハウンズを作ることで見えて来たものクロムハウンズで実現したかったこと（と気付いた）コンピューターの中に一つの世界を作り、その世界で自律的に生きることが出来る生命を作り、プレイヤーと対決させてみたい。

新しいゲーム体験を創造する

クロムハウンズ以外でこれから実現したいこと
コンピューターの中に一つの世界を作り、その世界で自律的に生きることが出来る生命を作り、プレイヤーをその世界に放り込んでみたい。

新しいゲーム体験を創造する

クロムハウンズを超えて自律型エージェントを使ってもっといろいろなゲームデザインができる（例１）

クロムハウンズに限らず、仲間としてのエージェントを考える。
（１）少し命令するだけで、後は状況に応じて自ら判断してくれる（２）プレイヤーの情報を取り込んで意思決定をすることで、プレイヤーにアドバイスをすることが出来る。
（３）いつでも、何処へでも移動する能力を持つ。

自律型エージェントを使ってもっといろいろなゲームデザインができる（例２）

クロムハウンズに限らず、敵としてのエージェントをより進化させる。
（１）プレイヤーの情報を取り込んで意思決定をすることで、プレイヤーの行動を予測する。
（２）プレイヤーの癖を見抜く。
（３）いつでも、何処へでも移動する能力を持つ

自律型エージェントを使ってもっといろいろなゲームデザインができる（例３）

エージェントは、戦闘する敵でなくてもよい。
自律型エージェントたちで社会全体を作って、その中にプレイヤーを放り込んでみる。
今までと何が違うか？
（１）それぞれのエージェントが高度な目的を持ち、自律的に行動する。
（２）社会全体としても、集団に、目的を持たせることが出来る。
（チームAIの応用）（３）いつでも、何処へでも移動る能力を持つす自律型エージェントを使ってもっといろいろなゲームデザインができる（例４）

人間とエージェントのペアが一組であるようなゲームを作る
ロボットゲームで小型のロボットのエージェントに学習機能を持たせて、成長させて、エージェントと共に戦う。
今までと何が違うか？
ある程度、命令を聞き、ある程度、自律的に戦う。

自律型エージェントを使ってもっといろいろなゲームデザインができる（例５）

エージェントのチーム同士で戦闘をさせてみる
エージェントだけからなるチーム同士の戦闘のデモをご覧ください。
全てのCOMはAIで動いています。

m07_001_01_ComvsCom.avim07_001_02_ComvsCom.avim07_001_03_ComvsCom.avi

今回のゲームAIの開発で気付いたこと（１） 一つのゲームにAIの技術を組み込んで行くことで、その技術が潜在的に持っていた力を発見、発展することが出来る。

（２） 一つのAIの技術を追求して行くことで、新しいゲームデザインが見えて来るゲームとゲームAI は、
お互いを進化させる力を持つゲームとゲームAIの共進化
それぞれの開発がいろいろな方向を探求する⇒ ゲームの可能性が広がる⇒ 共有できれば、なお素晴らしい

自律型
エージェントゲーム
有限状態機械

ルールベースAI

遺伝的アルゴリズム本講演のまとめ（１） ゲームAIには、ゲームの未来を切り拓く力がある。
（２） ゲームとゲームAIは、お互いがお互いを進化させる。
（３） ゲーム業界全体で、AIの技術の応用に取り組むことで、ゲームの新しい時代を築くことが出来る。

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

質疑応答

これ以外に、意見や質問があれば、メイルへ
y_miyake@fromsoftware.co.jp

リファレンスゴール指向型AIの参考文献•

Mat Buckland, “Programming Game AI by
Example”, WORDWARE publishing•

Jeff Orkin, “3 States & a Plan: The AI of
F.E.A.R.”, http://web.media.mit.edu/~jorkin/
F.E.A.R.のAI - 3つの状態とゴール指向プラ
ンニングシステム (IGDA Japan ホームページ）
http://www.igda.jp/modules/xeblog/?action_xe
blog_details=1&blog_id=62•

ナビゲーションメッシュの参考文献（１） カウンターストライク
http://developer.valvesoftware.com/wiki/Bot_
Navigation_for_CounterStrike:Source#Introduction

パターンランゲージの参考文献(1) C.アレグザンダー
オレゴン大学の実験（鹿島出版会）(2) C.アレグザンダー
まちづくりの新しい理論（鹿島出版会）

評価値システム（１） Killzone’ AI
http://www.cgf-ai.com/docs/straatman_remco_killzone_ai.pdf