ymiyake tsukuba univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/y...elite major flood...

132
「ゲームのパースペクティブ」 三宅 陽一郎 (株式会社フロム・ソフトウェア) The Perspective of Game AI [email protected] 2009.11.5@筑学 筑学コンテンツ工学セミナー

Upload: others

Post on 28-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

「ゲームAIのパースペクティブ」

三宅 陽一郎(株式会社フロム・ソフトウェア)

The Perspective of Game AI

[email protected]

2009.11.5@筑波大学

筑波大学コンテンツ工学セミナー

Page 2: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Contact Information

Youichiro Miyake

• Mail: [email protected]

• Twitter: @miyayou

• Blog: http://blogai.igda.jp

• LinkedIn: http://www.linkedin.com/in/miyayou

• Facebook: http://www.facebook.com/youichiro.miyake

Page 3: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

自己紹介

1999年京都大学総合人間学部基礎科学科卒業.

2001年大阪大学理学研究科修士課程物理学専攻修了.

2004年東京大学工学系研究科博士課程(単位取得満期退学)

同年、株式会社フロム・ソフトウェア入社.

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

Page 4: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

全講演資料全講演資料全講演資料全講演資料をををを公開公開公開公開していますしていますしていますしています。。。。[講演講演講演講演]2006年年年年CEDEC2006 「「「「クロムハウンズクロムハウンズクロムハウンズクロムハウンズにおけるにおけるにおけるにおける人工知能開発人工知能開発人工知能開発人工知能開発からからからから見見見見るるるるゲームゲームゲームゲームAIAIAIAIのののの展望展望展望展望 」」」」http://server02.joeswebhosting.net/~ig1347//modules/mydownloads/

2007年年年年AOGC2007 招待講演招待講演招待講演招待講演 「「「「人工知能人工知能人工知能人工知能がががが拓拓拓拓くくくくオンラインゲームオンラインゲームオンラインゲームオンラインゲームのののの可能性可能性可能性可能性」」」」http://www.bba.or.jp/AOGC2007/080/

CEDEC2007 招待講演招待講演招待講演招待講演 「「「「エージェントエージェントエージェントエージェント・・・・アーキテクチャーアーキテクチャーアーキテクチャーアーキテクチャーからからからから作作作作るるるるキャラクターキャラクターキャラクターキャラクターAI」AI」AI」AI」http://server02.joeswebhosting.net/~ig1347//modules/mydownloads/

Korea Game Conference 2007招待講演招待講演招待講演招待講演2006 年年年年~~~~2007年年年年IGDA日本日本日本日本、、、、ゲームゲームゲームゲームAIAIAIAI連続連続連続連続セミナーセミナーセミナーセミナー「「「「ゲームゲームゲームゲームAIAIAIAIをををを読読読読みみみみ解解解解くくくく」」」」全全全全6666回回回回

http://server02.joeswebhosting.net/~ig1347//modules/mydownloads/

2008年年年年CEDEC2008 招待講演招待講演招待講演招待講演「「「「ゲームゲームゲームゲーム開発開発開発開発のためののためののためののためのプロシージャルプロシージャルプロシージャルプロシージャル技術技術技術技術のののの応用応用応用応用」」」」http://cedec.cesa.or.jp/2008/archives/archive_1.html

DiGRA JAPAN 公開講座公開講座公開講座公開講座「「「「Spore におけるにおけるにおけるにおけるゲームゲームゲームゲームAIAIAIAI技術技術技術技術ととととプロシージャルプロシージャルプロシージャルプロシージャル 」」」」http://www.digrajapan.org/modules/mydownloads/viewcat.php?cid=10

IGDA日本日本日本日本 GDC報告会報告会報告会報告会 「「「「GDCにににに見見見見るるるる最新最新最新最新AIととととプロシージャルプロシージャルプロシージャルプロシージャル技術技術技術技術」」」」http://server02.joeswebhosting.net/~ig1347//modules/mydownloads/

2009年年年年IGDA日本日本日本日本 GDC報告会報告会報告会報告会 「「「「これからのこれからのこれからのこれからのゲームゲームゲームゲームAIAIAIAIのののの作作作作りりりり方方方方」」」」http://www.digrajapan.org/modules/mydownloads/

http://server02.joeswebhosting.net/ ~ig1347// はははは、、、、http://www.igda.jp/ へへへへ移行予定移行予定移行予定移行予定ですですですです。。。。

Page 5: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

自己紹介[特別論文特別論文特別論文特別論文]

人工知能学会誌人工知能学会誌人工知能学会誌人工知能学会誌 Vol. 23 No. 1 (2008 年年年年 1 月月月月 ) 「「「「ゲームゲームゲームゲームAIAIAIAI特集特集特集特集」」」」

「「「「ディジタルゲームディジタルゲームディジタルゲームディジタルゲームにおけるにおけるにおけるにおける人工知能技術人工知能技術人工知能技術人工知能技術のののの応用応用応用応用」」」」 ((((三宅三宅三宅三宅))))

[報告書報告書報告書報告書]デジタルコンテンツデジタルコンテンツデジタルコンテンツデジタルコンテンツ協会協会協会協会

2007200720072007年度年度年度年度 第第第第3333章章章章「「「「ゲームゲームゲームゲームAI」AI」AI」AI」「「「「デジタルコンテンツデジタルコンテンツデジタルコンテンツデジタルコンテンツ制作制作制作制作のののの先端技術応用先端技術応用先端技術応用先端技術応用にににに関関関関するするするする調査研究報告書調査研究報告書調査研究報告書調査研究報告書」」」」

2008200820082008年度年度年度年度 第第第第3333章章章章「「「「プログラミングプログラミングプログラミングプログラミングAI」AI」AI」AI」「「「「デジタルコンテンツデジタルコンテンツデジタルコンテンツデジタルコンテンツ制作制作制作制作のののの先端技術応用先端技術応用先端技術応用先端技術応用にににに関関関関するするするする調査研究報告書調査研究報告書調査研究報告書調査研究報告書」」」」

ゲームゲームゲームゲームAIAIAIAIのののの情報情報情報情報についてについてについてについて、、、、総合的総合的総合的総合的にまとめてありますにまとめてありますにまとめてありますにまとめてあります。。。。http://www.dcaj.org/report/index.html よりよりよりよりPDFPDFPDFPDFダウンロードダウンロードダウンロードダウンロードできますできますできますできます。。。。

[インタビューインタビューインタビューインタビュー]大学大学大学大学からからからからゲームメーカーゲームメーカーゲームメーカーゲームメーカーへへへへ――――――――AI研究研究研究研究でででで広広広広がるがるがるがるステキステキステキステキななななゲームゲームゲームゲームのののの世界世界世界世界とはとはとはとは????http://gamez.itmedia.co.jp/games/articles/0901/08/news129_3.htmlhttp://gamez.itmedia.co.jp/games/articles/0901/09/news075.html

((((ブログブログブログブログ)))) y_miyake ののののゲームゲームゲームゲームAIAIAIAI千夜一夜千夜一夜千夜一夜千夜一夜 ((((IGDA日本日本日本日本))))http://blogai.igda.jp/

Page 6: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 7: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

第一章 ガイダンス

Page 8: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

知能は環境に対して相対的に定義される

世界

Page 9: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

知能は環境に対して相対的に定義される

世界

Page 10: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

知能は環境に対して相対的に定義される

世界

知性は世界とインラクションしながら適応して行く(学習)

Page 11: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

知能が学習が出来る仕組みとは?

知性のポテンシャル ニューロンの集合

適応に応じて変形できる器官を持つ=可塑性(かそせい)を持つ

Page 12: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

特性が遺伝するのではなく一般的な適応性が遺伝する

「私たちがもっているいろいろな腱はどれも、大きさ、長さ、走行ともに腱としての機能に適っている。この組織の裁縫は揃って引っ張られる方向に向いており……

このようにこまかいところまでよく適応がおこなわれるのは、

すべて腱を作りあげているただ一つの性質から派生しているように見える。

つまり腱の場合、遺伝するのは、繊維芽細胞がそこに加えられた要求に応じて反応するという、一般的な適応性だけなのである。

こまかな適当は二次的で遺伝しない変化であって、各世代で使うことによって

新しく作り出される」 (ジュリアン・ハクスリー「進化とは何か?」)

J.スコットターナー「自己デザインする生命」(P.308)の引用の引用

Page 13: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

適応・学習システム• ニューラルネットワーク

• 遺伝的アルゴリズム

• ベイジアンネットワーク

• 決定木学習• …

世界

適応システムを実装(インプリメンツ)することで、序々にAIの知性を世界に馴染ませていく。

Learning & Adaptability

Page 14: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

ゲームにおけるAIはデザイナーが自由に作り変えることができなければならない

しかし、

殆どのゲームAIでは、学習アルゴリズムは使用されない。

なぜなら、思い通りのAIになる可能性が少ないから。

(そもそも思い通りに学習するAIは学習ではない)

Learning & Adaptability

Customizability & Scalability

Page 15: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

カスタム・システム• スクリプト

• プログラム

• ツール• FSM

• …

世界

最適なシステムをマニュアル(手)で作り上げる

Customizability &

Scalability

Page 16: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Variation

ゲームAIに必要な3つのScalability

Variety

Volumedrive the warthog

Shoot the needler

melee attack

fight

perchhide

boarding

Strafe target

heretic gruntelite major

floodswarms

hunters

hell-jumpersbrute captain

Miranda sniper marine

DRAMA!

pacingstory

challenge

Page 17: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

2つの世界、2つの知性

自然界デジタルワールド

実際の知性(自然界における知性)をリバースエンジ二アリングして、デジタルワールドの知性を作る…(ニューラルネット、遺伝的アルゴリズム)

という発想は正しいだろうか?

或いは、デジタルワールド(人工的世界)には、人工世界特有の、知性の仕組み、というものがあるのだろうか?

Page 18: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

人工知能技術自然界自然界自然界自然界をををを起源起源起源起源とするとするとするとする技術技術技術技術 アルゴリズムアルゴリズムアルゴリズムアルゴリズムをををを起源起源起源起源とするとするとするとする技術技術技術技術どちらともどちらともどちらともどちらとも言言言言えないえないえないえない

ニューラルネットワーク

遺伝的アルゴリズム

クラシファーシステム

ベイジアンシステム

プランニング

エージェントアーキテクチャー

FSM

探索木

知識表現

エキスパートシステム

Prolog

Lisp

評価値システム

カスタマイズ可能学習可能

Page 19: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

人工知能技術自然界自然界自然界自然界をををを起源起源起源起源とするとするとするとする技術技術技術技術 アルゴリズムアルゴリズムアルゴリズムアルゴリズムをををを起源起源起源起源とするとするとするとする技術技術技術技術どちらともどちらともどちらともどちらとも言言言言えないえないえないえない

ニューラルネットワーク

遺伝的アルゴリズム

クラシファーシステム

ベイジアンシステム

プランニング

エージェントアーキテクチャー

FSM

探索木

知識表現

エキスパートシステム

Prolog

Lisp

評価値システム

カスタマイズ可能学習可能

ゲームゲームゲームゲームAIAIAIAIでよくでよくでよくでよく使使使使われるわれるわれるわれる技術技術技術技術

ゲームゲームゲームゲームAIAIAIAIででででときどきときどきときどきときどき使使使使われるわれるわれるわれる技術技術技術技術

Page 20: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

成熟した知能を作るためには、しっかりと構築された世界を持たねばならない

(デジタル世界のAIの未来を考える)

AIAIAIAIをををを賢賢賢賢くしようとくしようとくしようとくしようと思思思思ったらったらったらったら、AI、AI、AI、AIがががが属属属属するするするする世界世界世界世界をををを成熟成熟成熟成熟させよさせよさせよさせよ!!!!

世界

デジタル世界の成熟度 = その世界の法(物理、生物、経済などの法則)+その世界の構造多様性(海、山、オブジェクト、光…)+その世界の動的多様性(生態系、太陽系…)

その世界に適応し得るAIを構築する(しなければならない)

Page 21: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

成熟した知能を作るためには、しっかりと構築された世界を持たねばならない

(デジタル世界のAIの未来を考える)

AIAIAIAIをををを賢賢賢賢くしようとくしようとくしようとくしようと思思思思ったらったらったらったら、AI、AI、AI、AIがががが属属属属するするするする世界世界世界世界をををを成熟成熟成熟成熟させよさせよさせよさせよ!!!!

世界

デジタル世界の成熟度 = その世界の法(物理、生物、経済などの法則)+その世界の構造多様性(海、山、オブジェクト、光…)+その世界の動的多様性(生態系、太陽系…)

その世界に適応し得るAIを構築する(しなければならない)

Page 22: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

AIと世界との対応(マッチング)

その世界に適うAIを作る(AIと世界とのマッチング)

=その世界を見れば、そこに住まうべき知性の形が見える

= デジタルゲームAIの歴史は、デジタルワールドの特性を見れば見える

Page 23: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

ゲーム世界の発展

Page 24: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

ゲーム世界の発展

Page 25: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

ゲーム世界の発展

Page 26: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii

DC ((((次世代次世代次世代次世代))))Hardware 時間軸20051999

ゲームの進化と人工知能

複雑な世界の複雑なAI

ゲームも世界も、AIの身体と内面もますます複雑になる。

単純な世界のシンプルなAI

Page 27: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

AI とはシステム内システム

世界

本来の知性のあり方= 動的な世界に含まれる一個の動的なシステムとして、

世界と相互作用しながら運動する。= 固有システム (interactive) in システム= システム内システム

Page 28: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii

DC ((((次世代次世代次世代次世代))))Hardware 時間軸20051999

ゲームの進化と人工知能

複雑な世界の複雑なAI

ゲームも世界も、AIの身体と内面もますます複雑になる。

単純な世界のシンプルなAI

Page 29: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

分離から調和へ向かうAIの歴史

舞台装置としてのデジタル世界

舞台装置の一部としてのAI

構造化される世界

(ゲーム的リアリティ)

AIアルゴリズムによる駆動(FSM,意思決定)

自律化する世界

(物理、生態系)

自律型AI

AIの自律化の歴史

世界の自律化の歴史

Page 30: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

分離から調和へ向かうAIの歴史

舞台装置としてのデジタル世界

舞台装置の一部としてのAI

構造化される世界

(ゲーム的リアリティ)

AIアルゴリズムによる駆動(FSM,意思決定)

自律化する世界

(物理、生態系)

自律型AI

AIの自律化の歴史

世界の自律化の歴史

AIと世界の分離化と相互作用の歴史

Page 31: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

アカデミックなAIとエンターテインメントのAIの違い

世界

① 一定の方法論によって組み立てられなければならない。② AIの知性の高度さが、一定の指標で評価されなければならない。③ 論文にならなければならない。

アカデミックアカデミックアカデミックアカデミック::::

AIそのものが対象である (例)google検索エンジン、amazon…

Page 32: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

アカデミックなAIとエンターテインメントのAIの違い

世界

① 方法は問わない。② AIは広い意味でユーザーを楽しませるものでなければならない。③ AIはユーザーに知性として了解されるものでなければならない。

エンターテインメントエンターテインメントエンターテインメントエンターテインメント::::

AIとユーザーの関係そのものが対象である

AI

アバターユーザー

Page 33: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

プレイヤー、開発者、観測地平線

開発者 プレイヤー

開発者が提示しようとする空間 ユーザーからみえるゲーム空間

ゲームが認識される平面

2008200820082008年度年度年度年度 「「「「デジタルコンテンツデジタルコンテンツデジタルコンテンツデジタルコンテンツ制作制作制作制作のののの先端技術応用先端技術応用先端技術応用先端技術応用にににに関関関関するするするする調査研究報告書調査研究報告書調査研究報告書調査研究報告書」」」」 第第第第3333章章章章「「「「プログラミングプログラミングプログラミングプログラミングAI」AI」AI」AI」

ゲームゲームゲームゲームAIAIAIAIのののの情報情報情報情報についてについてについてについて、、、、総合的総合的総合的総合的にまとめてありますにまとめてありますにまとめてありますにまとめてあります。。。。http://www.dcaj.org/report/index.html よりよりよりよりPDFPDFPDFPDFダウンロードダウンロードダウンロードダウンロードできますできますできますできます。。。。

Page 34: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

デジタルゲーム世界

エンターテインメントAI(ゲームAI)とはユーザー(人間)とAIの関係を探求する学問である

デジタルゲームにおける知能的側面。キャラクターAI、ゲームシステムそのものメタAI、自動生成(プロシージャル)…

デジタルゲームデジタルゲームデジタルゲームデジタルゲームAI:AI:AI:AI:

ユーザーユーザーユーザーユーザー::::

感情を持つ人間。これはまた、混沌そのもの…

定性的定性的定性的定性的・・・・定量的研究定量的研究定量的研究定量的研究

決定的決定的決定的決定的なななな方法論方法論方法論方法論やややや明確明確明確明確なななな体系体系体系体系があるわけではないがあるわけではないがあるわけではないがあるわけではない。。。。現在現在現在現在、、、、構築中構築中構築中構築中のののの研究分野研究分野研究分野研究分野…なんとなくなんとなくなんとなくなんとなく輪郭輪郭輪郭輪郭がつかめそうがつかめそうがつかめそうがつかめそう.…

Page 35: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

これまでのゲームAIとどう違うか?

「ゲームAI」と言えば? 囲碁・将棋・チェスのAI

ターン制(時間が止まっている)ゲームが固定している(ルールが最初から完全に決まっている)AIはプレイヤーAI

一般のデジタルゲームAI

ターン制 ⇒ リアルタイム制ゲームが固定している ⇒ ゲーム製作と同時進行でAIを作るAIはプレイヤーAI ⇒ AIはゲームの一部

これまでのゲームAIを内包するゲーム研究

Page 36: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

これまでのゲームAIとどう違うか?

ターン制 ~ リアルタイム制ゲームが固定している ~ ゲーム製作と同時進行でAIを作るAIはプレイヤーAI ~ AIはゲームの一部

これまでのゲームAIを内包するゲーム研究

ターン制

リアルタイム制

ゲームが固定 ゲーム製作と同時に作成

プレイヤーAI

AIはゲームの一部

Page 37: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

一般にゲームAIは、そのゲームの意味空間・物理空間の中で定義される

物理処理

エフェクト

レベル(ステージ)デザイン

キャラクター属性設定

アニメーション

AI

AIには、そのゲームの極として、そのゲームのエッセンスが

含まれている。

Page 38: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

ゲームAIを作るということ

(1) ゲームを構成する一部として、そのゲームが要求する知的役割を果たすこと。

そのAIを以ってゲームを完成させる。

AIは新しいゲームデザインの糸口でもある。

(2) ユーザーとAIの関係性を構築すること。AIを以ってユーザーを楽しませる。

新しいユーザーエクスぺリエンスの創造

ゲームの声を聴き、AIを創造せよ

Page 39: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

表面に見えるテクニック

中身

ゲームAIテクニック

本質

Page 40: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 41: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

第2章 事例紹介

Page 42: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Elite (1984)8-Bit マシンでステージを自動生成

Besides its excellent implementation of wireframe 3D graphics, where Elite really set itself apart from these other space

trading games was its procedurally generated universe, including planetary positions, names, politics, and general descriptions.

http://www.gamasutra.com/view/feature/3983/the_history_of_elite_space_the_.php?print=1

http://www.escapistmagazine.com/forums/read/326.68619

256の銀河が、データテーブル擬似乱数列によって自動生成される。

Page 43: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

(1) http://blogai.igda.jp/article/32623498.html

Page 44: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 45: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

SimCity(Micropolis) (1989)

http://weblogs.asp.net/bsimser/archive/2008/01/10/simcity-source-code-released-to-the-wild-let-the-ports-begin.aspx

Cellular Automaton でステージを自動発展

Crime = Pop. Density^2 - Land Value - Police Effect

Land Value = Distance[Zonetype] + Terrain + Transport

世界をダイナミクス(力学系、動的な数値の仕組み )として動かす。世界を動かす SubAI(=シミュレーション) を構築。

Meta

Peer

Sub

Page 46: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

(1) Don Hopkins, Cellular Automaton Demo

http://d.hatena.ne.jp/video/google/-

2395405596313202859

(2) John von Neumann's 29 state Cellular Automata

Implemented in OpenLaszlo

http://www.donhopkins.com/drupal/?q=node/41

Page 47: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 48: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

“ウィル・ライト” とは誰か?デビュー

シムズ時代

Spore

時代

SimCity

(1989)

SimEarth (1990)

SimAnt (1991)

SimCity 2000 (1993)

SimCopter (1996)

Maxis

EA, Maxis

Bungeling Bay (1984)

http://spore.wikia.com/wiki/Will_Wright

Spore (2008)

SimCity 3000 (1999)

The Sims (2000)

SimCity4 (2003)

The Sims 2 (2004)

SimCity Societies (2007)

The Sims 3 (2008)

Page 49: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

技術者“ウィル・ライト”把握した ダイナミクス を数値モデルとして実現できる能力を持つ

ある朝持って来た、ウィル・ライトのThe Sims の

ダイナミクスを表現したCのコード(The Soul of The Sims, by Will Wright)

http://www.donhopkins.com/drupal/node/148

プログラマーらしい、抽象的な動的な流れを追う能力、プログラムの可能性をよく知っている。

Page 50: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

The Sims シリーズのAIの作り方

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

Sub

Peer

Meta

Meta

Peer

Sub

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

Sims (not under direct player control) choose what to do by selecting, from all of the possible behaviors in all of the objects, the behavior that maximizes their current happiness.

Page 51: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

オブジェクトに仕込むデータ構造

Data (Class, Sate)

Graphics (sprites, z-

buffers) 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

Page 52: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

NPCに仕込むデータ構造

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

Page 53: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Hunger +20

Comfort -12

Hygiene -30

Bladder -75

Energy +80

Fun +40

Social +10

Room -60

Mood +18

Toilet

-Urinate (+40 Bladder)

-Clean (+30 Room)

-Unclog (+40 Room)

Bathtub

-Take Bath(+40 Hygiene)

(+30 Comfort)

-Clean (+20 Room)

Mood +26

Mood +20

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

最適な行動を選択する

Page 54: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Happiness 係数の計算のためのウエイト

Hapiness = W_Hunger * Hunger + W_Engergy * Energy + …

w_ w_

w_ w_

w_ w_

w_ w_

= Mood (-100..+100)

Page 55: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Happiness を最大化

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

Page 56: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

冷蔵庫へ行きます。

Happiness を最大化

Page 57: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Happiness を最大化

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

Page 58: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

[余談] Halo3

上記の手法は、

Declarative Method として Halo3 へ

Halo3 9講演のPPT資料 http://www.bungie.net/Inside/publications.aspx

Sims の話へ戻って…

Page 59: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Edith

これだけだと、

原始的で単発の行動しかできないけれど…

実際は、

一連の行動のシークエンスをAIに行わせたい。

そのためのビジュアル・プログラミング環境が、

Edith

Page 60: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Edith

プログラミング・オブジェクトを繋げて行くビジュアル・プログラミング環境

Kenneth D. Forbus “Some notes on programming objects in. The Sims”

http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

Page 61: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Edithプログラミング・オブジェクトを繋げて行くビジュアル・プログラミング環境

Kenneth D. Forbus “Some notes on programming objects in. The Sims”

http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

Page 62: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Edith Demo

http://www.DonHopkins.com/home/movies/TheSimsPieMenus.mov

Page 63: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Fridge

Hungry

Hunger +30

実例① 「調理して食べる」

Page 64: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Fridge Fix Dinner

food

実例① 「調理して食べる」

Page 65: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Fridge

counter stove

Fix Dinner

food

cook

実例① 「調理して食べる」

Page 66: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Fridge

counter stove

chairtable

Fix Dinner

foodPlacement surface

実例① 「調理して食べる」

Page 67: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Fridge

counter stove

chairtable

dishwasher

Fix Dinner

food

Disposal (neat)

実例① 「調理して食べる」

Page 68: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Edith for Mood Adjuster (パーティ盛り上げグッズ)

Kenneth D. Forbus “Some notes on programming objects in. The Sims”

http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

Page 69: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

人同士のコミュニケーション

Kenneth D. Forbus “Some notes on programming objects in. The Sims”

http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

Page 70: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

人同士のコミュニケーション

(いちゃつく)

Kenneth D. Forbus “Some notes on programming objects in. The Sims”

http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

Page 71: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

人同士のコミュニケーション

(いちゃつく)

Kenneth D. Forbus “Some notes on programming objects in. The Sims”

http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf

Page 72: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story
Page 73: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 74: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

BLACK & WHITE (2001)

人間が指示を与える“ゴッドゲーム”クリーチャーに組み込まれたニューラルネットワークが学習する(パーセプトロン型)

Page 75: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

学習の原理とAI

AI全体は BDI アーキテクチャ

B(Belief)、D(Desire)、I (Intention)

エージェントが行動を起こし、その行動に対して、プレイヤーからのフィードバックがもたらされる。

エージェントの内部は、パーセプトロン型のシステムによって欲求が形成される仕組みで、プレイヤーからのフィードバックが、このパーセプトロンのウエイトを変化させる。

Page 76: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

Richard Evans, “Varieties of Learning”,

11.2, AI Game Programming Wisdom (2002)

Page 77: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 78: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Creatures (1996)

http://aigamedev.com/reviews/creatures-ai/

LOBE = 1000 neurons がパックされたものさらに、その LOBE 同士が結合されている

ユーザーとインタラクションしながら物の認識を学習する

Page 79: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Creatures AI アーキテクチャ

認識層、概念層における Lobe 群

Page 80: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

• [1] Creatures: Entertainment Software Agents with Artificial Life Stephen Grand, Dave Cliff Autonomous Agents and Multi-Agent Systems, 1997 PPT

http://www.sci.brooklyn.cuny.edu/~sklar/teaching/f05/alife/notes/ali-Creatures4.pdf

http://www.springerlink.com/content/v1388046w1813uvw/

論文(右のCASHEDからダウンロードしてください)http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.9182

• [2] Creatures: Artificial Life Autonomous Software Agents for Home Entertainment Stephen Grand, D. Cliff, A. Malhotra International Conference on Autonomous Agents, 1997 http://sigart.acm.org/proceedings/agents97/A157/A157.PDF

Page 81: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 82: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

DOOM (1993)始めての3D FPS, 3D Game AI, BSP (Binary Space Partitioning)法

AIの認識、AIの位置把握などを高速に処理する仕組み

Page 83: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

DOOMにおけるBSP法

BSP(Binary Space Partitioning)法とは、壁などの境界を延長して、空間を2分して行く方法。3DFPSの原点の一つ(技術的には本当に原点)DOOM(id Software)で

位置解析や、AIのI空間認識、パス探索システムのデータ、などに採用されたことから、Quake シリーズを通して引き継がれている。

Page 84: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

(1) Motion Planninghttp://intechweb.org/book.php?id=74&content=title&sid=1

22 Automated Static and Dynamic Obstacle Avoidance in Arbitrary 3D Polygonal Worlds ,

J.M.P. van Waveren and L.J.M. Rothkrantz

(2) The Quake III Arena BotJ.M.P. van WaverenMaster of Science thesis, Delft University of Technology, June 2001

http://www.kbs.twi.tudelft.nl/Publications/MSc/2001-VanWaveren-MSc.html

(3) BSP法の源流を追う~ジョン・カーマックによるDOOMの実装からQUAKE WARSまでhttp://blogai.igda.jp/article/29853941.html

Page 85: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 86: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Quake Wars (2007)DOOMのBSP法の流れを継ぐナビメッシュ自動生成

Configuration Space (C-Space)

(単なるメッシュではなくAIの運動可能な空間のこと)を考慮に入れたNavMesh生成

Page 87: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

ナビメッシュの原理とスムージング

Page 88: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

ナビメッシュ自動生成(BSP法)

Page 89: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

動的パス検索

落下して来たオブジェクトに対して、リアルタイムにパス生成(オブジェクトの淵をトレースするアルゴリズム)

Page 90: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

Motion Planninghttp://intechweb.org/book.php?id=74&content=title&sid=1

22 Automated Static and Dynamic Obstacle Avoidance in Arbitrary 3D Polygonal

Worlds J.M.P. van Waveren and L.J.M. Rothkrantz

Page 91: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 92: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Eve Online (CCP Games) (2003)

① アイスランド 国産のスペースオンラインRPG

② 世界中(アトランタ、上海、ロンドン、レイキャビク)に

オフィスを持つ。

③ 全世界23万人ユーザー(月額15ドル)

http://www.eve-online.com/

CCP Games、「、「、「、「EVE ONLINE」」」」開発者開発者開発者開発者インタビューインタビューインタビューインタビュー独特独特独特独特のののの世界観世界観世界観世界観ととととゲームゲームゲームゲーム性性性性でででで成長成長成長成長をををを続続続続けるけるけるける同作同作同作同作のののの強強強強みとみとみとみと日本展開日本展開日本展開日本展開へのへのへのへの展望展望展望展望http://watch.impress.co.jp/game%2Fdocs/20071017/eveon.htm

舞台となる星系全体を自動生成

Page 93: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Eve Online (CCP Games)

CCP Games、「、「、「、「EVE ONLINE」」」」開発者開発者開発者開発者インタビューインタビューインタビューインタビュー

独特独特独特独特のののの世界観世界観世界観世界観ととととゲームゲームゲームゲーム性性性性でででで成長成長成長成長をををを続続続続けるけるけるける同作同作同作同作のののの強強強強みとみとみとみと日本展開日本展開日本展開日本展開へのへのへのへの展望展望展望展望http://watch.impress.co.jp/game%2Fdocs/20071017/eveon.htm

Page 94: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Eve Online (CCP Games)

CCP Games、「、「、「、「EVE ONLINE」」」」開発者開発者開発者開発者インタビューインタビューインタビューインタビュー

独特独特独特独特のののの世界観世界観世界観世界観ととととゲームゲームゲームゲーム性性性性でででで成長成長成長成長をををを続続続続けるけるけるける同作同作同作同作のののの強強強強みとみとみとみと日本展開日本展開日本展開日本展開へのへのへのへの展望展望展望展望http://watch.impress.co.jp/game%2Fdocs/20071017/eveon.htm

Page 95: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

これより数ページはAustin GDC からの資料です。

The Server Technology of EVE Online: How to Cope With 300,000 Players on One Server

https://www.cmpevents.com/GDAU08/a.asp?option=C&V=11&SessID=7922

資料 (P.23~)https://www.cmpevents.com/sessions/GD/S7922i1.ppt

Page 96: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

EVEの世界設定

EVE の世界は5000を超える

太陽系からなる。

各太陽系は12の惑星と、それを取り巻く月、アステロイドベルトからなる。

ルートによって結ばれた太陽系は星団を形成し、リージョンと呼ばれるコングロマリットを形成する。

Page 97: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

太陽系自動生成

EVE の太陽系システムは

ディスク加速モデルによって生成される

disc accretion model

(24時間ぐらいで生成できる)

Page 98: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

面白い経路システムを作りたいゴール:

• 安定的• 戦略的• 階層的

⇒拡散凝縮モデル Diffusion Limited Aggregation (DLA)

Page 99: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

経路システム自動生成

拡散凝縮モデルDiffusion Limited

Aggregation (DLA)

(マルチシード3次元版)

Page 100: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story
Page 101: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story
Page 102: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story
Page 103: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story
Page 104: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story
Page 105: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story
Page 106: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 107: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Halo Wars (2009)

Age of Empire の流れをつぐ地形自動生成

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 108: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Age of Empire III の頃の自動生成された崖

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 109: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

• 目標 – 孤立したような崖をなくす

• #1 8倍の解像度にアップ

– 崖の分解能に対応

• #2 ベクトルフィールド(XYZ)を用いたディスパレスメント

Halo Wars における新しい自動生成の特徴

Page 110: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 111: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 112: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 113: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 114: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 115: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 116: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 117: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen", GDC 2009

http://www.gdcvault.com

Page 118: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

• McAnlis, Colt, "HALO WARS: The Terrain of Next-Gen",

GDC 2009 http://www.gdcvault.com

• http://www.bonfire-studios.com/files/GDC_09_HW_Terrain_final.zip

Page 119: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

コンテンツ

第一章 ガイダンス

第二章 実例紹介- Elite

- SimCity

- The Sims

- Black & White

- Creatures

- DOOM

- Quake Wars

- Eve Online

- Halo Wars

- Forza Motor Sports

Page 120: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Forza Motor Sports学習するレーシングAI

•“Hard” AI drivers follow smooth, consistent, closely-clustered lines

•“Easy” AI opponents drive less smooth lines with significant dispersion and variation

Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products

http://research.microsoft.com/en-us/um/cambridge/events/2009summerschool/ralf_herbrich.pptx

Page 121: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

“Built-In” AI Behaviour

Development Tool

Drivatar Racing Line

Behaviour Model

Vehicle Interaction and Racing

Strategy

Controller

Drivatar AI DrivingDrivatar AI Driving

Recorded Player Recorded Player

DrivingDriving

学習フロー

Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products

http://research.microsoft.com/en-us/um/cambridge/events/2009summerschool/ralf_herbrich.pptx

Page 122: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

理想的なライン取りの情報は与えておく(インプット情報)

Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products

http://research.microsoft.com/en-us/um/cambridge/events/2009summerschool/ralf_herbrich.pptx

Page 123: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

•• 2つのフェーズ2つのフェーズ

1.1. 可能なライン取りのデータを複数準備しておく可能なライン取りのデータを複数準備しておく

2.2. バラエティをもたせるためそれらをスイッチできるよバラエティをもたせるためそれらをスイッチできるようにしておくうにしておく

•• データは省メモリのため圧縮しておくデータは省メモリのため圧縮しておく

•• スイッチはよりスムーズなラインを可能にするスイッチはよりスムーズなラインを可能にする

Page 124: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

a4a2 a3a1Segments

Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products

http://research.microsoft.com/en-us/um/cambridge/events/2009summerschool/ralf_herbrich.pptx

Page 125: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products

http://research.microsoft.com/en-us/um/cambridge/events/2009summerschool/ralf_herbrich.pptx

Page 126: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

Physics (“causal”)

Physics

Simulation

System

Car Position and

Speed at time t

Static Car

Properties

Car Controls

Car Position and

Speed at time

t+1

Desired Pos. and

Speed at time

t+1

Controller

Control (“inverse”)

チート的に位置を指定せず、リアルな車の物理駆動をシミュレーションする

Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products

http://research.microsoft.com/en-us/um/cambridge/events/2009summerschool/ralf_herbrich.pptx

Page 127: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

Drivatar

• Forza, Halo, Xbox Live: The Magic of Research in Microsoft Products

http://research.microsoft.com/en-us/um/cambridge/events/2009summerschool/ralf_herbrich.pptx

• Drivatar Theory

http://research.microsoft.com/en-us/projects/drivatar/forza.aspx

• 西川善司の3Dゲームファンのための「Forza Motorsport2」講座~Xbox 360版「グランツーリスモ」は本家を超えたのか? (GameWatch)

http://game.watch.impress.co.jp/docs/20070326/fm2.htm

• ゲーム紹介記事http://ad.impress.co.jp/special/forza0505/

Page 128: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

• Ralf Herbrich “ Forza, Halo, Xbox Live: The Magic of

Research in Microsoft Products” (映像)http://www.microsoft.com/uk/academia/studenttechnology

day/default.mspx

(4つの講演があります。右のタグから選んでください)

http://vimeo.com/2826749

Page 129: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References

Microsoft Research Drivatar

http://research.microsoft.com/en-us/projects/drivatar/theory.aspx

Vector anomaly 社

http://www.vagamelabs.com/news/2.htm

Ralf Herbrich

http://research.microsoft.com/en-us/people/rherb/

Page 130: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

References(参考文献のみ)

• Threaded AI For the Win!

Procedural and Multi-core Techniques to Take Visuals to

the Next Level

• http://software.intel.com/en-us/articles/intel-at-gdc/

Page 131: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

課題

(1) デジタルゲームの中で、「プレイヤーを驚かす」ような行動を取るAIを考えよ。

- ゲームの設定

- AIが驚かすシチュエーション

(2) (1) を、プレイヤーが何度プレイしても、

楽しめるような仕組みにせよ。

Page 132: YMiyake Tsukuba Univ 2009 11 5igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/Y...elite major flood swarms hunters hell-jumpers brute captain Miranda sniper marine DRAMA! pacing story

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

[email protected]

(IGDA Japan登録アドレス [email protected] )

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

http://www.igda.jp

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