「デジタルゲームにおける人工知能技術・
プロシージャル技術入門」
三宅 陽一郎y.m.4160@gmail.com
Twitter: miyayou
2010.10.28
東京工芸大学自己紹介
1999年京都大学総合人間学部基礎科学科卒業．
2001年大阪大学理学研究科修士課程物理学専攻修了．
2004年東京大学工学系研究科博士課程（単位取得満期退学）
同年、株式会社フロム・ソフトウェア入社．

「デジタルゲームにおける人工知能の研究・開発」

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

[講演
講演]
講演
全講演資料を
全講演資料を公開しています
公開しています。
しています。
2006年
年
CEDEC2006「クロムハウンズにおけるクロムハウンズにおける人工知能開発における人工知能開発から人工知能開発から見から見るゲームＡＩ
ゲームＡＩのＡＩの展望 」
http://blogai.igda.jp/article/33936286.html
2007年
年
AOGC2007 招待講演 「人工知能が
人工知能が拓くオンラインゲームのオンラインゲームの可能性」
可能性」
http://www.bba.or.jp/AOGC2007/080/
CEDEC2007 招待講演 「エージェント・
エージェント・アーキテクチャーから
アーキテクチャーから作から作るキャラクターＡＩ」
キャラクターＡＩ」
http://blogai.igda.jp/article/33936286.html
Korea Game Conference 2007招待講演
招待講演
2006 年～2007年
年
IGDA日本日本、日本、ゲームＡＩ
ゲームＡＩ連続
ＡＩ連続セミナー
連続セミナー「
セミナー「ゲームＡＩ
ゲームＡＩをＡＩを読み解く」全６回
http://blogai.igda.jp/article/33936286.html
2008年
年
CEDEC2008 招待講演「
招待講演「ゲーム開発
ゲーム開発のための開発のためのプロシージャルのためのプロシージャル技術
プロシージャル技術の技術の応用」
応用」
http://cedec.cesa.or.jp/2008/archives/archive_1.html
DiGRA JAPAN 公開講座「
公開講座「Spore におけるゲーム
におけるゲームＡＩ
ゲームＡＩ技術
ＡＩ技術と技術とプロシージャル 」
http://www.digrajapan.org/modules/mydownloads/viewcat.php?cid=10
IGDA日本
日本 GDC報告会
報告会 「GDCにに見る最新AIと最新 とプロシージャル技術
プロシージャル技術」
技術」
http://blogai.igda.jp/article/33936286.html
2009年
年
IGDA日本
日本 GDC報告会
報告会 「これからのゲーム
これからのゲームＡＩ
ゲームＡＩのＡＩの作り方」
http://www.digrajapan.org/modules/mydownloads/

自己紹介
[特別論文
特別論文]
特別論文
人工知能学会誌 Vol. 23 No. 1 (2008 年 1 月 ) 「ゲームＡＩ
ゲームＡＩ特集
ＡＩ特集」
特集」「ディジタルゲームにおける
ディジタルゲームにおける人工知能技術における人工知能技術の
人工知能技術の応用」
応用」 （三宅）
三宅）

[報告書
報告書]
報告書
デジタルコンテンツ協会
デジタルコンテンツ協会
２００７年度
２００７年度 第３章「ゲームＡＩ」
ゲームＡＩ」「デジタルコンテンツ制作
デジタルコンテンツ制作の制作の先端技術応用に先端技術応用に関する調査研究報告書する調査研究報告書」
調査研究報告書」
２００８年度
２００８年度 第３章「プログラミングＡＩ」
プログラミングＡＩ」「デジタルコンテンツ制作
デジタルコンテンツ制作の制作の先端技術応用に先端技術応用に関する調査研究報告書する調査研究報告書」
調査研究報告書」
ゲームＡＩ
ゲームＡＩのＡＩの情報について情報について、について、総合的にまとめてあります
総合的にまとめてあります。
にまとめてあります。
http://www.dcaj.org/report/index.html よりＰＤＦ
よりＰＤＦダウンロード
ＰＤＦダウンロードできます
ダウンロードできます。
できます。

[インタビュー
インタビュー]
インタビュー
大学から大学からゲームメーカー
からゲームメーカーへ
ゲームメーカーへ――AI研究―― 研究で研究で広がるステキ
がるステキな
ステキなゲームのゲームの世界とは
世界とは？
とは？
http://gamez.itmedia.co.jp/games/articles/0901/08/news129_3.html
http://gamez.itmedia.co.jp/games/articles/0901/09/news075.html
（ブログ）
日本）
ブログ） y_miyake のゲームＡＩ
ゲームＡＩ千夜一夜
ＡＩ千夜一夜 （IGDA日本
日本）
http://blogai.igda.jp/

ゲームＡＩセミナー群

第４回 Halo2 有限状態機械
第３回 ChromeHounds マルチエージェント
第２回

F.E.A.R プランニング

第１回 Killzone 知識表現（世界表現）

社内セミナー(週１回/～１９０回)

IGDAゲームＡＩ連続セミナー(２ヶ月１回/全６回)

研究・勉強の仕方(1) 言葉を大切にする(2) コツコツと知識を積み重ねる(3) 小さなことを積み重ねていると、他人には追いつけないとんでもないところへ行けてしまう。
（By イチロー）本講演の主旨① 「デジタルゲーム」を人工知能から眺める。
② 過去から現在、そして未来へ向かう「デジタルゲームの流れ」を体感する。

本授業の指針
４つの言葉
つの言葉を
言葉を覚えて帰えて帰りましょう(1) 自律型エージェント (Autonomous Agent)(2) プロシージャル (Procedural)(3) メタAI (Meta-AI)(4) マルチエージェント(Multi-agent)
ここから眺めると、「デジタルゲームのAI」がよく見えます。
勉強するときに大切なのは、言葉を大切にして、一日の中で一つ一つ覚えて行くことです。

コンテンツ
第１部 ゲームとは何か？
第２部 デジタルゲームにおける人工知能技術
４つの言葉
つの言葉を
言葉を覚えて帰えて帰りましょう第一章 自律型エージェント (Autonomous Agent)
第二章 プロシージャル (Procedural)
第三章 メタAI (Meta-AI)
第四章 マルチエージェント(Multi-agent)
質疑応答

コンテンツ
第１部 ゲームとは何か？
第２部 デジタルゲームにおける人工知能技術
第一章 自律型エージェント (Autonomous Agent)
第二章 プロシージャル (Procedural)
第三章 メタAI (Meta-AI)
第四章 マルチエージェント(Multi-agent)
質疑応答

第１部 ゲームとは何か？

ゲームとは何か？
ゲームとは何でしょうか？
考えたことがありますか？
今日は一緒に考えてみましょう。

ゲームの分類

ゲームにはどんな種類のものがあるでしょうか？

ゲームの種類
ゲームの種類

詳細な分類

さらに詳細な分類① アナログゲーム

カードゲーム
ボードゲームギミックゲーム

ウォーゲーム積み木ゲームシミュレーションゲーム
トレーディングカードゲーム

カタン

スリードラゴンアンティ

人狼？

ゲームの種類
ゲームの種類

詳細な分類
商業ゲーム
インディーズ・ゲーム
シリアスゲーム② デジタルゲーム

カジュアルゲーム
ハードコアゲームオンラインゲーム
オフラインゲーム

シムシティ４（コンストラクション）

ハーツオブアイアン２（シミュレーション）

さらに詳細な分類
カードゲームシミュレーションゲーム
アクションゲーム 戦略ゲーム
アドベンチャーゲーム
恋愛シミュレーション・ゲーム
パズルゲーム（落ちゲー）
コンストラクション・ゲーム
ＲＰＧゲーム スポーツゲーム
音ゲーム

パラッパラッパー（音ゲー）ゲームの種類③

ゲームの種類

詳細な分類

さらに詳細な分類

代替現実ゲーム
（ARG）

ネット
カード
現実の施設
ファックス

Perplex City
I love bees
あんたがた

ネット、架空サイト、２ｃｈ、ＴＶ番組、電話、ファックス、
セブンイレブンのサービスなど、
電話ボックス、看板、など、現実にあるギミックを使用して、ヒントを点在させながら、謎解きをさせるゲーム？

ゲームの種類

詳細な分類

さらに詳細な分類① アナログゲーム

カードゲーム
ボードゲームギミックゲーム

ウォーゲーム積み木ゲームシミュレーションゲーム
トレーディングカードゲーム

商業ゲーム
インディーズ・ゲーム
シリアスゲーム② デジタルゲーム

カジュアルゲーム
ハードコアゲームオンラインゲーム
オフラインゲーム

カードゲームシミュレーションゲーム
アクションゲーム 戦略ゲーム
アドベンチャーゲーム
恋愛シミュレーション・ゲーム
パズルゲーム（落ちゲー）
コンストラクション・ゲーム
ＲＰＧゲーム スポーツゲーム
音ゲーム

Perplex City
I love bees
あんたがた

③

代替現実ゲーム（ARG）

ネット カード
現実の施設
ファックス

④

スポーツ

球技・アスリート

サッカー、走り高跳び…

身体を使う

おにごっこ、かくれんぼ、
缶蹴り、タッチおに⑤ 伝統的ゲームゲームの種類

詳細な分類

さらに詳細な分類① アナログゲーム

カードゲーム
ボードゲームギミックゲーム

ウォーゲーム積み木ゲームシミュレーションゲーム
トレーディングカードゲーム

商業ゲーム
インディーズ・ゲーム
シリアスゲーム

カードゲームシミュレーションゲーム
アクションゲーム 戦略ゲーム
アドベンチャーゲーム
恋愛シミュレーション・ゲーム
パズルゲーム（落ちゲー）
コンストラクション・ゲーム
ＲＰＧゲーム スポーツゲーム
音ゲーム②ゲームには、実にいろいろな種類のゲームがある。
デジタルゲーム カジュアルゲーム
ハードコアゲームオンラインゲーム
オフラインゲーム

Perplex City
I love bees
あんたがた

③

代替現実ゲーム（ARG）

ネット カード
現実の施設
ファックス

④

スポーツ

球技・アスリート

サッカー、走り高跳び…

身体を使う

おにごっか、かくれんぼ、
缶蹴り、タッチおに⑤ 伝統的ゲームゲームを定義できるか？
① ルール ② プレイヤー ③ フィールド…
我々はゲームという概念をよく知っているつもりでいる。
しかし、厳密にゲームを定義することは、それほど簡単なことではない。

ゲームという広大なフィールドは研究するに値する深さと広がりを持っている

ゲームを研究する（研究者）『遊びと人間』
ロジェ＝カイヨワ『Rules of Play』
Katie Salen,
Eric Zimmerman『Ludology』（ゲーム学）
Gonzalo Frasca『フロー体験』
チクセントミハイゲームを研究する（研究者）

遊びの快楽を４つに分類『遊びと人間』
ロジェ＝カイヨワ（１９５８）

アゴーン（競争）、アレア（偶然）、
ミミクリ（模倣）、インクリンクス（賭）
人類学から『遊び』を研究する

ゲームを研究する（研究者）

人が心地よくなる体験とは何か？ （フロー体験）『フロー体験』
チクセントミハイ

http://game.watch.impress.co.jp/docs/20080410/ps3on.htm

ゲームを研究する（研究者）『Ludology』（ゲーム学）
Gonzalo Frasca（１９９９）

ゲームを物語論（narratology）ではなくゲームそのものとして扱うべき、という考えから、ゲーム学（ludology）という言葉を作って、ゲーム学の端緒を作る。
※ludoは、ラテン語で「遊ぶ」(I play)を意味する

ゲームを研究する（研究者）

可能性空間（＝ユーザーのアクションがゲーム空間内で影響・意味のある範囲）
マジックサークル『Rules of Play』
Katie Salen,
Eric Zimmerman（２００２）（＝ ゲームの面白さを味わう行為のループゲームで研究する
世の中の現象をゲームとして捉えて研究する
経済

生物進化

フォン・ノイマン、
モルゲンシュタイン

メーナード・スミス

ＥＳＳ（安定な進化戦略）

ゲームで研究する
世の中の現象をゲームとして捉えて研究する
経済
フォン・ノイマン、
モルゲンシュタイン

経済活動をゲームとして捉えて、
ミニマックス定理など、
ゲーム原理上の定理を用いて、経済現象を定式化した、革命的な仕事。

ゲームで研究する
世の中の現象をゲームとして捉えて研究する
生物進化
メーナード・スミス

ＥＳＳ（安定な進化戦略）
進化をゲームとして見立てて、生物がどのような戦略のもとに進化して行くかを説く。

ゲームを創作する

ゲームを創作する

これまでにないゲームを作るゲームを創作する（ゲームはゲームを製作する者によって進化する）

ゲーム作りはプロ開発者に限らない。
誰が行なってもよい。面白ければ勝ち。

ゲームを創作する学問としてのゲーム

ゲーム研究者、ジャーナリスト、ゲームファン「ゲームとはこういうものだ」と定式化する。

芸術（創作）としてのゲーム

ゲーム開発者「ゲームとはこういうものだ」と固定観念を壊して、新しいものを創造して行くゲームを創作する（ゲームはゲームを製作する者によって進化する）

ゲームは進化する。
ゲームを作る人の手によって。
ゲームをプレイする人によって。
ゲームを作り出す社会によって。
＝
ゲーム開発者になるとは、ゲームの進化の流れの中に身を置いて、ゲームの進化に貢献する人間となること。
ゲーム作りはプロ開発者に限らない。
誰が行なってもよい。面白ければ勝ち。

ゲームの未来
ゲームの進化の果てには、何があるのでしょうか？
…誰もわからない。

１００年、２００年後のゲームは、
どうなっているのか？
ほっておいても進化しない。
ゲーム開発を続けることで、過去から未来へつないで行く。

第一章まとめ① ゲームを研究する。
② ゲームで研究する。
③ ゲームを創作する。
「ゲーム」という概念の中には、人間の知識、生活にとって、奥深い認識、まだ発見されていない機能が隠されている。
たとえ、ゲーム開発者にならなくても、ゲームから物事を捉えること、ゲームとして物事を捉えること、ゲームを実際に作ってみることには、新しい世界の見方を教えてくれる。

第一部まとめ①デジタルゲームは既に単なるピコピコゲームではない。
３０年をかけて、技術と共に進化されて来た。
②デジタルゲームは既に科学的/哲学的研究の対象である。（学会：DiGRA デジタルゲーム学会）③ゲーム開発もそういった研究の成果を取り入れて、高いレベルでデザインして行く時代になりつつある。

コンテンツ
第１部 ゲームとは何か？
第２部 デジタルゲームにおける人工知能技術
４つの言葉
つの言葉を
言葉を覚えて帰えて帰りましょう第一章 自律型エージェント (Autonomous Agent)
第二章 プロシージャル (Procedural)
第三章 メタAI (Meta-AI)
第四章 マルチエージェント(Multi-agent)
質疑応答

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

！

感覚を持ち

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

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

ゲーム世界

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

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

エージェント ＝ キャラクターAIエージェントを作ろう！

プログラマーとエージェント

プログラミングエージェントの自由な移動
Ｑ1： 与えられた迷路を抜けることが出来るＡＩを考えてみよう！
どのように実装すればよいか？

エージェントの自由な移動
Ａ1： プログラマーが迷路を解いて答えを実装するプログラム：
プログラム： ① ５ｍ直進
② 右折
③ 行き当たりまで直進たりまで直進④ 左折⑤ 行き当たりまで直進たりまで直進
⑥ 右折

⑦ １０ｍ
１０ｍ直進
⑧ 左折
⑨ 行き当たりまで直進たりまで直進
⑩ 左折
⑪ 直進
⑫ ゴール

エージェントのの自由な移動 Ａ
Ａ２： AI自身に迷路を解かせる①「迷路内の移動＝グラフ上の移動」と問題が簡単になる。
グラフ検索のアルゴリズムでＡＩを動かすことが可能になる。
Ａ

① Ｂ

Ｃ

②

Ｆ

⑦

Ｇ
Ｉ

③

⑥

④

Ｄ

世界表現
Ｅ

最大３
最大３分岐の分岐の合流しない
合流しない
しない迷路
迷路は
は
迷路
等価である
である
２分木(binary tree)と等価

④
Ｅ

⑤
⑥

⑦

Ｈ

⑧

Ｂ
③

Ｃ

Ｄ

⑤

②

Ｊ

⑧ Ｇ

Ｆ
Ｉ

Ｊ

ゲーム世界をＡＩの制御のために表現したものを世界表現という。

Ｈ

NPCの自由な移動 ①

Ａ

Ａ２： AI自身に迷路を解かせる①「迷路内の移動＝グラフ上の移動」と問題が簡単になる。
グラフ検索のアルゴリズムでＡＩを動かすことが可能になる。
Ａ

① Ｂ

Ｃ

②

Ｆ

⑦

Ｇ
Ｉ

③

⑥

④

Ｄ

世界表現
Ｅ

最大３
最大３分岐の分岐の合流しない
合流しない
しない迷路
迷路は
は
迷路
等価である
である
２分木(binary tree)と等価

④
Ｅ

⑤
⑥

⑦

Ｈ

⑧

Ｂ
③

Ｃ

Ｄ

⑤

②

Ｊ

⑧ Ｇ

Ｆ
Ｉ

Ｊ

迷路を世界表現（この場合はグラフ表現）して探索アルゴリズムによって、AI自身に問題を解かせる

Ｈ

Counter Strike

Aaron Earle, "The Making of the Official Counter-Strike Bot" (GDC2004)
http://www.gdcvault.com

プログラマーとエージェント
ハードコーディング型実装

プログラマーがステージごとに考えた思考を実装する

プログラミング
実装

プログラマーが答えを解いてそれをAIに実装する

プログラマーとエージェント
自律型エージェント実装

どんなステージでもエージェント自身が考えて実装する

プログラミング
実装

プログラマーはAI自身が問題を解くように実装する

AI自身が答えを解く

現代のエージェント技術の流れ

ハードコーディング型実装

自律型エージェント実装

デジタルゲームのエージェントは、「プログラマーがステージについて考えたことを実装する」方式から、「エージェント自身に考えさせる」という方式に以降しつつある。

自律型エージェント（autonomous agent）

だんだんと AIがプログラマーの手を離れて自律するここでエージェントの実装のされ方の歴史を追ってみましょう！

ゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズム③ ニューラルネットワークと遺伝的アルゴリズム

第３期 ＡＩアーキテクチャの時代

時間軸

第１期 ①単純なパターンＡＩ

同じパターンをくり返すだけ

(例) スペースインベーダー(1978)

プレイヤーの動きに関係なく、決められた動きをする

スペースインベーダー

ゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズム③ ニューラルネットワークと遺伝的アルゴリズム

第３期 ＡＩアーキテクチャの時代

時間軸

第１期 ②複数のパターンを持つＡＩ
Interactive

あらかじめ決められた行動を、状況によって使いわけるＡＩ「プリンス・オブ・ペルシャ」など、
スプライトアニメーションを用意する必要がある場合、数パターンに限られる。

（例）プリンス・オブ・ペルシャ「プリンス・オブ・ペルシャ」など、
スプライトアニメーションを用意する必要がある場合、必然的にこういった制御となる。
プリンス・
プリンス・オブ・オブ・ペルシャゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズム③ ニューラルネットワークと遺伝的アルゴリズム

第３期 ＡＩアーキテクチャの時代

時間軸

第１期 ③プロシージャルなＡＩ
Interactive

シューティングゲームなど、機体の軌道や弾道を、逐次的に関数の計算で行なう。
（例）数値列を用意する場合もある。

（例）ゼビウス？

ゼビウス
面白い
い機能
機能なんですけれどなんですけれど、、ゼビウス
ゼビウスには
には非常
非常に
に簡単
簡単な
なAIが組み込まれています
まれています。
。
遠藤雅伸氏 あと面白
あと面白
なんですけれどには非常「プレイヤー
プレイヤーがどれくらいのがどれくらいの腕腕か」というのをというのを判断
判断して
して、
てくる敵
敵が強くなるんです
くなるんです。
。強いと思
相手には
には強
強い 敵が
がどれくらいの判断して、出てくる
いと思った相手
った相手
には
出てきて
てきて、
、弱いと思
相手には
には弱
弱い敵が出てきますてきます。
。そういった
そういったプログラム
プログラムがが組み込まれています
まれています。
。
いと思った相手
った相手
には
プログラム
ゲームの
の難易度
難易度というのはというのは「「初心者
初心者には
には難
難しくて
しくて、
、上級者
上級者には
には簡単
簡単だ
だ」ということがということが、
、
ゲーム
というのは
には
には
簡単
ひとつの難易度
難易度で
で(調整
調整を
を)やっていくとやっていくと起
起きてしまうのできてしまうので、
、その
その辺
辺を何とか
とか改善
改善したいな
したいな、
、
ひとつの
難易度
改善
したいな
ということでそういったことを始始めてみたのですけれどめてみたのですけれど、、ということでそういったことをお陰で割合
割合にあまりにあまり上手上手くない
くない人
人でも比較的長
比較的長くくプレイプレイできる
できる、
、
にあまり
上手
くない
でも比較的長
できる
うまい人
人でも最後
最後のほうに
のほうに行
行くまで
くまで結構
結構ドラマチック
ドラマチックにに楽しめる
しめる、、そういった
そういった感感じになっています
じになっています。
。
うまい
でも最後
のほうに
結構
ドラマチック－ ゼビウスセミナー －http://spitfire.client.jp/shooting/xevious2.html

ゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズム③ ニューラルネットワークと遺伝的アルゴリズム

第３期 ＡＩアーキテクチャの時代

時間軸

第２期 構造化されるＡＩ
アセンブラからＣ言語への移行
２Ｄから３Ｄが主流へ → ＡＩにとって爆発的な情報量の増大
８０年代のＡＩ技術の盛り上がりがゲームへスピンオフ

グリッド上のロジック
俯瞰制御

無数のレイキャスト（射線計算）
主観制御

２Ｄ・３ＤのＡＩをムービーで比較

Halo
マリオ

Halo

第２期 構造化されるＡＩ
ＡＩが処理するべき膨大な空間情報→ 結局、対処出来ませんでした（複雑すぎる、１９９４年から１０年の課題となる）。
暫定的解決策①ＡＩの行動範囲をある限定した自由に移動できる空間に限定すること。
②ステージを単純化すること（例えば、空の上ならＡＩは動き放題である）。
③あらかじめ、地形に沿った運動をプログラミングしておく（固定パスを与えておくなど）。

ゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズム③ ニューラルネットワークと遺伝的アルゴリズム

第３期 ＡＩアーキテクチャの時代

時間軸

第２期 ①ＡＩの構造化とロジック実装
複雑な思考による行動

戦闘
case ATTACK: if (-----)
if(-----)
else ...

警戒休憩

複雑な環境下（処理するべき情報が多い）で、キャラクターを制御する仕組みを入れる。

(例) Quake HFSM

http://ai-depot.com/FiniteStateMachines/FSM-Practical.html

状態遷移図を用いる

Quakeゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズム③ ニューラルネットワークと遺伝的アルゴリズム

第３期 ＡＩアーキテクチャの時代

時間軸

第２期 ②内部パラメータ変動モデルとオブジェクトによるＡＩ制御による日常系ＡＩ

戦闘のＡＩから日常のＡＩへ
戦闘のＡＩ（極限状態） ＜ 日常のＡＩ（煩雑）自律型ＡＩの作り方

知性
（心）

身体

自律型ＡＩの作り方

知性
（心）

身体

ハングリー度（Ｈ）

If (H(t) > 0.5)
goto
GetFood

時間（ｔ）

ハングリー度が０．５を超えたら餌を取りに行く。

Ｈ(t)＝sin(1/24*t)

自律型ＡＩの作り方
知性
（心）

身体
ハングリー度（Ｈ）

If (H(t) > 0.5)
goto GetFood
Else
Sleep

Ｈ(t)＝sin(1/24*t)
時間（ｔ）

１日

食べ物

自律型ＡＩの作り方（個性付け）
お腹の減りにくいＡＩとなる。

知性
（心）

身体
ハングリー度（Ｈ）

If (0.8*H(t) > 0.5)
goto GetFood
Else
Sleep

Ｈ(t)＝sin(1/24*t)
時間（ｔ）

１日

食べ物

自律型ＡＩの作り方
知性
（心）

身体
眠りたい度（Ｈ）

ハングリー度（Ｈ）

If (H(t) > 0.8 && S(t) < 0.1)
goto GetFood
Else If (H(t) < 0.3 && S(t) > 0.7)
goto Sleep
Else
Free_Walk

Ｓ(t)＝sin(1/48*t)

Ｈ(t)＝sin(1/24*t)
時間（ｔ）

１日

＋
１日

食べ物
寝床

自律型ＡＩの作り方(個性づけ)
知性
（心）

身体
眠りたい度（Ｈ）

ハングリー度（Ｈ）

If (0.5*H(t) > 0.8 && S(t) < 0.1)
goto GetFood
Else If (H(t) < 0.3 && 1.5*S(t) >0.7)
goto Sleep
Else
Free_Walk
お腹の減りにくく、あまり眠らないＡＩとなる。

Ｓ(t)＝sin(1/48*t)

Ｈ(t)＝sin(1/24*t)
時間（ｔ）

１日

＋
１日

食べ物
寝床

自律型ＡＩの作り方
知性（心）

ハングリー度（Ｈ）
If (H(t) > 0.8 && S(t) < 0.1)
goto GetFood
Else If (H(t) < 0.3 && S(t) > 0.7)
goto Sleep
Else If( (1-H(t))*D(t) < 0.9)
Goto Fight
Else
Free_Walk

敵

環境

身体
眠りたい度（Ｈ）

Ｈ(t)＝sin(1/24*t)

危険度（Ｄ）

Ｓ(t)＝sin(1/48*t)

＋
１日

＋
１日

寝床

D(t)＝ 1/敵との距離

１日

食べ物

Breaking
the Cookie-Cutter:
Modeling Individual
Personality,
Mood, and Emotion
in Characters

こういったデモに３Ｄモデルを被せると…
② The Sims 3 (Maxis, EA)

ムービー
Trait … 特性。性格パラメーター
Wish … 将来の目標
Sims Getting Smarter: AI in The Sims 3(IGN)
http://pc.ign.com/articles/961/961065p1.html

GDC09 資料 http://cmpmedia.vo.llnwd.net/o1/vault/gdc09/slides/Combined.ppt

Mat Bucklandの自律型エージェントのデモ目標を持ち、目標ごとに内部状態に応じて変動する関数を持つ① 攻撃する② 移動する③ 回復アイテムを取る④ 武器を取る…
意思決定：全てのゴールのうち、最大値を持つゴールを選択して行動する。

デモ

（例）③
H(t) = 0.8 * ((1– 現在の
現在のＨＰ）/回復アイテム
回復アイテムまでのアイテムまでの距離までの距離)

オライリー・ジャパン「実例で実例で学ぶゲームＡＩ
ゲームＡＩプログラミング
ＡＩプログラミング」
プログラミング」（Mat Buckland著、松田晃一訳）
松田晃一訳）
http://www.oreilly.co.jp/books/9784873113395/

ゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズムと遺伝的アルゴリズム
自律進化するAI ③ ニューラルネットワーク

第３期 ＡＩアーキテクチャの時代

時間軸

（例）決して多くない
ニューラルネットワーク
1996年 BATTLECRUISER: 3000AD (3000AD)
1997年 がんばれ森川君２号 (muumuu)
2000年 Colin McRae Rally 2.0 (Codemasters)
2001年 Black & White (Lionhead Studio)
遺伝的アルゴリズム
1998年 アストロノーカ (muumuu)

第２期③ニューラルネットワークと遺伝的アルゴリズム

遺伝的アルゴリズムとニューラルネットワークがゲームＡＩの視野の中に入って来た。

（例）アストロノーカ

プレイステーション用ソフト「
ソフト「アストロノーカ」（
アストロノーカ」（Enix, 1998）
MuuMuu, プレイステーション用
http://www.muumuu.com/games/astro/

参考文献
森川幸人,
「テレビゲームへの人工知能技術の利用」,
人工知能学会誌vol.14 No.2 1999-3
http://www.1101.com/morikawa/1999-04-10.html

遺伝的アルゴリズム
集団を一定の方向に進化させる方法
最初の世代

新世代（１００～世代後）

世代を
進化させる
世代
を経て進化
させる

…
一つの世代が次の世代を交配によって産み出す遺伝的アルゴリズムの仕組み
親①
遺伝子
遺伝子

遺伝子

遺伝子

現世代

次世代
親②

母集団から優秀な親を２体ピックアップ

遺伝子を掛け合わせる

次世代の子供を産み出す(selection)(crossover)(production)

このサイクルをくり返すことで世代を進めて望ましい集団を産み出す

（例）① GA Racer

遺伝的アルゴリズムによって、遠くまで到達できるレーサーを作成する。
最初の世代

最初はここまでしかたどり着けないけど…

新世代（１００～世代後）

だんだんと遠くまで、たどりつけるようにする。

Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2（CD-ROMにソースコードとソースコードと実行ファイル
実行ファイルがあります
ファイルがあります）
があります）

ゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズム③ ニューラルネットワークと遺伝的アルゴリズム

第３期 ＡＩアーキテクチャの時代

時間軸

第３期 ＡＩアーキテクチャの時代
個々のアルゴリズムや構造的なＡＩ（第２期）

包括的なアーキテクチャへ
キャラクターＡＩのためのフレームワークを構築する。

「知性 - 環境 - 身体」相関図
知性から
から身体
身体へ
制御情報を
知性
から
身体
へ制御情報
を渡 す
FSMなど
FSMなど
構造化された構造化された
知性

身体から
から知性
知性へ
現在の
状態を
身体
から
知性
へ現在
の状態
を渡す

限定された
限定
された
情報の
情報
の獲得

ボーン
構造を
構造を
持つ身体

物理的相互作用環境「知性 - 環境 - 身体」相関図
知性から
から身体
身体へ
制御情報を
知性
から
身体
へ制御情報
を渡 す
FSMなど
FSMなど
構造化された構造化された
知性

ボーン
構造を
構造を
持つ身体

身体から
から知性
知性へ
現在の
状態を
身体
から
知性
へ現在
の状態
を渡す

限定された
限定
された
情報の
情報
の獲得

物理的相互作用環境
エージェント・アーキテクチャ
全体を包括する共通の基盤システムを作りましょう！

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

！

感覚を持ち

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

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

ゲーム世界

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

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

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

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

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

ゲーム世界

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

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

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

認識
過程

意思決定
機構

行動生成
過程

知識モデル
知識モデル化
モデル化 記憶と記憶と思考の思考の相互作用一時記憶(Working Memory)
センサー
知覚する
知覚する

事前記憶

エフェクター

内部状態

行動する
行動する

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

ゲーム世界

身体
相互作用

時間

F.E.A.R

内容：閉鎖空間の中のホラーＦＰＳ
開発元： Monolith Production
出版: SIERRA
Hardware: Windows, PS3
出版年： 2004年
FPSとホラーを, 映画的な演出によって結びつけたエポックメーキングな名作。
長年発展させて来たＡＩ技術の本領が発揮され、開発者、プレイヤーから高い支持を集める。

F.E.A.R NPCのＡＩのアーキテクチャー

時間

ＮＰＣの知能部分
認識
過程

ゴール指向
プランニング

シンボルセンサー

統一事実形式

行動生成
過程

ブラックボードWorking Memory

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

身体
相互作用

時間

モーション

プランニングプランニングF.E.A.R NPCのＡＩのアーキテクチャー
時間

ＮＰＣの知能部分

F.E.A.R .の
のポイント
行動生成
認識
ゴール指向

プランニング過程
過程
プランニング
事実表現
C4 アーキテクチャーのアーキテクチャーの基本の基本の上にプランニング技術
プランニング技術を技術を組む込む＝ 状況を
状況を認識して認識して、目的を選択して選択して計画
てるＡＩ
して、目的をして計画を計画を立てるＡＩ
ゲーム世界
記憶 企画
企画の
の発想ブラックボード
モーション
センサー単一
単一の
行動でなく
でなく、
つなぎの行動行動のシークエンスをの行動
でなく、一つなぎの行動のシークエンス
を
指定できる
できる時代
時代になったのだになったのだ（（これからのこれからのＡＩ）
指定
できる
時代になったのだＡＩ）① 目的を自分で決定する。
② 目的を遂行する方法を状況に応じて作成する。
プログラマーのプログラマーの発想
知識表現・世界表現
プランニングの実装技術をにつける（（これからのこれからのゲーム
ゲームＡＩ
ＡＩの
最大の
武器）。
プランニングの実装技術を身につける
ゲーム
ＡＩ
の最大
の武器
）。
ゲーム世界

身体
相互作用

時間

ゲームにおけるエージェントの歴史
FC
1980

SFC

SS, PS
1994

PS2,GC,Xbox

1999 DC

2005

Xbox360, PS3, Wii
（次世代）
次世代）

第１期 パターンＡＩとプロシージャルＡＩ
単純なパターンＡＩ
① 単純
なパターン
ＡＩ
複数の
パターンを
② 複数
のパターン
を持つＡＩ
プロシージャルな③ プロシージャル
なＡＩ

第２期 構造化されるＡＩ
ＡＩの構造化とロジック実装
① ＡＩ
の構造化
とロジック
実装
内部パラメータ
パラメータ変動
変動モデル
モデルと
② 内部
パラメータ
変動
モデル
と
オブジェクトによる
によるＡＩ
ＡＩ制御
制御による
による日常系
日常系ＡＩ
オブジェクト
による
ＡＩ
制御
による
日常系
ＡＩ
ニューラルネットワークと遺伝的アルゴリズム③ ニューラルネットワークと遺伝的アルゴリズム

第３期 ＡＩアーキテクチャの時代

時間軸

第１章 自律型エージェント(Autonomous Agent)
まとめと考察プログラマーとエージェント
ハードコーディング型実装

プログラマーがステージごとに考えた思考を実装する

プログラミング
実装

プログラマーが答えを解いてそれをAIに実装する

プログラマーとエージェント
自律型エージェント実装

どんなステージでもエージェント自身が考えて実装する

プログラミング
実装

プログラマーはAI自身が問題を解くように実装する

AI自身が答えを解く

現代のエージェント技術の流れ

ハードコーディング型実装

自律型エージェント実装

デジタルゲームのエージェントは、「プログラマーがステージについて考えたことを実装する」方式から、「エージェント自身に考えさせる」という方式に以降しつつある。

自律型エージェント（autonomous agent）

本授業の主旨
４つの
つの言葉
言葉を
を覚えて帰
言葉
えて帰りましょう(1) エージェント (Agent)(2) プロシージャル (Procedural)(3) メタAI (Meta-AI)(4) マルチエージェント(Multi-agent)コンテンツ
第１部 ゲームとは何か？
第２部 デジタルゲームにおける人工知能技術
４つの言葉
つの言葉を
言葉を覚えて帰えて帰りましょう第一章 自律型エージェント (Autonomous Agent)
第二章 プロシージャル (Procedural)
第三章 メタAI (Meta-AI)
第四章 マルチエージェント(Multi-agent)
質疑応答

第２章 プロシージャル(Procedural)プロシージャルとは？
プロシージャル(Procedural)＝ 計算による、連続した操作によるデジタルゲームでは？
ゲーム空間、デジタル空間において、自身の連続操作によって自律的な力を持つファクター（例） 自動生成、自律的なＡＩ
プロシージャル・コンテンツ・ジェネレーション
プロシージャル制御(Procedural Contents Generation = PCG) (Procedural AI)

プログラマーとゲーム世界
ハードコーディング型実装

プログラマーがステージの動作を定義する

プログラミング
実装

プログラマーが世界やオブジェクトの動作を全て定義する

GameWORLDプログラマーとゲーム世界
プロシージャルな世界（自律的に変化する世界）

ゲーム世界が自身が固有の法則をもって自律的に変化する

プログラミング
実装

Game
WORLD

現代のプロシージャルの流れ

ハードコーディング型実装

プロシージャル実装

デジタルゲームの世界は、「プログラマーがステージのオブジェクトごとに法則を実装」方式から、「普遍的な変化・発展の法則を世界に実装する」という方式に以降しつつある。

自律変化・発展する世界（Procedural World）

ディジタル空間とゲーム

ディジタル空間（ネット、ゲーム、携帯、仮想現実、電子システム）

ディジタル空間（ファミコン、
組み込みプロセッサ）

この３０年で我々が触れることが出来るディジタル空間は格段に増大したディジタル空間とゲーム
ディジタル空間

ゲーム ＝ ディジタル空間
ディジタル空間の空間のインタラクティブかつ
インタラクティブかつ動的かつ動的な動的なシステム

ゲーム空間
ゲーム空間

ゲーム空間も格段に増大した

ツール・プログラマー

ディジタル空間とゲーム
ディジタル空間

ツール・プログラム

開発者

３Ｄツール

３Ｄモデル

２Ｄツール

２Ｄデータ

スクリプト言語

スクリプト

サウンドツール

サウンド

エクセルなど

ゲーム設定
ゲーム設定
データ

ツール・・チェイン
ツール

コンテンツ・・データ
コンテンツ

（ツール間
ツール間の連携）
連携）（データ間
データ間の連携）
連携）

コンテンツ・パイプライン

ゲーム
プログラム

ゲーム・プログラム

ゲーム・プログラマー

ディジタル空間とゲーム
人
ディジタル空間
ツール・プログラム

人

ツール

データ

ゲーム
プログラム

ゲーム・プログラム

われわれは大量のデータを作らねばならず、大量のデータはゲーム内で動作せねばならない。

人拡大するゲーム開発に対してゲーム開発者は何が欲しいか？

①ゲームデータを生成・発展・消滅させる力②ゲームを動作させる力①人の手でデータを生成する②人の手で動作を定義する①計算によってデータを生成する②計算によって動作を定義する

マンパワー

プロシージャル

どちらかを選ぶかはゲームの主に規模による ＝ 次世代機からは需要が急増
導入コスト
コスト：： 人件費
人件費（（コンスタント
コンスタント））
導入
コスト
問題点

開発の
規模に
比例して
： 開発
の規模
に比例
して
人手が
人手
が必要

巨額の
巨額の開発費があれば開発費があれば…
があれば

導入コスト
コスト：： ソフトウエア
ソフトウエア・・システム
システムを
導入
コスト
を
整備するまでのするまでの投資
投資（（２～３年）
整備
するまでの
投資
高度な
技術レベル
レベル（（簡単
簡単なのもあるなのもある））
問題点 ： 高度
な技術
レベル
なのもある
技術を
いこなすノウハウ
ノウハウの技術
を使いこなすノウハウの必要性

中途半端では中途半端ではケガ
ではケガをする
ケガをする

プロシージャル・コンテンツ・ジェネレーション
デジタル空間で草原を作りなさい①アプローチ１
人の手によってモデリングを行う②アプローチ２
アルゴリズムプログラムによってモデルを自動生成する
void gen(){if(unit_length >MAX_LENGTH) { add_stem(); return; }add_rings(current_stem);

プロシージャル

if(steps > 1000);return;gen();}
int make(){ gen(); return; }反復関数法

プロシージャル技術
プロシージャル技術

2003, Youichiro Miyake

ゲームデザインへ
ゲームデザインへ

たくさんの演算によってモデルを生成する
コンテンツ自動生成 (Procedural Contents
Generation)

ディジタル空間とゲーム
人
ディジタル空間
ツール・プログラム
ツール

人

データ
自動生成

自動生成
ゲーム
データ・
ゲーム内
ゲーム
内における
プログラム
制御データ
プロシージャル技術
プロシージャル
技術

ゲーム開発
開発におけるゲーム
開発
におけるプロシージャル技術
プロシージャル
技術

ゲーム・プログラム

プロシージャルは、データ
データ生成
生成と、データ
データを
データ
生成
データ
を駆動
する力をわれわれに与えてくれる。

人プロシージャルの歴史: ダンジョン自動生成
１９８０
Rogue Clone
ローグライクゲーム

Rogue

不思議のダンジョン

Hellgate：：Londonチュンソフトflagshipstudio

TOEO
namco

NetHack
1993～

2006
2006
マビノギ

1980

1987
ティル・ナ・ノーグ

nexonDiabloブルードラゴン

Blizzard

Microsoft

システムソフト

2004
1996

2007
FF11

1987～
CODED ARMS

Square Enix

KONAMI

2007
2005

MMOにおけるにおける応用における応用

自動生成ダンジョンの面白さ
固定したダンジョン

特徴
企画（米ではレベルデザイナー）による入念な設計と仕掛け
何度プレイしても同じ

自動生成ダンジョン

特徴
入るたびに変わるダンジョン生成されるダンジョンのクオリティー
覚えゲーにならないですむRogue Clone
ローグライクゲーム

Rogue

NetHack

ダンジョン生成法
迷路自動生成法

棒倒し法

穴掘り法

壁延ばし法
その他、いろいろな方がいろいろなところで独自のアルゴリズムを開発

Ishida So, 「迷路のプログラム」, 2005

デモ

ismaze5 iMaze5

iMaze5

自動迷路生成Ishida So, 「迷路のプログラム」, 2005

Rogue Clone
ローグライクゲーム

Rogue

NetHack

ダンジョン生成法
ダンジョン自動生成法

Racanhack

源馬照明, 「Racanhack コード解説」, 2005

プロシージャルなゲームエンジン
Far Cry(Crytek & Ubisoft)

Frostbite Engine
次世代Battlefiled用
用エンジン
次世代

CryEngine 1.0

Far Cry Instincts

Crysis(Crytek & EA)

Far Cry 2(Ubisoft Montreal & Ubisoft)

CryEngine 2.0

Dunia Engine
次世代Battlefieldシリーズ
シリーズ用(4gamers)
次世代シリーズ用エンジンFrostbite
エンジン
http://www.4gamer.net/news/history/2007.03/20070308211803detail.html

http://www.crytek.com/technology/cryengine-2/specifications/
http://developer.amd.com/assets/Andersson-Tatarchuk-FrostbiteRenderingArchitecture(GDC07_AMD_Session).pdf

CryEngine 2.0

Crysis における植物アニメーション自動生成
Procedural Vertex Animation

http://www.crytek.com/fileadmin/user_upload/cryengine2/CryENGINE2Features.pdf

Tiago Sousa, "Chapter 16: Vegetation Procedural Animation and Shading in Crysis", GPU Gems 3, 2007
Finding Next Gen CryEngine2,
http://ati.amd.com/developer/gdc/2007/Mittring-Finding_NextGen_CryEngine2(Siggraph07).pdf

風に揺れる森 in Crysis
葉全体(leaves)
葉全体

Finding Next Gen CryEngine2, http://ati.amd.com/developer/gdc/2007/Mittring-Finding_NextGen_CryEngine2(Siggraph07).pdf

全体(entire)全体

葉(leaf)

風と葉の硬さからモデルの曲がり具合を計算する
葉全体の硬さ×
風www.two-kings.de/.../dxgraphics10.html

各エッジ（
エッジ（辺）に埋め込まれる
硬さ情報を
情報を埋 め込 む一枚一枚としての硬さ
上の二つを足した総合のかたさ

αPrecomputed ambient occlusion

風に揺れる森 in Crysis① その樹木に対する幾つかの風源の効果を足し合わせるＹＸ
http://www.geimeris.com/wp-content/images/crysis_later.jpg② 世界座標(xy)上の風ベクトルから、全体の曲げ方を決める。

ＹＸ
Finding Next Gen CryEngine2, http://ati.amd.com/developer/gdc/2007/Mittring-Finding_NextGen_CryEngine2(Siggraph07).pdf

風に揺れる森 in Crysis③ 葉のまとまりに対する曲がりを、風の強さだけから計算する

Ｙ

α

Ｘ

xy座標方向の曲がり

http://www.crytek.com/technology/cryengine-2/specifications/④ 一枚の葉の揺れ（z-方向）を、風の強さだけから計算する
Ｚ

αz方向の揺れFinding Next Gen CryEngine2, http://ati.amd.com/developer/gdc/2007/Mittring-Finding_NextGen_CryEngine2(Siggraph07).pdf

デモ

tiago_gpuGems3_1280_mpeg

Procedural Vegetation
Animation in Crysis

tiago_gpuGems3_1280_mpeg

Tiago Sousa, "Chapter 16: Vegetation Procedural Animation and Shading in Crysis", GPU Gems 3, 2007

References(1) SpeedTree
http://www.speedtree.com/(2) Procedural vertex-animation(OceanWater)
http://b0rken.dk/hornet/shaders/proc_water.html(3) Tiago Sousa, "Chapter 16: Vegetation Procedural
Animation and Shading in Crysis", GPU Gems 3, 2007
(4) natural motion, http://www.naturalmotion.com(5) E3 2006: Indiana Jones Eyes-on,
http://ps3.ign.com/articles/705/705489p1.html(6) Finding Next Gen CryEngine2,
http://ati.amd.com/developer/gdc/2007/MittringFinding_NextGen_CryEngine2(Siggraph07).pdf
Figures on the pages are from these references.

DUNIA ENGINE 2.0

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

プロシージャル –固定された世界から変化する世界へ
ディジタル・ワールド!

固定モデル 固定テクスチャー 固定アニメーション 固定AI 固定インタラクション

プロシージャル・コンテンツ・ジェネレーション
テクスチャー生成
生成

Procedural Texture

モデル自動生成
自動生成

Deformable Model

アニメーション生成
生成

Animation Synthesis

即応インタラクション
即応

物理

認識・
認識・判断する
判断するAI
する

Procedural AI

街生成

City Generation

会話・
会話・ストーリー生成
ストーリー

Story Generation

人工市場
人工

Artificial Societies

究極 地球シミュレーター
地球シミュレーター（世界シミュレーターという意味で）

Earth Simulatorプロシージャルの歴史: CG

１９８０

１９９０

２０００

地形自動生成

フラクタル
幾何学
1975

Terragen
SpeedTree

フラクタル・
フラクタル・イメージ

植物自動生成natFX MAXSIGGRAPH 1987
フラクタル幾何学
幾何学を
を基礎
基礎とした
フラクタル
幾何学
とした
プロシージャルななモデル
モデル生成
プロシージャル
生成

雲自動生成

3Dモデル生成

テクスチャ自動生成
テクスチャ自動生成

パリン・
パリン・ノイズ
1997,2002

1988

2Dモデル生成Pro FX

1994

2003

②グラフィックス自動生成
I. 地形自動生成
II. 植物自動生成
III. 雲自動生成
IV. パスデータ自動生成

地形自動生成
中点変位法
h/4
h/2

h/4
h

h/8
h/8
スケーリングに応じて、振れ幅を変えていく

フラクタルイメージ―
ハードカバー)
フラクタルイメージ―理論と理論とプログラミング (ハードカバー
ハードカバー
ハインツ・オットー パイトゲン(編集), ディートマー ザウペ(編集), 山口 昌哉(翻訳)シュプリンガー・フェアラーク東京 (1990/08)

中点変位法によるフラクタル曲線の描画,
http://nis-lab.is.s.u-tokyo.ac.jp/~hasimoto/applet/CG/FractalLine.html

地形自動生成ノイズ法（濃い＝低い、白い＝高い）＋

２次元中点変位法＝

ボロノイ図

Jacob Olsen, Realtime Procedural Terrain Generation
http://oddlabs.com/download/terrain_generation.pdf

Ken Musgrave

http://www.kenmusgrave.com/

Age of Empires III における地形自動生成西川善司, 「3DゲームファンのためのAGE OF EMPIRESエンジン講座(後編)こだわりの影生成と算術合成されるディテール、次回作はXbox2?」, GAME Watch, 2005

References(1) Jacob Olsen,Realtime Procedural Terrain Generation
http://oddlabs.com/download/terrain_generation.pdf(2) Ken Musgrave
http://www.kenmusgrave.com(3) Terragen(Planetside Software)
http://www.planetside.co.uk/terragen(4) Introversion Software, "Procedural Content Generation",
GameCareerGuide.com, 2007
http://www.gamecareerguide.com/features/336/procedural_content_.php(5)西川善司, 「3DゲームファンのためのAGE OF EMPIRESエンジン講座(後編)こだわりの影生成と算術合成されるディテール、次回作はXbox2?」,
GAME Watch, 2005
http://watch.impress.co.jp/game%2Fdocs/20050313/aoe3.htm
Figures on the pages are from these references.

②グラフィックス自動生成
I. 地形自動生成
II. 植物自動生成
III. 雲自動生成
IV. パスデータ自動生成

植物自動生成研究分野としては人工生命、ＣＧにまたがる

Since 1968 A. Lindenmayer
L-system
0世代
F

文法規則

1世代
F[-F]F[+F][F]

解釈

構成要素 F,+,-,[,]
規則
F
F[-F]F[+F][F]

2世代
F[-F]F[+F][F][- F[-F]F[+F][F]] F[-F]F[+F][F][+ F[-F]F[+F][F]][F[-F]F[+F][F]]Ｆ - まっすぐ進む＋ ３０度左回転 ー ３０度右回転 []内は個別のスタック

植物自動生成
L-system
0世代
F

Since 1968 A. Lindenmayer
構成要素 F,+,-,[,]
文法規則 規則F-> F[-F]F[+F][F]
１世代

２世代

３世代

４世代

５世代

F[-F]F[+F][F]Simulating plant growth by Marco Grubert http://www.acm.org/crossroads/xrds8-2/plantsim.html

The Sketch L-System:
Global Control of Tree Modeling Using Free-form
Strokes
Takashi Ijiri, Shigeru Owada, Takeo Igarashi.

L-system を用いて簡単な操作で木のモデルを作成するツール
The Sketch L-System:
Global Control of Tree Modeling Using Free-form Strokes
http://www-ui.is.s.u-tokyo.ac.jp/~ijiri/SketchLSystem/index.html

デモ

SG06_SketchLSystem

The Sketch L-system
Takashi Ijiri, Shigeru Owada, Takeo Igarashi.
The Sketch L-System: Global Control of Tree Modeling Using Free-form Strokes
http://www-ui.is.s.u-tokyo.ac.jp/~ijiri/SketchLSystem/index.html

発展：確率的 L-system
構成要素 F,+,-,[,]
規則 F -> F[+F]F[-F]F 0.33
F -> F[+F]F
0.33
F -> F[-F]0.33

規則を変えればいろいろな模様が自動的に生成される植物以外に使えないだろうか？ じっと見る
Simulating plant growth by Marco Grubert http://www.acm.org/crossroads/xrds8-2/plantsim.html

L-system による街の自動生成
City Engine(central pictures)
http://www.centralpictures.com/ce/

Yoav I H Parish, Pascal Müller
http://www.centralpictures.com/ce/tp/paper.pdf

George Kelly, Hugh McCabe,
A Survey of Procedural Techniques for City Generation
http://www.gamesitb.com/SurveyProcedural.pdf

L-system による街の自動生成
City Engine(central pictures)

Yoav I H Parish, Pascal Müller
http://www.centralpictures.com/ce/tp/paper.pdf

References(1) Simulating plant growth by Marco Grubert
http://www.acm.org/crossroads/xrds8-2/plantsim.html(2) L-System Wiki
http://en.wikipedia.org/wiki/L-system(3) The Sketch L-System:
Global Control of Tree Modeling Using Free-form Strokes
http://www-ui.is.s.utokyo.ac.jp/~ijiri/SketchLSystem/index.html(4) Yoav I H Parish, Pascal Müller
http://www.centralpictures.com/ce/tp/paper.pdf(5) City Engine(central pictures) http://www.centralpictures.com/ce/(6) George Kelly, Hugh McCabe,
A Survey of Procedural Techniques for City Generation
http://www.gamesitb.com/SurveyProcedural.pdf

Figures on following pages are from these references.

②グラフィックス自動生成
I. 地形自動生成
II. 植物自動生成
III. 雲自動生成
IV. パスデータ自動生成

Microsoft Flight Simulator 2004

ビルボードからの様々なレンダリング効果を重ねてリアリティーのある空を再現(Skywork、ＧＤＣで発表)
Mark.J.Harris,REALISTIC CLOUD ILLUMINATION
http://www.markmark.net/clouds/index.htm

Microsoft Flight Simulator 2004

Niniane Wang ,Realistic and Fast Cloud Rendering
http://jgt.akpeters.com/papers/Wang04/

Mark Harris の方法を発展させる

Microsoft Flight Simulator 2004

Niniane Wang ,Realistic and Fast Cloud Rendering
http://jgt.akpeters.com/papers/Wang04/

８つのリング状の背景とビルボードによる写し込みデモ

Niniane Wang ,Realistic and Fast Cloud Rendering
http://jgt.akpeters.com/papers/Wang04/

Microsoft Flight Simulator 2004

References(1) hugo.elias Cloud Cover
http://freespace.virgin.net/hugo.elias/models/m_clouds.htm(2) Kim Pallister,Generating Procedural Clouds in real timeon 3D HW
http://www.intel.com/cd/ids/developer/asmona/eng/segments/games/20534.htm?page=11(3) David S. Ebert ,Volumetric Procedural Implicit Functions
http://www.csee.umbc.edu/~ebert/cloud(4) Mark.J.Harris,REALISTIC CLOUD ILLUMINATION
http://www.markmark.net/clouds/index.htm(5) Niniane Wang ,Realistic and Fast Cloud Rendering
http://jgt.akpeters.com/papers/Wang04/(6) Perlin Noise,
Figures on the pages are from these references.
http://freespace.virgin.net/hugo.elias/models/m_perlin.htmプロシージャル –固定された世界から変化する世界へ
ディジタル・ワールド!
固定した世界固定モデル 固定テクスチャー 固定アニメーション 固定AI 固定インタラクション

変形する
生成する
生成する
認識・
変形するモデル
する
生成するテクスチャー
する
生成するアニメーション
する
認識・判断する
判断するAIする 即応インタラクション
即応

変化する世界Procedural World(物理)

プロシージャル –固定された世界から変化する世界へ
ディジタル・ワールド!
固定した世界固定モデル 固定テクスチャー 固定アニメーション 固定AI 固定インタラクション

変形する
生成する
アニメーション生成
生成 認識・
即応インタラクション
変形するモデル
する
生成するテクスチャー
する
認識・判断する
判断するAIする
即応

変化する世界Procedural World（全てが計算てが計算される計算される世界される世界）
世界）(物理)プロシージャルとは？
プロシージャル(Procedural)＝ 計算による、連続した操作によるデジタルゲームでは？
ゲーム空間、デジタル空間において、自身の連続操作によって自律的な力を持つファクター
プロシージャル・コンテンツ・ジェネレーション(Procedural Contents Generation = PCG)

プロシージャル制御(Procedural AI など)（質はともかく）はともかく）プロシージャル技術は、ディジタル空間でコンテンツを自動生成、自動制御する力を与えてくれるSporeにおけるプロシージャル・ユーザー・アクション
簡単な操作で３Ｄクリーチャー・モデルからアニメーションまでを作成する
ユーザー作成コンテンツ（User Generated Contents, UGC）

キャラクターをキャラクターを作成する
作成するエディター
するエディター車を作成する
作成するエディター
するエディター

都市（
都市（要塞）
要塞）を作成する
作成するエディター
するエディター

宇宙船を
宇宙船を作成する
作成するエディター
するエディター

生物、建物、惑星、主要なものは全てユーザーが生成可能

シミュレーション(Sim Everything !)単細胞から宇宙までの進化シミュレーションゲーム

単細胞フェーズ
単細胞フェーズ

部族フェーズ部族フェーズhttp://www.4gamer.net/news/history/2006.05/20060511195155detail.html

文明化フェーズ
文明化フェーズ

http://www.gamespark.jp/modules/news/index.php?p=6614

ギャラクティックフェーズ

http://www.watch.impress.co.jp/game/docs/20080814/spore1.htm

「Spore」はプロシージャル技術の結晶グラフィック、オブジェクト、サウンド、あらゆる分野においてプロシージャル技術を応用する次世代のゲーム① テクスチャー（SIGGRAPH2007）② オブジェクト配置（SIGGRAPH2007）③ モデル生成（SIGGRAPH2007）④ モデル変形（SIGGRAPH2007）⑤ アニメーション生成 (SIGGRAPH2008)⑥ 音楽プロシージャル（GDC2008初公開）

Procedural Brushing Demo

3rd spore demonstration at SIGGRAPH 07 (YouTube)Pd とは？ 演奏者にあたる
演奏者にあたるＡＩにあたるＡＩ
メトロノーム

音を鳴らすところ

EAPd

伝染病

Plague Outbreak – World of Warcraft – September 2005
http://www.mmocrunch.com/2007/12/04/top-5-most-memorable-events-in-mmorpg-history/

Spore におけるプロシージャル技術
UGC (User Generated Contents, ユーザー作成コンテンツ) に
PCG (Procedural Contents Generation, 自動生成技術) を応用することで、 ユーザーにコンテンツを産出す力を与え、小さな労力で、大きなコンテンツを作り出す面白さを実現した。

References(1)カーネギー・メロン大学のAndrew J. Willmot博士のＨＰページのSIIGRAPH2007のコーナーにまとめられています。
http://www.cs.cmu.edu/~ajw/s2007/(2) ［E3 2006＃011］E3 2006最大の話題作？ ウィル･ライトの「Spore」
http://www.4gamer.net/news/history/2006.05/2006051119
5155detail.html(3) Steve Capell et al., Interactive Skeleton-Driven Dynamic
Deformations
http://grail.cs.washington.edu/projects/deformation(4) Development of Spore(このサイトによると、デモシーナーたち、著名なフラクタル関係の技術者を Maxis は集めているようです)http://en.wikipedia.org/wiki/Development_of_Spore(5)

Spore の Procedural Music については、WEB に動画などがアップされているので、 Spore Procedural Music などで検索してみよう！

Figures on the pages are from these references.

プログラマーとゲーム世界
ハードコーディング型実装

プログラマーがステージの動作を定義する

プログラミング
実装

プログラマーが世界やオブジェクトの動作を全て定義する

GameWORLDプログラマーとゲーム世界
プロシージャルな世界（自律的に変化する世界）

ゲーム世界が自身が固有の法則をもって自律的に変化する

プログラミング
実装

Game
WORLD

現代のプロシージャルの流れ

ハードコーディング型実装

プロシージャル実装

デジタルゲームの世界は、「プログラマーがステージのオブジェクトごとに法則を実装」方式から、「普遍的な変化・発展の法則を世界に実装する」という方式に以降しつつある。

自律変化・発展する世界（Procedural World）

本授業の主旨
４つの
つの言葉
言葉を
を覚えて帰
言葉
えて帰りましょう(1) エージェント (Agent)(2) プロシージャル (Procedural)(3) メタAI (Meta-AI)(4) マルチエージェント(Multi-agent)プログラマーとゲーム
ハードコーディング型実装

ゲームを作ってリリース。ゲーム性は固定。

プログラミング実装

GAME

プログラマーとゲーム
動的に変化するゲーム

リアルタイムにユーザーの特性やゲーム状態を解析して自分自身（ゲーム性）を変化させるゲーム

プログラミング
実装

GAME

メタAIの出現万人向けに完成したバランスのゲームユーザーに応じた
ゲームがその場で生成

デジタルゲームの世界は、「誰にでも楽しめるバランスを取れるゲーム」に対して、「ユーザー特性やスキルに応じたゲームをリアルタイム制御で生成」
するメタAI技術が台頭しつつある。

ゲーム性をリアルタイムにコントロールするメタAI（Meta AI）

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

開発者

ゲームの
ゲーム
の意図

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

ゲーム・デザイン

キャラクター（たち）

ゲームイベント

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

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

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

ゲームの
ゲーム
の意図

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

ゲーム・デザイン

キャラクター（たち）

ゲームイベント

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

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

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

開発者

ゲームの
ゲーム
の意図

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

キャラクターＡＩ

ゲームイベント

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

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

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

指令

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

指令

ゲームイベント

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

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

指令

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

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

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

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

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

ゲームイベントLeft 4 Dead

内容：４人チームでゾンビと戦うオンラインゲーム
開発元： Valve Software
出版: Valve Software
Hardware: PC, Xbox360
出版年： 2008年
オンラインで４人でチームを組んでゾンビと戦う。
AI Director によって、毎回、敵の出方が変化する。

Michael Booth, "The AI Systems of Left 4 Dead,"
Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html

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

Counter Strike から L4D へ：くり返し遊べる協力ゲーム体験構築された非予測性
パーティのパーティの感情：
感情：
総合的な
総合的な緊張感モンスターのモンスターの配布

プレイヤーのインテシティー（緊張感）を計算→ リラックスした後にモンスターを放つ！
Michael Booth, "The AI Systems of Left 4 Dead,"
Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html

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

その領域をプレイヤーは見たか？あるエリアは他のエリアから見えるか？ など。
Michael Booth, “The AI Systems of Left 4 Dead,” Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html

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

ナビゲーションメッシュによるアクティブエリアセット（プレイヤーがいてAIディレクターが制御対象とする領域）の追跡
Michael Booth, “The AI Systems of Left 4 Dead,” Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html

Michael Booth, "The AI Systems of Left 4 Dead,"
Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html

Michael Booth, "The AI Systems of Left 4 Dead,"
Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html

Michael Booth, "The AI Systems of Left 4 Dead,"
Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html

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/

参考文献
昨年までのValve の発表資料です。
(1) How To Go From PC to Console Development (GDC 2008)
http://www.valvesoftware.com/publications/2008/GDC2008_Cross
PlatformDevelopment.pdf(2) GRID Broadband Content Delivery Platform (GDC 2008)
http://www.valvesoftware.com/publications/2008/GDC2008_Styliza
tionWithAPurpose_TF2.pdf(3) Source Engine 解説
http://source.valvesoftware.com/SourceBrochure.pdf

メタＡＩの歴史①
岩谷徹氏：
ファンと一般のユーザーを満足させる方法のひとつは人工知能AIのような考え方です。
プレーヤースキルををプログラムプログラム側
側から
から判断
判断して
して、
プレーヤースキル
判断
して、
難易度を
を調整
調整していくというものです
していくというものです。
。
難易度
していくというものです
これを私
これを私はセルフゲームコントロールシステムとセルフゲームコントロールシステムと呼んで10年以上前年以上前からから開発
開発にに使っていますっています。
。
から
開発－ International Game Designers Panel －http://game.watch.impress.co.jp/docs/20050312/gdc_int.htm

http://spitfire.client.jp/shooting/xevious2.html

メタＡＩの歴史①
遠藤雅伸氏 あと面白い機能なんですけれど、 ゼビウスには非常に簡単な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/papers.html

プログラマーとゲーム
ハードコーディング型実装

ゲームを作ってリリース。ゲーム性は固定。

プログラミング実装

GAME

プログラマーとゲーム
動的に変化するゲーム

リアルタイムにユーザーの特性やゲーム状態を解析して自分自身（ゲーム性）を変化させるゲーム

プログラミング
実装

GAME

メタAIの出現万人向けに完成したバランスのゲームユーザーに応じた
ゲームがその場で生成

デジタルゲームの世界は、「誰にでも楽しめるバランスを取れるゲーム」に対して、「ユーザー特性やスキルに応じたゲームをリアルタイム制御で生成」
するメタAI技術が台頭しつつある。

ゲーム性をリアルタイムにコントロールするメタAI（Meta AI）

本授業の主旨
４つの
つの言葉
言葉を
を覚えて帰
言葉
えて帰りましょう(1) エージェント (Agent)(2) プロシージャル (Procedural)(3) メタAI (Meta-AI)(4) マルチエージェント(Multi-agent)ゲーム体験 (AI vs プレイヤー)

それなりに賢それなりに賢くする（くする（通常の通常のゲーム）ゲーム）
一体（
一体（巨大）巨大）に特化して特化して賢して賢くする
ボス戦
ボス戦などで特別などで特別な
特別なアルゴリズム例） ワンダと巨像

イラスト:
イラスト: アンのアンの小箱 http://www.annehttp://www.anne-box.com/
box.com/ゲーム体験（AIたち vs プレイヤー）

複数の複数の敵が出るが連携
るが連携しない
連携しない例） ＪＲＰＧの敵たち
イラスト:
イラスト: アンのアンの小箱 http://www.annehttp://www.anne-box.com/
box.com/ゲーム体験
（マルチエージェント vs プレイヤー）

相互に相互に連携する
連携する（する（マルチエージェント）
マルチエージェント）例） クロムハウンズ(第３回資料、CEDEC2007資料参照)

イラスト:
イラスト: アンのアンの小箱 http://www.annehttp://www.anne-box.com/
box.com/ゲーム体験（ＡＩチーム vs プレイヤー）

組織的構造を
組織的構造を入れてチーム
れてチームとしてチームとして行動
として行動する行動する例） Killzone2 (GDC10 報告会資料参考)など FPS

イラスト:
イラスト: アンのアンの小箱 http://www.annehttp://www.anne-box.com/
box.com/ゲーム体験（プレイヤー in AI社会）

ＡＩたちの
ＡＩたちの作たちの作る社会の社会の中で社会的な
社会的な活動する活動する
例） The Sims (GDC10 報告会資料参考)など
イラスト:
イラスト: アンのアンの小箱 http://www.annehttp://www.anne-box.com/
box.com/FPS(戦闘) ⇔ 社会系のＡＩの比較
FPS

社会系

内面

シンプル

複雑

思考

複雑

シンプル

周囲の環境の見え方

視線・射線に対する
障壁

多様な行為のアフォーダンス

産み出したいもの戦場

人間ドラマ
社会シミュレーション
社会
シミュレーション

組織・人間関係

階層的・厳密平坦的・緩い繋がり

スコープ時間

短期～長期

短期～長期

重要なもの

敵味方の生死自分の幸福度インタラクション

暴力. 治癒多様学術との関係

アルゴリズム

哲学、認知科学、心理学など

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

FPS(戦闘) ⇔ 日常系のＡＩの比較
社会シミュレーション
社会
シミュレーションFPSのAI

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

日常系
のAI

ゲームＡＩは広大にして多様FPS⇔日常系はそれを捉える一つの軸ゲーム体験（プレイヤー in AI社会）

ＡＩたちの
ＡＩたちの作たちの作る社会の社会の中で社会的な
社会的な活動する活動する
例） The Sims (GDC10 報告会資料参考)など
イラスト:
イラスト: アンのアンの小箱 http://www.annehttp://www.anne-box.com/
box.com/ゲーム体験（プレイヤー to AI社会）

干渉

ＡＩたちの
ＡＩたちの作たちの作る社会に社会に対して干渉
して干渉する
干渉する例） くりきん、牧場系ゲーム、The Sims (所謂ＧＯＤゲーム)
イラスト:
イラスト: アンのアンの小箱 http://www.annehttp://www.anne-box.com/
box.com/プログラマーとユーザー
ハードコーディング型実装

エージェントを作ってユーザーにぶつける。

プログラミング実装プログラマーとユーザー
エージェントたちがおもてなしするゲーム

マルチエージェントシステムを作ってユーザーに参加して貰う

プログラミング実装マルチエージェント・システムを利用しよう（未開拓）

エージェントをユーザーにぶつける

マルチエージェント・システムにユーザーが参加する

デジタルゲームの世界は、「ユーザーとエージェントの対立構造」から、「エージェントの協調によるマルチエージェント・システムをどうゲームの中に利用して行くか」が将来的な課題となるだろう。

エージェントを協調させてゲームの中に社会を作る
マルチエージェント・システム(Multi-agent system)社会的デジタル空間
世界を俯瞰的に観察する（シミュレーション）

社会
シミュレーション
プレイヤーが（プレイヤー
が
干渉しない
しない。
干渉
しない
。
プレイヤーというプレイヤーという
概念はない
はない））
概念
はない

世界を内側から体験する
（ゲーム）

俯瞰型
シミュレーション
ゲーム

体験型
ゲーム

プレイヤーが（プレイヤー
が
神的な
立場から
から干渉
神的
な立場
から
干渉
する））
する

プレイヤーが（プレイヤーがエージェントのエージェント
の
一人として
として活動
活動する
する））
一人
として
活動
する

社会的なゲームに必要なこと
技術

システム全体を設計してシミュレーションできる能力

攻撃型ゲーム⇔社会系ゲームの面白さ
攻撃型ゲーム敵を攻撃して殺す（FPSなど）
敵の弱点を探して急所を打つ
力で押す
相手の見えないところから攻撃
装備を充実させる
煙幕などで敵を混乱させる
修行して力を付ける（レベル上げ）
チームを組んで圧倒する
作戦を立てる戦力を集中する敵の背後を取る
銃を撃ちまくる敵の行動を読むトラップを仕掛ける
味方を犠牲にして自分が勝つ
相手を偽情報でだます
崖から突き落とす遠くから狙撃する
…

社会系ゲーム？
課題：
課題：社会系ゲーム
社会系ゲームのゲームの面白さを面白さを考えて列挙
えて列挙してみよう
列挙してみよう！
してみよう！

攻撃型ゲーム⇔社会系ゲームの面白さ
攻撃型ゲーム敵を攻撃して殺す（FPSなど）
敵の弱点を探して急所を打つ
力で押す
相手の見えないところから攻撃
装備を充実させる
煙幕などで敵を混乱させる
修行して力を付ける（レベル上げ）
チームを組んで圧倒する
作戦を立てる戦力を集中する敵の背後を取る
銃を撃ちまくる敵の行動を読むトラップを仕掛ける
味方を犠牲にして自分が勝つ
相手を偽情報でだます
崖から突き落とす遠くから狙撃する
…

社会系ゲーム喋る経済活動をする
社会的活動をする日常生活を行う
衣食住を充実させる
物を交換する
知識や技術を見に付けるコミュニティーを作る
計画を立てる一つのことに取り組むこっそり人の役に経つ
演説する
社会の情勢、経済の動向を読む
街を整備する
人のために何かする正確な情報を伝える／偽情報を流す
崖から落ちそうな人を助ける近くでお年寄りをサポートする
…

攻撃型ゲーム⇔社会系ゲームの面白さ
攻撃型ゲーム敵を攻撃して殺す（FPSなど）
敵の弱点を探して急所を打つ
力で押す
相手の見えないところから攻撃
装備を充実させる
煙幕などで敵を混乱させる
修行して力を付ける（レベル上げ）
チームを組んで圧倒する
作戦を立てる戦力を集中する敵の背後を取る
銃を撃ちまくる敵の行動を読むトラップを仕掛ける
味方を犠牲にして自分が勝つ
相手を偽情報でだます
崖から突き落とす遠くから狙撃する
…

社会系ゲーム喋る経済活動をする
社会的活動をする日常生活を行う
衣食住を充実させる
人の役に立つ知識や技術を見に付けるコミュニティーを作る…
計画を立てる一つのことに取り組むこっそり人の役に経つ
演説する
社会の情勢、経済の動向を読む
街を整備する
人のために何かする正確な情報を伝える／偽情報を流す
崖から落ちそうな人を助ける近くでお年寄りをサポートする
…

しかし
こういった楽こういった
楽しみがデジタルゲームででデジタルゲーム
可能なのだろうかなのだろうか？
可能なのだろうか？

社会的なゲームに必要なこと
技術

システム全体を設計してシミュレーションできる能力
企画

社会的な喜びをゲーム内で再現する能力

社会的デジタル空間
世界を俯瞰的に観察する（シミュレーション）

社会
シミュレーション
プレイヤーが（プレイヤー
が
干渉しない
しない。
干渉
しない
。
プレイヤーというプレイヤーという
概念はない
はない））
概念
はない

世界を内側から体験する
（ゲーム）

俯瞰型
シミュレーション
ゲーム

体験型
ゲーム

プレイヤーが（プレイヤー
が
神的な
立場から
から干渉
神的
な立場
から
干渉
する））
する

プレイヤーが（プレイヤーがエージェントのエージェント
の
一人として
として活動
活動する
する））
一人
として
活動
する

社会的デジタル空間
３Ｄ

社会シミュレーション
環境シミュレーション
環境シミュレーション（
シミュレーション（京都大学）
京都大学）

俯瞰型シミュレーション
The Sims
ゲーム

社会体験型ゲーム
Ultima Online

Black & White

Assassin’s Creed

Gunslinger

AI Implant
SimCity

ゲーム

シミュレーション（インタラクティブ）
インタラクティブ）
ガンパレードマーチ

社会シミュレーション
社会シミュレーション

くりきん

Genocide
Automation

２Ｄ社会的デジタル空間
３Ｄ

社会シミュレーション
環境シミュレーション
環境シミュレーション（
シミュレーション（京都大学）
京都大学）

俯瞰型シミュレーション
The Sims
ゲーム

社会体験型ゲーム
Ultima Online

Black & White

Assassin’s Creed

Gunslinger

AI Implant
SimCity

ゲーム

シミュレーション（インタラクティブ）
インタラクティブ）
ガンパレードマーチ

社会シミュレーション
社会シミュレーション

くりきん

Genocide
Automation

２Ｄ社会シミュレーション
完全なシミュレーション

地域社会の住み分け
シェリング「分居」モデル
２種類のエージェントが周囲に自分と同じ種類のエージェントが住まう環境を求めて行動する。
シミュレーション開始
シミュレーション開始
２種のエージェントを
エージェントをランダムにランダムに配置

MOVE

自分の自分の周囲にいる
周囲にいる
エージェントのエージェントの数を数える

No
幸福度の幸福度の計算DEMO!

幸福度は
幸福度は閾値以上か
閾値以上か？

Yes
幸福度＝幸福度＝近傍にいる
近傍にいる同類にいる同類エージェント
同類エージェント数
エージェント数/近傍にいる近傍にいる総にいる総エージェント数
エージェント数

STOP

田村誠、
田村誠、板山真弓、
板山真弓、山影進、
山影進、第７章「地域社会の
地域社会の住み分け」、コンピューター」、コンピューターのコンピューターの中の社会」（
社会」（共立出版」（共立出版）
共立出版）

テーマパーク・シミュレーション
DEMO!
入場

行動決定

ゲートへ
ゲートへ移動アトラクションへ
アトラクションへ移動

退場

アトラクションへ
アトラクションへ到着（
到着（拘束）
拘束）

アトラクション解放アトラクション解放アトラクション効用
アトラクションをを選ぶ評価式評価式））
アトラクション効用（アトラクション＝アトラクションのアトラクションの選好度－αｘアトラクションまでの
アトラクションまでの直線距離までの直線距離－βｘアトラクションのアトラクションの混雑状況（α、βはシミュレーション定数
シミュレーション定数）
定数）

エージェントが持つパラメーター(1)各アトラクションへの選好度(2) すでに訪問したアトラクション(3) 満足度（(1)(2)より計算）(4) 帰宅満足度（満足度がこの値より大きければ帰宅）

辺見和晃、
辺見和晃、第８章「来場者に来場者に優しいテーマパーク
しいテーマパーク」、
テーマパーク」、コンピューター」、コンピューターのコンピューターの中の社会」（
社会」（共立出版」（共立出版）
共立出版）

社会的デジタル空間
３Ｄ

社会シミュレーション
環境シミュレーション
環境シミュレーション（
シミュレーション（京都大学）
京都大学）

俯瞰型シミュレーション
The Sims
ゲーム

社会体験型ゲーム
Ultima Online

Black & White

Assassin’s Creed

Gunslinger

AI Implant
SimCity

ゲーム

シミュレーション（インタラクティブ）
インタラクティブ）
ガンパレードマーチ

社会シミュレーション
社会シミュレーション

くりきん

Genocide
Automation

２Ｄ社会的デジタル空間
３Ｄ

社会シミュレーション
環境シミュレーション
環境シミュレーション（
シミュレーション（京都大学）
京都大学）

俯瞰型シミュレーション
The Sims
ゲーム

体験型ゲーム
Ultima Online

Black & White

Assassin’s Creed

Gunslinger

AI Implant
SimCity

ゲーム

シミュレーション（インタラクティブ）
インタラクティブ）
ガンパレードマーチ

社会シミュレーション
社会シミュレーション

くりきん

Genocide
Automation

２Ｄ群知能乱戦シミュレータ「Genocide Automation」
Sense of Wonder Night 入賞作品、佐々木直哉、http://www11.plala.or.jp/normal/
DEMO!
(1) ユニットに分かれている(2) ユニットは「資源」を消費。
資源が不足するとダメージ(3) エリアは敵、味方の数から占有率を計算。
(4) ユニット毎に味方、敵戦力を計算。
優勢と判断すれば戦う、でなければ逃げる。
(5) ユニットは合流閾値によって合流する。

[左クリック]:・視界内に敵がいなければカーソル位置へ向かう．
・表示される矩形内にいて，敵が視界内にいる場合には，味方の戦力を5倍に見積もる(好戦的になる)[右クリック]:・視界内に敵がいなければカーソル位置から遠ざかる．
・表示される矩形内にいて，敵が視界内にいる場合には，敵の戦力を5倍に見積もる(消極的になる)社会的デジタル空間
３Ｄ

社会シミュレーション
環境シミュレーション
環境シミュレーション（
シミュレーション（京都大学）
京都大学）

俯瞰型シミュレーション
The Sims
ゲーム

社会体験型ゲーム
Ultima Online

Black & White

Assassin’s Creed

Gunslinger

AI Implant
SimCity

ゲーム

シミュレーション（インタラクティブ）
インタラクティブ）
ガンパレードマーチ

社会シミュレーション
社会シミュレーション

くりきん

Genocide
Automation

２Ｄ社会的デジタル空間
３Ｄ

社会シミュレーション
環境シミュレーション
環境シミュレーション（
シミュレーション（京都大学）
京都大学）

俯瞰型シミュレーション
The Sims
ゲーム

体験型ゲーム
Ultima Online

Black & White

Assassin’s Creed

Gunslinger

AI Implant
SimCity

ゲーム

シミュレーション（インタラクティブ）
インタラクティブ）
ガンパレードマーチ

社会シミュレーション
社会シミュレーション

くりきん

Genocide
Automation

２Ｄ

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

Peer
Sub

Meta
Peer
Sub

[原則
原則]
原則 周囲の周囲の対象に対象に対する、する、あらゆる可能
あらゆる可能な可能な行動から
行動から、
から、
ムード（
ムード（幸せ） 係数を
係数を最大化する
最大化する行動する行動を
行動を選択する
選択する。
する。
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_

=

Mood (-100..+100)w_

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を上昇させるから

Mood を最大化

冷蔵庫へ行きます。

Mood を最大化

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

The Sims の最初の目標
エージェントが社会生活を営みながら、
インタラクションする社会を作りたい。
どうすればよいか？

(1) 自律的に生活を営む。
(2) エージェント同士
エージェント同士の同士の社会的に社会的にインタラクション(3) Edith による
各行動のつくり込み(2) NPC-NPC インタラクション
Bob

Social -30

Mary

Flirt (social +25)
Talk (social +15)
Compliment (social +20)

NPC 同士も、相手が自分のパラメーターをどう変化させるかを計算して決定する。上記では、Bob は、社交パラメータが低下しており、Flirt （いちゃつく）ことで、それが回復するので、Flirt を選択する。

NPC-NPC インタラクション

Kenneth D. Forbus “Some notes on programming objects in. The Sims”
http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

NPC-NPC インタラクション(いちゃつく)Kenneth D. Forbus “Some notes on programming objects in. The Sims”
http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

NPC-NPC インタラクション(いちゃつく)Kenneth D. Forbus “Some notes on programming objects in. The Sims”
http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

社会的デジタル空間
世界を俯瞰的に観察する（シミュレーション）

社会
シミュレーション
プレイヤーが（プレイヤー
が
干渉しない
しない。
干渉
しない
。
プレイヤーというプレイヤーという
概念はない
はない））
概念
はない

世界を内側から体験する
（ゲーム）

俯瞰型
シミュレーション
ゲーム

体験型
ゲーム

プレイヤーが（プレイヤー
が
神的な
立場から
から干渉
神的
な立場
から
干渉
する））
する

プレイヤーが（プレイヤーがエージェントのエージェント
の
一人として
として活動
活動する
する））
一人
として
活動
する

社会的デジタル空間
３Ｄ

社会シミュレーション
環境シミュレーション
環境シミュレーション（
シミュレーション（京都大学）
京都大学）

俯瞰型シミュレーション
The Sims
ゲーム

社会体験型ゲーム
Ultima Online

Black & White

Assassin’s Creed

Gunslinger

AI Implant
SimCity

ゲーム

シミュレーション（インタラクティブ）
インタラクティブ）
ガンパレードマーチ

社会シミュレーション
社会シミュレーション

くりきん

Genocide
Automation

２Ｄ社会的デジタル空間
世界を俯瞰的に観察する（シミュレーション）

社会
シミュレーション
デジタル世界に社会を実現する
基本技術

世界を内側から体験する
（ゲーム）

俯瞰型
シミュレーションゲーム＋インタラクション

体験型
ゲーム
＋実現した
社会システムに一人称として入り込む社会的デジタル空間
世界を俯瞰的に観察する（シミュレーション）

社会
シミュレーション
デジタル世界に社会を実現する
基本技術

世界を内側から体験する
（ゲーム）

俯瞰型
シミュレーションゲーム＋インタラクション

体験型
ゲーム
＋実現した
社会システムに一人称として
入り込む

ゲーム体験
体験として
として豊
かにするには、全体のシステムをかにする視点
視点と
ゲーム
体験
として
豊かにするには、全体のシステムを豊かにする視点と、一人称視点で体験をリッチにして
にして行
視点、
つの視点
視点が
一人称視点
で体験
をリッチ
にして
行く視点
、二つの
視点
が必要

プログラマーとユーザー
ハードコーディング型実装

エージェントを作ってユーザーにぶつける。

プログラミング実装プログラマーとユーザー
エージェントたちがおもてなしするゲーム

マルチエージェントシステムを作ってユーザーに参加して貰う

プログラミング実装マルチエージェント・システムを利用しよう（未開拓）

エージェントをユーザーにぶつける

マルチエージェント・システムにユーザーが参加する

デジタルゲームの世界は、「ユーザーとエージェントの対立構造」から、「エージェントの協調によるマルチエージェント・システムをどうゲームの中に利用して行くか」が将来的な課題となるだろう。

エージェントを協調させてゲームの中に社会を作る
マルチエージェント・システム(Multi-agent system)

第２部 まとめ第２部まとめ
デジタルゲームにおける人工知能技術
第一章 自律型エージェント (Autonomous Agent)
第二章 プロシージャル (Procedural)
第三章 メタAI (Meta-AI)
第四章 マルチエージェント(Multi-agent)第２部まとめ
ハードコーディング型実装

自律型エージェント実装

ハードコーディング型実装

プロシージャル実装

万人向けに完成したバランスのゲームユーザーに応じた
ゲームがその場で生成

エージェントをユーザーにぶつける

マルチエージェント・システムにユーザーが参加する

自律発展する世界の中の、自律的に判断・運動するAI、かつ、
それらのAIが連携して、ユーザーと多様なインタラクションを生成する世界。また、それらのゲーム世界全体がユーザーのアクションの履歴に応じて変化して行く世界。

これからのゲームの行方
現状： 西欧の暴力ゲームに引きずられる形
自律発展する世界の中の、自律的に判断・運動するAI、かつ、
それらのAIが連携して、ユーザーと多様なインタラクションを生成する世界。また、それらのゲーム世界全体がユーザーのアクションの履歴に応じて変化して行く世界。

新しいゲームの生成に期待、新しいゲームクリエーターの誕生[付録] ゲームＡＩの学習・研究の仕方
日本語の文献が殆どない、或いは、資料
は英語でよいものが多いので英語は必須。
(II) ゲームＡＩの教科書は英語で多く出版されている。
(III) ＷＥＢ上にゲームＡＩでよい英語論文がみつかる。
(IV) 日本語の資料は少ないが質が高い。
(I)

(I) 参考文献（日本語）（１）「ＦＳＭ」「プランニング」「評価値法」など、ゲームＡＩの基礎技術については、

オライリー・ジャパン「実例
実例でで学ぶゲームゲームＡＩ
ＡＩプログラミング
プログラミング」」
ＡＩプログラミング（Mat Buckland著、松田晃一訳
松田晃一訳））の解説が優れています。
ソースコードはＷＥＢ
http://www.wordware.com/files/ai/
できれば原書で読みましょう！

(I)参考文献（日本語）（２）①「世界表現」「プランニング」については、ＩＧＤＡ日本のＨＰの「ダウンロード」から、三宅が書いた第１，２、５，６回セミナーの教科書、
ＣＥＤＥＣ２００６の資料がＤＬできます。
http://www.igda.jp/（センサーの実装の仕方、記憶の利用法などを知りたい方は必読）
上記サイト復旧中のため一時的に以下のフォルダから
http://server02.joeswebhosting.net/~ig1347//modules/mydownloads/② ディジタルコンテンツ協会
デジタルコンテンツ制作
デジタルコンテンツ制作の先端技術応用に関する調査研究報告書する調査研究報告書（
制作の先端技術応用に
調査研究報告書（第３章）
http://www.dcaj.org/report/2007/ix1_07.html(PDFファイルがダウンロード出来ます。)③ 人工知能学会誌 Vol. 23 No. 1 (2008 年 1 月 ) 「ゲームＡＩ特集」「ディジタルゲームにおける人工知能技術の応用」 （三宅）(II)参考文献（英語）WEB
Mat Buckland
ai-junkie http://www.ai-junkie.com/ai-junkie.html

Craig Raynolds
RAYNOLDS http://www.red3d.com/
リンク集
http://www.red3d.com/cwr/games/

Steven Rabin
GameAI

http://www.gameai.com/

CGF-AICGF-AI http://www.cgf-ai.com/
リンク集 http://www.cgf-ai.com/links.html

(II)参考文献（英語）
書籍
AI Game Programming Wisdom 1 - 4

ゲーム開発者、研究者による、それぞれのタイトルの実装例、研究成果

(II)参考文献（英語）書籍

欧米のゲームＡＩの歴史から最先端までがわかりやすく、解説されています。
文科系の方も理科系の方も読んで楽しめる本です。

John Ahlquist, Jeannie Novak
Game Development Essentials: Game Artificial IntelligenceReferences for Killzone[1] William van der Sterren (2001),"Terrain Reasoning for 3D Action
Games", http://www.cgf-ai.com/docs/gdc2001_paper.pdf[2] William van der Sterren (2001) ,"Terrain Reasoning for 3D Action
Games(GDC2001 PPT)", http://www.cgfai.com/docs/gdc2001_slides.pdf[3] Remco Straatman, Arjen Beij, William van der Sterren(2005) ,"Killzone's AI : Dynamic Procedural Combat Tactics",
http://www.cgf-ai.com/docs/straatman_remco_killzone_ai.pdf[4] Arjen Beij, William van der Sterren (2005),"Killzone's AI : Dynamic
Procedural Combat Tactics (GDC2005)", http://www.cgfai.com/docs/killzone_ai_gdc2005_slides.pdf[5] Damian Isla (2005), "Dude, where’s my Warthog? From Pathfinding toGeneral Spatial Competence",
http://www.aiide.org/aiide2005/talks/isla.ppt

Reference for Halo & Halo2
 Damian Isla (2005), “Dude, where’s my Warthog?
From Pathfinding to General Spatial Competence”,
http://www.aiide.org/aiide2005/talks/isla.ppt
http://nikon.bungie.org/misc/aiide_2005_pathfinding/index.html

 Damian Isla (2005), Handling Complexity in the
Halo 2 AI, Game Developer's Conference
Proceedings.,
http://www.gamasutra.com/gdc2005/features/20050311/isla_01.shtml

 Jaime Griesemer(2002),The Illusion of Intelligence:
The Integration of AI and Level Design in Halo,
http://halo.bungie.org/misc/gdc.2002.haloai/talk.html

 Robert Valdes(2004), “In the Mind of the Enemy
The Artificial Intelligence of Halo2”,
http://www.stuffo.com/halo2-ai.htm (現在はclosed)References for C4 Architecture(1) MIT Media Lab Synthetic Characters Group,
http://characters.media.mit.edu/(2) R. Burke, D. Isla, M. Downie, Y. Ivanov, B. Blumberg,(GDC2001), “CreatureSmarts: The Art and Architecture of a
Virtual Brain”,http://characters.media.mit.edu/Papers/gdc01.pdf(3) D. Isla, R. Burke, M. Downie, B. Blumberg (2001)., “A Layered
Brain Architecture for Synthetic Creatures”,
http://characters.media.mit.edu/Papers/ijcai01.pdf(4) D. Isla, B. Blumberg (2002), “Object Persistence for Synthetic
Characters”,http://characters.media.mit.edu/Papers/objectPersistence.p
df(5) Movies of Duncan,http://web.media.mit.edu/~bruce/whatsnew.html(6) Object Persistence for Synthetic Characters. D. Isla, B.
Blumberg. In the Proceedings of the First International Joint
Conference on Autonomous Agents and Multiagent Systems,
AAMAS2002.,http://characters.media.mit.edu/Papers/objectPersistenceReferences for F.E.A.R.


論文 Orkin, J. (2006), 3 States & a Plan: The AI of F.E.A.R.,
Game Developer's Conference Proceedings.
Jeff Orkin, Applying Goal-Oriented Action Planning to Games,
AI Game Programming Wisdom 2, Charles
River Media., 217-228, (2003)
参考文献(I) Mat Buckland, “Programming Game AI by
Example”, Chapter 9, WORDWARE publishing（第９章とそのサンプルコードはゴール指向型プランニングの優れた解説です。
書をお探しの方は、ゲームＡＩについて最良の書の一つです。推薦します。）

教科

オライリージャパンより
オライリージャパンより「より「実例で実例で学ぶゲームＡＩ
ゲームＡＩプログラミング
ＡＩプログラミング」
プログラミング」として翻訳として翻訳が翻訳が出版されています
出版されています。
されています。



参考文献(II) Jeff Orkin’ HP http://web.media.mit.edu/~jorkin/（Jeff Orkin は、米におけるゲームＡＩにおけるゴール指向型プランニングの推進者の一人。著者のサイトに豊富な情報があります。）



参考文献(III) 星野 瑠美子,“F.E.A.R.のAI - 3つの状態とゴール
指向プランニングシステム”
http://www.igda.jp/modules/xeblog/?action_xeblog_details=1&blog_id=62(IGDA Japan サイト内、GDC2006講演の紹介）

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

Photo from http://www.cyberleaf.com/

これ以外に、意見や質問があれば、メイルかアンケートへ
y.m.4160@gmail.com(IGDA Japan登録アドレス yoichi-m@pk9.so-net.ne.jp )http://www.igda.jp