ゲーム開発のためのプロシージャル技術の応用－ CEDEC 2008 を超えて －筑波大学コンテンツ工学セミナー

三宅 陽一郎（株式会社フロム・ソフトウェア）
y.m.4160@gmail.com
筑波大学
2008.11.13 (木)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本講演は、AI, プロシージャル分野を扱います。

講義内容 「プロシージャル技術」
前半（６０分） 基本編 （ＩＧＤＡ日本ゲームＡＩ連続セミナー 第６回に準ず）「 次世代ゲームにおける自動生成技術 」 （別紙資料）
http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=70

休憩（１０分）後半（９０分）応用編（CEDEC2008の講演内容を拡張）「ゲーム開発のためのプロシージャル技術の応用」（本資料）課題① 自分が面白いと思ったプロシージャル技術を一つピックアップして簡単に解説せよ。
② そのプロシージャル技術を用いたゲームを一つデザインせよ。

プロローグ
ゲーム技術をどう捉えるか？

ゲーム技術をどう捉えるか ①
ゲーム ＝ ゲームアイデア ｘ ゲーム技術
ゲーム技術は、ゲームアイデアを増幅して見せてくれるゲーム技術をどう捉えるか ②
開発者

ゲーム技術

ユーザー
ゲーム技術は、開発者の意図をユーザーに伝えるための方法（技術の両端には、開発者とユーザーがいることを忘れない）

本講演はReferences「プロシージャル技術から、新しく可能なゲームの形を捉える」ための５講演(1)

IGDA日本 ゲームAI連続セミナー第５回資料 （システム・プロシージャル ）http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=69(2)

IGDA日本 ゲームAI連続セミナー第６回資料 （広範なプロシージャル技術の紹介）
http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=70(3)

IGDA日本 GDC２００８報告会資料 (Far Cry 2)
http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=74(4)

DCAJ 2007年度 報告書 (広範なプロシージャル技術の教科書、立命館大学で講演)「デジタルコンテンツ
デジタルコンテンツ制作
デジタルコンテンツ制作の制作の先端技術応用に先端技術応用に関する調査研究報告書する調査研究報告書」
調査研究報告書」
http://www.dcaj.org/report/2007/ix1_07.html(5)

DiGRA Japan 2008年６月公開講座 資料 (SimCity, The Sims, Spore)
http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=77を素材として、より本格的に、ゲーム開発におけるプロシージャルの理論を展開したものです。

目次
第１部 プロシージャル技術とは何か？（２５分）
第２部 ゲーム開発のためのプロシージャル技術（４５分）
第３部 まとめ（２０分）

第１部
プロシージャルとは何か？

ディジタル空間とゲーム

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

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

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

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

ゲーム空間
ゲーム空間

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

ツール・プログラマー

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

ツール・プログラム

開発者

３Ｄツール

３Ｄモデル

２Ｄツール

２Ｄデータ

スクリプト言語

スクリプト

サウンドツール

サウンド

エクセルなど

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

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

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

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

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

ゲーム
プログラム

ゲーム・プログラム

ゲーム・プログラマー

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

人

ツール

データ

ゲーム
プログラム

ゲーム・プログラム

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

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

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

マンパワー

プロシージャル

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

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

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

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

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

プロシージャル・コンテンツ・ジェネレーション
デジタル空間で草原を作りなさい①アプローチ１
人の手によってモデリングを行う②アプローチ２
アルゴリズムプログラムによってモデルを自動生成する
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)

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

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

人

データ
自動生成

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

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

ゲーム・プログラム

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

人プロシージャルなゲームエンジン
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

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

CryEngine 1.0
Far Cry Instincts(Ubisoft Montreal & Ubisoft)

Crysis(Crytek & EA)

Far Cry 2(Ubisoft Montreal & Ubisoft)

CryEngine 2.0

DuniaEngine

CryEngine 2.0

デモ

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

DUNIA ENGINE 2.0

FAR CRY 2 におけるプロシージャル・データ生成

FAR CRY 2 におけるプロシージャル・データ生成
Procedural Data Generation in FAR CRY 2
https://www.cmpevents.com/GD08/a.asp?option=C&V=11&SessID=6240
講演者：Dominic Guay (Technical Director, Ubisoft)
日時：2月21日（木）9時～10時
場所：North Hall, 132号室

これからのゲーム開発の問題点
Rushing into a wall (壁にぶつかる)（開発進行）

データサイズ

チームサイズ

仕事の複雑さ（ポンからアサシンクリードまでを横軸にとっている）

コンテンツの変化
させやすさ

複雑に絡み合ったシステムでは、開発が進めば進むほど一部の変更で何処にバグが生成するかわからないので、データを触れなくなる。
開発が進むにつれて、ゲームコンテンツはますます変更しにくいものになる

よいツール
ツールや
プロセスは
つの問題
問題の
解決にはなってもにはなっても、
よい
ツール
やプロセス
は一つの
問題
の解決
にはなっても、長期的なこの
なこの問題
問題の
長期的
なこの
問題
の壁を乗り越えることができないFar Cry 2 におけるモチベーション
５０ｋｍ四方のマップを作る

アニメーション・データの量が膨大で作りきれない（アニメーション・ディレクター）

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

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

ハードウェア（ＣＰＵ）から見たプロシージャル
ハードウェア・ハードウェア・ベンダーからはベンダーからは、
からは、次なるコンピューティング
なるコンピューティングのコンピューティングの用途として用途としてプロシージャルのプロシージャルの方向に方向に舵が取られている

ＡＭＤ

GDC 07, 08

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

Intel
Allegorithmic
http://www.allegorithmic.com/

AMD GDC 2007 Frostbite “Rendering Architecture
and Real-time Procedural Shading & Texturing
Techniques”
http://developer.amd.com/assets/Andersson-TatarchukFrostbiteRenderingArchitecture(GDC07_AMD_Session).pdf

This scene ismade entirely ofprocedural
texturesIntel GDC 2008 Threading Successes 06 - Allegorithmic
http://softwarecommunity.intel.com/isn/downloads/gr
aphics/GDC/Threading_Successes.zipプロシージャルなゲームエンジンのポイント
ゲーム製作過程におけるプロシージャル技術を用いたステージ生成

ゲーム製作技術
ディジタル・
ディジタル・ファーム（
ファーム（レンダリング・
レンダリング・ファームなど
ファームなど）など）＋
プロシージャル技術による高度で広範な
リアルなインタラクション空間の実現

ゲーム内技術
リアルタイム・リアルタイム・コンピューティング

これから大型
これから大型の大型のゲームエンジンをゲームエンジンを設計しようという設計しようという人間
しようという人間は
人間はプロシージャル技術
プロシージャル技術を技術を含めて考めて考えなければならないディジタル空間とゲーム
人
ディジタル空間
ツール・プログラム
ツール

人

データ
自動生成

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

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

ゲーム・プログラム

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

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

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

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

Procedural Texture

モデル自動生成
自動生成

Deformable Model

アニメーション生成
生成

Animation Synthesis

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

物理

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

Procedural AI

街生成

City Generation

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

Story Generation

人工市場
人工

Artificial Societies

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

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

Procedural Texture
CEDEC2008 プロシージャル講演 ３日目（３コマ目）

モデル自動生成
自動生成

Deformable Model

アニメーション生成
生成

Animation Synthesis

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

物理

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

Procedural AI

街生成

City Generation

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

Story Generation

人工市場
人工

Artificial Societies

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

CEDEC2008 プロシージャル講演 １日目（４コマ目）

Earth Simulator

参考資料デジタルゲーム世界
デジタルゲーム世界の
世界の変遷
FC

SFC

SS, PS

PS2,GC,Xbox

1999 DC

Hardware2005

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

Procedural

Network
Physics
AI

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

時間軸

１９８０

プロシージャルの歴史: CG
１９９０

２０００

地形自動生成

フラクタル
幾何学
1975

Terragen
SpeedTree

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

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

雲自動生成

3Dモデル生成

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

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

1988

2Dモデル生成Pro FX

1994

2003

プロシージャルの歴史: ダンジョン自動生成
１９８０
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におけるにおける応用における応用プロシージャルの歴史: 会話&自然言語
FacadeVirtual Avater

Michael Mateas, Andrew Stern

まだゲームには十分に応用されていない

会話
2005
くまうた
ＭｕｕＭｕｕ岡山県立大学 渡辺研究室
http://hint.cse.oka-pu.ac.jp/
どこでもいっしょ

シーマン

ＳＣＥ

ビバリウム

日本のゲームデザインの
巧み

自然言語

12000行のテキストライン

プロシージャルの歴史: アニメーション編
１９８０
遺伝的アルゴリズムによるアニメーション生成
オックスフォード大学

Indiana Jones

natural motion, http://www.naturalmotion.com

物理的な
物理的なインタラクションから
インタラクションからアニメーション
からアニメーションをアニメーションを自動生成

http://ps3.ign.com/articles/705/705489p1.html

ワシントン大学
弾性体の弾性体のアニメーション

CryEngine2
植物の植物のアニメーション
SpeedTree, http://www.speedtree.com/

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

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

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

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

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

変化する世界Procedural World（全てが計算てが計算される計算される世界される世界）
世界）(物理)プロシージャルな制御
シューティンゲーで１００体の敵キャラクターを動作させなさい①アプローチ１
人の手によって動作を定義するY(1.0, 2.3)
(2.0, 3.1)….
(10.0,7.4)

X…軌道の定義を１００個作る②アプローチ２Y

アルゴリズム

数式によって動作を生成する

Y = b*X*X – a*X
a,b のパラメータを変えて

軌道を生成
X

プロシージャル

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

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

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

プロシージャル制御(Procedural AI など)（質はともかく）はともかく）プロシージャル技術は、ディジタル空間でコンテンツを自動生成、自動制御する力を与えてくれるゲーム開発技術と製作セオリー
ゲーム製作理論

ゲーム製作理論（誰もが暗黙のうちに持っている）+プロシージャル
ゲーム・テクノロジー

ゲーム・テクノロジー

２００５

プロシージャル に対応して、新しく（各自の）ゲーム製作理論を拡張する必要がある。

第１章 まとめ(1) プロシージャル技術は、ゲーム開発技術、
ゲーム内技術に応用できる技術である。

(2) プロシージャル技術は、ゲーム開発とゲームデザインを根底から変化させて行く技術である。

(3) 新しいゲーム製作のフレームを構築し、新しいゲームデザインを探求するチャンスがある。

ゲームとは何か？
ゲーム ＝ シナリオ ＋ レベルデザイン ＋ キャラクター
＋ エフェクト ＋ メニュー ＋ …
空間を作って、キャラクターを置いて、インタラクティブで、エフェクトがあって、シナリオがあって…
それだけではゲーム
それだけではゲームではない
ゲームではない！
ではない！

ゲーム ＝ ユーザーの主観的な体験を作るもの
全ての要素を用いて、ユーザーの体験を形成するためにフォーカスするゲームとシミュレーションの違い
シミュレーションゲーム

シナリオ＋ レベルデザイン＋ キャラクター＋ エフェクト＋ メニュー
＋ 物理
＋…

シナリオ
＋ レベルデザイン＋ キャラクター
＋ エフェクト＋ メニュー ＋ 物理＋…

① 特定の視点はない。
（＝どの視点から見ても同じでなければならない）② 全ての要素は独立してリアルでなければらならない。

① ユーザーの主観的体験を形成② 全ての要素はある程度リアルであればよい。

ディジタル空間をゲームにするためにはどうすればよいか？
シナリオ＋ レベルデザイン＋ キャラクター＋ エフェクト＋ メニュー＋ 物理＋…

ディジタル空間（シミュレーション空間）からユーザーの主観的体験を形成するための技術

一般の
一般の技術
（ＣＧ，ＡＩ，シミュレーション（ＣＧ，ＡＩ，シミュレーション技術
シミュレーション技術）
技術）

ゲーム技術
ゲーム技術
（エンターテインメント技術
エンターテインメント技術）
技術）

ゲーム技術＝ ディジタル空間をゲーム空間にするためにはどうすればよいか？
シナリオ＋ レベルデザイン＋ キャラクター＋ エフェクト＋ メニュー
＋ 物理
＋…
一般の
一般の技術
（ＣＧ，ＡＩ，シミュレーション（ＣＧ，ＡＩ，シミュレーション技術
シミュレーション技術）
技術）

ディジタル空間（シミュレーション空間）からユーザーの主観的体験を形成するための技術

ゲーム技術
ゲーム技術
（エンターテインメント技術
エンターテインメント技術）
技術）

第２部
ゲーム開発のためのプロシージャル技術
ゲーム開発におけるプロシージャル技術の用い方

プロシージャル技術をゲーム開発の何処に用いるか？
プロシージャル技術のゲーム開発における力点は何処か？

ゲームのためのプロシージャル技術の４つのポイント

開発者
プロシージャル
レベル
デザイン

ＡＩ

ユーザー
アクション

ゲーム
システム

オブジェクトに自律的な法則（生成・発展・消滅）を与える

状況に応じた思考（発生する無限の状態空間に対する適応）

ユーザー・アクションの発展・補完

ユーザー、進行状況に応じたゲームの変化

法則を持った世界

適応できる知性を持ったＡＩ

ゲーム空間で力を持つアクション

知性を持ったシステム

ユーザー体験

本講演の主旨「プロシージャル技術の上に立つゲーム開発者になる」

開発者
プロシージャル

プレイヤー
アクション

レベル
デザイン

ＡＩ

ゲーム
システム

オブジェクトに状況に応じた思考
プロシージャル技術は開発者に、アクションのユーザー、進行状況
自律的な法則（（発生する無限の補完
生成・発展・消滅） に応じたゲームの変化
状態空間に対するユーザーを楽しませるための適応）を与える
ゲーム空間における力を与えてくれるものである。
プロシージャル技術の上に立つゲーム開発者になる力をもった適応できる知性
法則を持った
知性を持ったプレイヤーを持ったＡＩ

世界

ユーザーの体験システム

プロシージャル技術がユーザー体験にもたらすもの

ユーザー体験
① 新しいゲーム体験② 従来のゲーム体験を補完して稠密にする＝（人の手では為しえない）
大規模で完備なゲーム世界の実現

ゲームのゲームの稠密性
ゲームの稠密性とは、ユーザーが主観的に形成する体験における厳密性。一般に「ゲームの出来」と言われるもの。
レベル
デザイン（例） レベルデザイン
ＡＩ
ユーザー・
ユーザー・アクション
ゲーム・
ゲーム・システム

ＡＩ

ユーザー
アクション

ゲーム
システム

… インタラクションするか
インタラクションするか？
するか？
よくデザイン
よくデザインされているかデザインされているか？
されているか？
… あらゆる状況
あらゆる状況で状況で適切な
適切な行動を行動を取るか？
るか？
… そのゲーム
そのゲームにゲームに適した行動
した行動か
行動か？
必要な
必要な行動は行動は揃っているか？
っているか？
… よくデザイン
よくデザインされているかデザインされているか？
されているか？
柔軟に
柔軟にユーザーにユーザーに対応しているか対応しているか？
しているか？

ゲーム開発に見るゲームの稠密性
ゲーム・・コンテンツ
コンテンツのの空洞化
ゲーム

データサイズ

チームサイズ

仕事の複雑さ（ポンからアサシンクリードまでを横軸にとっている）

ゲームの稠密性

大規模なマップ、大規模なシナリオ、大きなゲームになればなるほど、それを完全に満たすためには、膨大な人手を必要とする
大規模化する一方のゲームで稠密性を保つにはコストがかかる一方である人手をやし続ける（（力任
力任せのは、そろそろ限界
限界である
である。
人手
を増やし
続ける
せ法）のは
、そろそろ
限界
である
。

プロシージャル技術がユーザー体験にもたらすもの

ユーザー体験
① 新しいゲーム体験② 従来のゲーム体験を補完して稠密にする

第２部
第１章
ゲーム世界（レベルデザイン）とプロシージャル

第２章
キャラクター（NPC,AI）システムとプロシージャル

第３章
ユーザー・アクションとプロシージャル

第４章
ゲームシステムとプロシージャル

第５章
まとめ

第２部
第１章
ゲーム世界（レベルデザイン）とプロシージャル

第２章
キャラクター（NPC,AI）システムとプロシージャル

第３章
ユーザー・アクションとプロシージャル

第４章
ゲームシステムとプロシージャル

第５章
まとめ

第１章
ゲーム世界（レベルデザイン）とプロシージャル

ゲームとは何か？
ルールには２種類のルールがある。
① 明示的なルール(explicit rule)
明文化される
明文化される説明書
される説明書に
説明書に載っている）っている）意識される
意識されるルール
されるルール（例）自明なルール（HPが０になったらプレイ不能）
Ａボタンを押せばマリオはジャンプします。Ｂボタンでダッシュします。

② 暗黙的なルール（implicit rule）
明確に明確に意識されない
意識されない背後
されない背後で背後でゲームをゲームを動かすルール
かすルール（例） 物理、ＡＩの学習則、経済や政治の法則、弾道の落下曲線、爆発の大きさ
ジャンプしたマリオは落下します。歩けば足音がします。ＡＩは足音に気付きます。

明示的なルール（意識できる）

暗黙的なルール（意識下）

（暗黙的なルールの例） 物理

これまでのゲーム

次世代機ゲーム

レベルデザイン

レベルデザイン

お手製の運動ルール

物理法則（数学的な定義）

ゲームステージにおける物理運動のプロシージャル化
ゲームステージにおけるスケールの拡大に伴うプロシージャル技術の導入（暗黙的なルールの例） 物理 ＋ 生物の法則

これまでのゲーム

次世代機ゲーム

レベルデザイン

レベルデザイン

お手製のルール

物理法則+生物法則
生物法則（数学的な定義）

ゲームステージにおけるあらゆる運動のプロシージャル化（暗黙的なルールの例） もっとたくさんある

これまでのゲーム
レベルデザイン
お手製のルール

次世代機ゲーム
レベルデザイン
物理法則 生物法則
経済法則 社会法則（数学的な定義）

ゲームステージにおけるあらゆる運動のプロシージャル化
新しい大局的・局所的なルールを導入することで、プロシージャル技術はゲームステージをより豊かに駆動する

ゲームとは何か？
プレイヤーとルール
明示的なルール
明示的なルール

暗黙的なルール
非電源系ゲーム(ボードゲーム・カードゲーム)

暗黙的なルール
物理法則 生物法則
経済法則 社会法則
いろいろな動作・生成ルール（数学的な定義）

ディジタルゲーム

ディジタルゲームはボードゲームなどに比べて、暗黙的なルールを多く組み込めるという性質を持つ。

（ディジタルゲームは根底から世界を再構成しているから）The SimCity Sub AI

SimCity シリーズのＡＩの作り方
Meta
Peer

Sub
Meta
Peer
Sub

Crime = Pop. Density^2 - Land Value - Police EffectLand Value = Distance[Zonetype] + Terrain + Transport

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

References

本講演は氏の５つのスライド
本講演は、主にWill Wright氏
つのスライドの
スライドの図を参考に
参考に構成されています
構成されています。
されています。

http://thesims.ea.com/us/will/(1) “AI: A Desing Perspective”に全てのPPTデータがあります。

AIIDE 2005 (PPTが公開)

http://www.aiide.org/aiide2005/talks/index.html(2) “MODELS COME ALIVE !”PC Forum 2003 (March 24)(3) “Dynamics for designers” GDC 2003 (PPT,VIDEOが公開)
http://www.gamasutra.com/features/gdcarchive/2003/Wright_Will.ppt
http://www.gamasutra.com/features/20030403/wright_01.shtml(4) “Desing Plunder” GDC2001
http://www.gamasutra.com/features/20010323/byrd_01.htm(5) “The Future of Contents ” GDC 2005 (資料は未公開)
http://www.4gamer.net/news/history/2005.03/20050314184429detail.html(動画サイトなどにも講演ムービーが上がっています)

Figures on the pages are from these references.

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 Animationand 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.

暗黙的なルールが入ったゲーム
物理法則

経済法則

生物法則

生成ルール
The SimCity

Havok

FF11

新しい大局的・局所的な数学的な法則や動作・生成のルールを導入することで、プロシージャル技術はゲームをより豊かに駆動する

Eve Online (CCP Games)

http://www.eve-online.com/① アイスランド 国産のスペースオンラインＲＰＧ② 世界中（アトランタ、上海、ロンドン、レイキャビク）にオフィスを持つ。
③ 全世界２３万人ユーザー（月額１５ドル）

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

Eve Online (CCP Games)

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

Eve Online (CCP Games)

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

これより数ページは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

The universe we wanted tocreateSolar systems typically consistsof a dozen of planets, surroundedby moons and asteroid belts
Routes connect them into
constellations that themselves
form conglomerates called
regions
EVE consists of over 5000 solar
systems

Cooking up solar systems
EVE solar systems are
created using a discaccretion model

Gives convincing enoughresults and is possible tocalculate in less than 24hours

We wanted an interesting
route system
Goals:• Settlements• Strategic• Hierarchical=> Diffusion Limited
Aggregation (DLA)

Generating the routesystemDiffusion Limited
Aggregation (DLA)
Extended to multi-seed andthree dimensions第２部第１章ゲーム世界（レベルデザイン）とプロシージャル

第２章
キャラクター（NPC,AI）システムとプロシージャル

第３章
ユーザー・アクションとプロシージャル

第４章
ゲームシステムとプロシージャル

第５章
まとめ

第２章
キャラクター（NPC,AI）システムとプロシージャル

ちょっとここで、人工知能の用語を一つ覚えましょう！

ＡＩが対象とする状態空間の数
高々、9! 個オフタイム
ディスクリート(離
散)

数

１０の
３８乗
将棋 １０
の３８
乗

１０の
１７１乗
囲碁 １０
の１７１
乗
CEDEC2008 AIラボ講演 ３日目（１コマ目）

リアルタイムコンティニュアス(連
続)

スケール

リアル

バーチャル

ロボカップ ？

ディジタルゲーム ？

CEDEC2008 AIラボ講演 ３日目（２コマ目）

レベルデザインのスケールの拡大と複雑化
レベルデザイン（現在）
レベルデザイン（PS,PS2 AI）

レベルデザイン（ファミコンAI）

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

ＡＩが対象とする状態空間の拡大
状態空間（現在）
状態空間（PS,PS2 AI）

状態空間（ファミコンAI）

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

ＡＩは想定される全ての状態空間に対応しなければならないが、どのようなアプローチが考えられるだろうか？
（ゲームＡＩ）

ＡＩの２つのアプローチ
ゲーム世界に適応したＡＩを作りなさい①アプローチ１
イベントに対して決められた行動をする

話しかけられた

こんぼうは
１２０ゴールドになります武器を出した！

Ａｔｔａｃｋ!

②アプローチ２
周囲の情報を（アルゴリズム、プログラムによって）解析して判断して行動する

プロシージャル

Killzone AI:Dynamic Procedural Combat Tactics

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

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

たくさんの演算によってキャラクターの行動を決定する
プロシージャル AI (Procedural AI )

ＡＩが対象とする状態空間の拡大
状態空間（現在）
状態空間（PS,PS2 AI）

状態空間（ファミコンAI）

Case 1 …
Case 2 …
Case 3 …

状態空間がそれほど大きくなければ、①のアプローチで作りこんだ対応が可能

ＡＩが対象とする状態空間の拡大
状態空間（現在）
状況
状況
状況
行動
状態空間
行動
状況
行動
状況
（PS,PS2 AI）
行動 行動
状況
状況
状況
行動
状況
行動
行動 行動
状況
状況
状態空間
状況 （ファミコンAI）
状況 行動 行動
状況
行動 行動
行動
Case 1 …

Case 2 … Case 3 ….

… Case n

ＡＩが対象とする状態空間の拡大
状態空間（現在）

しかし状態空間が複雑かつ大きくなれば、
プロシージャルに状態空間に対応する能力がＡＩに必要とされる

ＡＩが対象とする状態空間の拡大
状態空間（現在）
状況
生成

行動
その都度の状況
状況に状況に応じて行動を行動を生成する生成する能力する

しかし状態空間が複雑かつ大きくなれば、
プロシージャルに状態空間に対応する能力がＡＩに必要とされる

Killzone- マップ上の複数の評価値を計算して行動を決定する

Chromehounds- 状況に応じてプランを生成する

Far cry Instincts- プレイヤーの行動に応じた行動
スクリプト
http://xbox.ign.com/articles/631/631259p1.html

Killzone におけるプロシージャルAI
広大なマップで戦術的に移動し攻撃するＮＰＣ

バトルフィールドではバトルフィールドでは
最大７最大７ｖｓ７
ｖｓ７(一人は一人はプレイヤー)
で 戦う

味方

人間

（強化）人間敵

Step1

一定半径内のポイントを候補に上げる

この時点で他のポイントはこれ以降、評価しない

計算量の軽減Step2 第一の敵から射線の通るポイントを評価する

４０点 … 立った状態のみ射線が通る
２０点 … 座っても立っても射線が通る

Step3 第二の敵たちから射線の通らないポイントを評価する

Step4 攻撃最適領域内のポイントを評価する

Killzone におけるプロシージャルAI

状況
敵の位置と自分の位置

行動
射線の射線の通り具合から具合から最適な最適な位置を
位置を計算して計算して移動して移動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.cgf-ai.com/docs/gdc2001_slides.pdf[3] Remco Straatman, Arjen Beij, William van der Sterren (2005) ,"Killzone's
AI : Dynamic Procedural Combat Tactics", http://www.cgfai.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 to General
Spatial Competence", http://www.aiide.org/aiide2005/talks/isla.ppt

Figures on following pages are from these references.

ChromeHounds におけるプロシージャルAI
１５分間、広大なフィールドで計画性を持って人間と戦うことが出来るＡＩ（マルチエージェント）

プレイヤーチーム（最大６名）

ＡＩチーム（最大６名）

階層型ゴール
階層型ゴール指向
ゴール指向プランニング
指向プランニング

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

Goal

Goal

Goal

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

Goal

Goal
生成されたプラン

Goal

Goal

Goal

Goal

Goal

Goal

生成された
生成された
されたプラン
プランをを順番に順番に小ゴールをゴールを実行することで実行することですることで、
、
プラン
中間ゴール
ゴールが
が達成
達成され
され、
、大ゴール
ゴールが
が達成
達成される
中間
ゴール
され
される

デモ

Interuption2

Chromehounds プランニングシステム

Chromehounds におけるプロシージャルAI

状況

行動プラン

戦闘の展開の進み方
敵と味方の位置
自分の位置

プランニング思考
プランニング思考によって思考によって長期的な長期的な戦略行動プラン
戦略行動プランをプランを作成References for Chromehounds(1) 三宅陽一郎： クロムハウンズにおける人工知能開発から見るゲームAIの展望,
CEDEC2006講演資料 (2006)
http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=63(2) 三宅陽一郎：エージェント・アーキテクチャーから作るキャラクターＡＩ,
CEDEC 2007 講演資料(2007) (Killzone, Halo,Halo2)
http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=78(3) 三宅陽一郎,「人工知能が拓くオンラインゲームの可能性」AOGC2007,
http://www.bba.or.jp/AOGC2007/2007/03/download.html

プロシージャルの歴史: ＡＩ編
PS2,GC,XboxXbox360, PS3, Wii

2005

DC

Time

（次世代）
次世代）

2000
C4 architecture(MIT Media Lab.)

2002

2004

Halo
(Bungie Studio)

Halo2(Bungie Studio)

2005

2006

F.E.A.R.
(Monolith Production)

Chromehounds(FromSoftware)

2001
Killzone(Guerrilla)

Far cry Instincts(Crytek)

プロシージャルＡＩ ＝ アルゴリズムによるＡＩ

プロシージャルの歴史: ＡＩ編
PS2,GC,XboxXbox360, PS3, Wii

2005

DC

Time

（次世代）
次世代）

2000

エージェントC4
architecture
アーキテクチャー(MIT Media Lab.)
2002
イベント解析＆ＦＳＭ
Halo(Bungie Studio)

2004

階層型ＦＳＭ
Halo2(Bungie Studio)2005

ゴール指向型アクション
F.E.A.R.
プランニング

世界表現 &
2001

動的なKillzone
プロシージャル
戦術(Guerrilla)(Monolith Production)

2006

階層型プランニング
Chromehounds(FromSoftware)

ゴール指向型
Far cry Instincts
ＦＳＭ(Crytek)

プロシージャルＡＩにおけるいろいろなアルゴリズム

プロシージャルＡＩ
レベル
デザイン

状態空間

拡大と
拡大
と多様化

拡大と
拡大
と多様化

AI

プロシージャル技術
技術による
による対応
プロシージャル
技術
による対応

拡大し多様化するレベルデザインと状態空間を、数学的に解析してアルゴリズムによって自動的に行動を生成するのが、プロシージャルＡＩ技術である。
プロシージャルＡＩによって、ますます拡大し複雑化するレベルデザインに適応したＡＩを作成することができる。

第２部
第１章
ゲーム世界（レベルデザイン）とプロシージャル

第２章
キャラクター（NPC,AI）システムとプロシージャル

第３章
ユーザー・アクションとプロシージャル

第４章
ゲームシステムとプロシージャル

第５章
まとめ

第３章
ユーザー・アクションとプロシージャル

ちょっとここで、
ゲームデザインの用語を一つ覚えましょう！

可能性空間 (the space of possibility)
Katie Salen, Eric Zimmerman,” Rules of Play: Game Design
Fundamentals”, MIT Press, 2003
可能性空間 ＝ ユーザーのユーザーの行為が行為が定義される定義される空間
される空間

But game designers do not directly design play. They
only design the structures and contexts in which play takes place,indiretly shaping the actions of the players. We call the space of
future action implied by a game design the space of possibility.
It is the space of all possible actions that might take place in a game,the space of all possible meanings which can emerge from a gamedesign. (P.67, Unit 1: Core Concepts | interactivity)

ルールズ・オブ・プレイ

しかし、
しかし、ゲームデザイナーは
ゲームデザイナーは直接プレイ
直接プレイを
プレイをデザインするわけではない
デザインするわけではない。
するわけではない。
彼らは、らは、プレイがプレイが起こる構造
こる構造や構造やコンテクストを
コンテクストをデザインするだけでデザインするだけで、するだけで、
そこから間接的
そこから間接的に間接的に、プレイヤーのプレイヤーのアクションをアクションを形作るのである
形作るのである。
るのである。
我々はゲームデザインによってゲームデザインによって暗によって暗に定義された
定義された実行可能
された実行可能な
実行可能なアクションのアクションの空間を空間を可能性空間と可能性空間と呼ぶことにする。
ぶことにする。可能性空間とは可能性空間とはゲームとはゲーム内ゲーム内で実行可能な
実行可能な
全ての行動
ての行動のことであり行動のことであり、のことであり、またゲームデザイン
またゲームデザインから
ゲームデザインから導から導かれる可能
かれる可能な
可能な
意味の意味の空間である
空間である。
である。

可能性空間
ゲーム空間

リアル

可能性空間
ユーザー

（＝ユーザー（＝ユーザーのユーザーのアクションがゲーム空間内
ゲーム空間内で空間内で影響・影響・意味のある意味のある範囲のある範囲）
範囲）

ユーザーの現実感覚のバーチャル空間への拡張＆ ユーザーの全能感の実現（自分がコントロールしているという感覚）

http://www.famitsu.com/game/news/__icsFiles/artimage/2007/10/20/pc_fc_n_gn/efa002.jpg

可能性空間
ゲーム空間

リアル

ユーザー

可能性空間

プロシージャル技術によって可能性空間を拡張することができる

http://www.famitsu.com/game/news/__icsFiles/artimage/2007/10/20/pc_fc_n_gn/efa002.jpg

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 エディ
ター① パーツをドラッグオンドロップして、② パーツをモーフィング変形させて、③ テクスチャーを選んでモデルを作る

できたモデルはすぐにアニメーション！

(1) デフォーマブル・モデル① モデルは「リゴブロック」と呼ばれるパーツからなる② 「リゴブロック」はマウスによって制御ポイントを動かして変形することができる

ハンドル

正式なモデル

ランタイム・モデル
パラメーターに沿ったアニメーションを製作

Lydia Choy, Ryan Ingram, Ocean Quigley, Brian Sharp, Andrew Willmott
Rigblocks: Player-Deformable Objects, http://www.cs.cmu.edu/~ajw/s2007

ユーザーはマウスでコントロールポイントを動かすことで、モデルを変形する（頂点を直接操作しているわけではない）

(2)プロシージャル・テクスチャ生成
細かすぎない シンプルすぎない

ユーザーが選ぶuv

uv

Henry Goffin, Grue, Chris Hecker, Ocean Quigley, Shalin Shodhan, Andrew Willmott,Player-Driven Procedural Texturing, http://www.cs.cmu.edu/~ajw/s2007

Spore
最難関(3) プロシージャル・アニメーション
自動化（プロシージャル・
プロシージャル・
アニメーション）アニメーション）モデルを作る

自由に動く

ユーザーが作ったどんなモデルに対してもアニメーションさせたい
どうすればできるだろう？
普通は、３Ｄアニメーターがツール上でキーフレームでアニメーションを作って行くよなー。
その作業手順のデータをそのままデータ化すれば、アニメーションを割り当てることができるのでは？

Sporeアニメーション生成技術
キャラクターがキャラクターが作成した作成したクリーチャー
したクリーチャーのクリーチャーの形状に
形状に
あわせて、
する。
あわせて、アニメーションデータをアニメーションデータを再作成(re-targeting)する再作成する。
アニメーターが
がＧＵＩ
ＧＵＩで
で部位
部位を
を指定
指定して
して、
アニメーター
して、
動きを指定
指定した
した操作
操作の
のデータ
データを
を蓄積
蓄積する
する
きを指定
した操作
（足が何本
何本で
で、どれぐらいどれぐらい地面
地面からから離離れていて…）
地面からGeneralize(一般化
一般化)
一般化

（データ化
データ化）

“G関数”
キャラクターの形状に依存しない一般空間の
データ

“S関数”
Specialize(再作成
再作成)
再作成 （ゲーム内
ゲーム内リアルタイム）
リアルタイム）そのクリーチャークリーチャーの
の持つ条件
条件と
と似た条件
条件を
を
その
クリーチャー「アニメーター
アニメーターががアニメーション
アニメーションをを作成作成したときのしたときの条件
条件」」
したときの
条件
から検索
検索して
して、
マッチした
した場合
場合の
のアニメーション
アニメーションををから検索して、マッチ
した場合
少し変形
変形して
してクリーチャークリーチャーににフィット
フィットさせる
してクリーチャーさせる

SIGGRAPH2008“Real-time Motion Retargeting to Highly Varied User-Created Morphologies”

http://chrishecker.com/Real-time_Motion_Retargeting_to_Highly_Varied_User-Created_Morphologies

GDC2007“How To Animate a Character You've Never Seen Before”
http://chrishecker.com/How_To_Animate_a_Character_You%27ve_Never_Seen_Before

Spore アニメーション・データ作成
部位を指定

アニメーションを指定
G関数生成のための情報をインプット

(3) プロシージャル・アニメーション
自動化（プロシージャル・
プロシージャル・
アニメーション）アニメーション）モデルを作る

自由に動くキャラクターがキャラクターが作成した作成したクリーチャー
したクリーチャーのクリーチャーの形状に
形状に
あわせて、
する。
あわせて、アニメーションデータをアニメーションデータを再作成(re-targeting)する再作成する。

ユーザーから見たSpore エディター
たくさんの高度
たくさんの高度な
高度な
プロシージャル技術
プロシージャル技術(1)(2)(3)① パーツをドラッグオンドロップして、② パーツをモーフィング変形させて、③ テクスチャーを選んでモデルを作る

できたモデルはすぐにアニメーショ
ン！

プロシージャル技術によって、ユーザーに少ない労力で、高度で大きなコンテンツを作成する力を与えることができる。

ユーザーから見たSpore エディター
たくさんの高度
たくさんの高度な
高度な
プロシージャル技術
技術
プロシージャル
全然、意識されない全然、意識されない(1)(2)(3)① パーツをドラッグオンドロップして、② パーツをモーフィング変形させて、③ テクスチャーを選んでモデルを作る

できたモデルはすぐにアニメーショ
ン！

プロシージャル技術によって、ユーザーに少ない労力で、高度で大きなコンテンツを作成する力を与えることができる。

これ以外にも、
実は Spore はプロシージャル技術の結晶！

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

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/20060511195155
detail.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.

可能性空間
ゲーム空間

リアル

ユーザー

可能性空間

プロシージャル技術は、大規模、複雑化するゲームにおいて、スケールと複雑さにあったユーザー・アクションをユーザーに与えることが出来る。 プロシージャル技術によって可能性空間を拡張することができる

http://www.famitsu.com/game/news/__icsFiles/artimage/2007/10/20/pc_fc_n_gn/efa002.jpg

第２部
第１章
ゲーム世界（レベルデザイン）とプロシージャル

第２章
キャラクター（NPC,AI）システムとプロシージャル

第３章
ユーザー・アクションとプロシージャル

第４章
ゲームシステムとプロシージャル

第５章
まとめ

第４章
ゲームシステムとプロシージャル

ゲームシステムゲーム

現実世界

ゲームシステム
ゲーム内世界キャラクターＡＩ

ユーザー

インターフェース

ゲームシステム ＝ ユーザーとゲーム世界の間に立って、ゲームを進行・調整する。

ゲームシステムＡＩ，プロシージャル
インターフェースコントロール

システムＡＩ

レベルコントロール
ユーザー解析

ゲームシステムシステム・
プロシージャル

ゲームの進行を監視しながら、ユーザーを楽しませるために、ゲームの進行をコントロールするシステム

前置きとして、遺伝的アルゴリズムを解説する

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

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

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

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

遺伝子

遺伝子

現世代

次世代
親②

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

遺伝子を掛け合わせる

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

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

（例）① GA Racer

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

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

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

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

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

②シミュレーションとNPCの評価
NPCが生きるゲーム世界の中で、実際に一定時間動作させるなどして、製作者がＮＰＣに望む目標に対する評価値（達成値）をつける。

ゲーム製作者の意図を反映する評価関数を作る（例） 強いＮＰＣを作りたければ、評価値＝0.7*撃破数＋0.3* 残りＨＰ
取り合えず生き延びることできるＮＰＣなら、 評価値＝生存時間

敵

敵

敵
ゲーム世界
君はこの世界はこの世界でどれだけ
世界でどれだけ僕
でどれだけ僕が求めるにふさわしいのだ？
めるにふさわしいのだ？

順位 評価値
1位
８６.
８６.３
2位
７８.
７８.４
3位
７５.
７５.３
..…
..
…
１００位
１００位 ３８．
３８．２

遺伝子を評価するのではなく、その遺伝子を持つ個体が、世界でどれだけ優秀であるかを測る。

評価値から適応度を計算する
評価値から
評価値から
から、
、その個体
その個体
個体の
の環境に
環境に対する適応度
する適応度
適応度を
を計算する
計算する。
する。
評価値が
が大きいほど
きいほど、
、適応度
適応度は
は大きくなるようにしておく
きくなるようにしておく。
。
評価値
順位 評価値
1位
８６.
８６.３
2位
７８.
７８.４
3位
７５.
７５.３
..…
..
…
１００位
１００位 ３８．
３８．２

順位 適応度
1位
９.３２
2位
８.８３
3位
７.８１
..…
..
…
１００位
１００位 ０.０２

評価値とは、その環境で達成した行為の点数のこと。
適応度とは、環境にどれぐらい対応しているかを表す。

両者の両者の対応関係は
対応関係は、比例関係にあるならどう
比例関係にあるならどう作ってもよい。
にあるならどう作ってもよい。
（例） 同じでいいや。 適応度 ＝ 評価値
上位の点数は、差に意味がないから 適応度＝ log (評価値/100 ) など。

③ 選択
生き延びて子孫(offspring)を残せる個体を決定する
順位
1位
2位
3位
4位
5位
6位
7位
8位
9位
10位
10位

適応度
0.93
0.81
0.79
0.63
0.51
0.44
0.32
0.28
0.10
0.02

適応度比例方式（
適応度比例方式（ルーレット選択
ルーレット選択）選択）… 適応度の大きさに比例した確率で生き延びて親になれる。
（無作為にダーツを投げて親を決めるイメージ。
大きな適応度の領域ほどあたりやすい。プログラムでは勿論、乱数を使う）

④交叉による次世代生成
選んだ２つの親の遺伝子を交叉(crossover)させる。
切断点

遺伝子

１点交叉

⑤ 遺伝子操作（突然変異）
ある確率（突然変異率）で、遺伝子コード上の遺伝子（内容）をランダムに対立遺伝子に書き換える。

バイナリー表現
01010100110101

10100101

010100010

1010101010101

01010100110101

10110101

010100010

1010101010101

反転

実数表現
12.3

3.1

56.7

5.4 2.0

23.9

+Δ
12.3

3.1

56.7＋0.3

5.4 2.0

23.9

遺伝子に多様性を与える

このプロセスを何度もくり返すことでNPCの集合は進化します①初期の個体集合を生成
個体集合②シミュレーション（ゲームでない場合はこのプロセスはなく、いきなり遺伝子の適応度が評価されることが多い）②評価③適応度による選択④交叉による次世代生成⑤遺伝子操作（突然変異）

（例）① GA Racer

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

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

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

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

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

しかし、これはＮＰＣの集団に遺伝的アルゴリズムを組み込んだだけ
ＡＩとしての技術
ゲームシステムではない。

世界最高峰の遺伝的アルゴリズムを使ったゲーム（ＡＩをどうゲームに使うか、という手本のようなゲーム）（例）④アストロノーカ
最初の世代

野菜
食べたい

最初はすぐに罠にかかるけど新世代（５～世代後）

だんだんと罠にかからないようになる

プレイステーション用ソフト「
ソフト「アストロノーカ」（
アストロノーカ」（Enix, 1998）
MuuMuu, プレイステーション用
http://www.muumuu.com/games/astro/
CEDEC2008 AI day ③講演 ２日目（３コマ目）

どういうゲーム？
珍しい野菜を育てる

しかしバブーが野菜を食べに来るトラップを仕掛けて野菜を守れ！

高値で取引、そして野菜コンテストで優勝！
プレイステーション用ソフト「
ソフト「アストロノーカ」（
アストロノーカ」（Enix, 1998）
MuuMuu, プレイステーション用
http://www.muumuu.com/games/astro/以下の解説は
森川幸人,「テレビゲームへの人工知能技術の利用」,
人工知能学会誌vol.14 No.2 1999-3
http://www.1101.com/morikawa/1999-04-10.htmlに準拠します。
詳細は
詳細は以下の
以下の資料へ
資料へ
CEDEC2008 AI day ③講演 ２日目（３コマ目）

全体の流れ森川幸人, 赤尾容子, 「アリの知恵はゲームを救えるか？」,CEDEC2003
http://www.muumuu.com/CEDEC2003_ants/CEDEC2003_ants.htm

全体の流れ

１日の始まりトラップを配置する
トラップバトル開始
トラップバトル終了
トラップ成績算出
各個体の成績算出
順位を決定
下位２体を削除
適応度に適応度に応じて親じて親を選択子供２体を生成突然変異率を修正

新しい世代を生成
規定世代に達した？
一日の終了

世代交代数を修正

４－① 初期の個体集合を生成
個体を多数（GAにはある程度の母数が必要）用意し、各NPCに遺伝子コードを設定し、初期値を設定する。
[バブーの属性（総計５６）]
体重

身長遺伝子腕力

脚力

耐性_かかし耐性_快光線[各ビットの重み]1.87 6.85 16.25 25.03 25.03 16.25 6.85 1.87
0

1

2

3

4

5

6

7
５６ｘ８＝４４８ビット

４－②シミュレーションとNPCの評価
トラップを奥へと通り抜けることができるほど、評価点が高くなる。

適応度 ＝成績＋ＴＢ時間*0.3＋エンジョイ*0.5＋トラップ点＋安全点＋ＨＰ*0.5
要した時間
した時間

トラップに
トラップに対する耐性
する耐性

４－③ 選択
生き延びて子孫(offspring)を残せる個体を決定する

適応度比例方式（
適応度比例方式（ルーレット選択
ルーレット選択）選択）… 適応度の大きさに比例した確率で生き延びて親になれる。

４－④交叉による次世代生成
選んだ２つの親の遺伝子を交叉(crossover)させる。
切断点

遺伝子

（詳しい交叉の情報はわかりません）

４－⑤ 遺伝子操作（突然変異）
ある確率（突然変異率）で、遺伝子コード上の遺伝子（内容）をランダムに対立遺伝子に書き換える。

突然変異率 ３％ に設定
バイナリー表現
01010100110101

10100101

010100010

1010101010101

01010100110101

10110101

010100010

1010101010101

反転（１）親の遺伝子が似ているほど（ハミング距離が小さい）突然変異しやすい。
（２）突然変異が起こる場所は、トラップの置き方によってある程度限定される。

（解説）ハミング距離とは？
二つの記号列の間の異なる要素の数

１０１０１００００１
１０１０００１０１０
４箇所違う＝距離４

距離が小さい ＝ 遺伝子が似ている
距離が大きい ＝ 遺伝子が異なる

ゲームシステムとしての工夫
工夫その① 遺伝的アルゴリズムは集団に対するアルゴリズム
一体のトラップバトルの裏で他の２０体も同じトラップバトルをして、全体として世代交代をさせている。

工夫その②
遺伝的アルゴリズムは進化のスピードがプレイヤーに体感させるには遅いプレイヤーには「１世代の変化」と言っているが、実はだいたい１日５世代分進化させている。
全体の適応度の平均値

工夫その③
プレイヤーから見て毎日、同じ適応度の上昇になるように、
世代交代数を調整している

一日の適応度の伸び

世代交代数

アストロノーカにおけるプロシージャル技術
ゲーム

現実世界

ゲームシステム
ゲーム内世界

ユーザー

進化自身を
進化自身を
コントロール

インターフェース

遺伝的アルゴリズム

ＮＰＣ集団

アストロノーカは、ＮＰＣの集団に遺伝的アルゴリズムを組み込み、ユーザーのアクションに応じて進化する仕組みを作った上で、ゲームデザイン的な要請から、進化の速度が一定になるように、遺伝的アルゴリズムを調整して走らせている。

高度に調整された数学的ダイナミクスの上にゲーム性を成り立たせている
今でもなお先駆的なゲーム。そして傑作。

ゲームシステム・プロシージャル
ゲーム

現実世界

ゲームシステム
ゲーム内世界キャラクターＡＩ

ユーザー

インターフェース

ゲームシステムにおけるプロシージャル技術こそは、様々なユーザーごとにゲームをコントロールすることを可能にする。
＝ ユーザー自身の性質を含んだゲームデザインを可能にする技術である

第２部
第１章
ゲーム世界（レベルデザイン）とプロシージャル

第２章
キャラクター（NPC,AI）システムとプロシージャル

第３章
ユーザー・アクションとプロシージャル

第４章
ゲームシステムとプロシージャル

第５章
まとめ

第５章
まとめ
ゲームデザインとプロシージャル

ディジタルゲームの現状
ＡＩ
状態空間の状態空間の爆発

ＡＩのＡＩの高度化

プレイヤー
アクション

プレイヤーアクションのの複雑化
プレイヤーアクション

コントロールレベル
デザイン

コントロール

自由度の自由度の増大ゲーム
システム
プレイヤー、ＡＩ，レベルデザイン、ゲームシステム…
４つが互いに関連して（有機性）ゲームを成立させる

ちょっとここで、
ゲームデザインの用語をさらにもう一つ覚えましょう！

マジックサークル（）
マジックサークル（Magic Circle）
Katie Salen, Eric Zimmerman,” Rules of Play: Game Design
Fundamentals”, MIT Press, 2003
マジックサークル ＝ ゲームというゲームという行為という行為の行為の空間（例） パックマンのパックマンのマジックサークル… 「食べる、べる、逃げる」
げる」という行為という行為の行為の総体とそれが総体とそれが可能とそれが可能な可能な空間

スーパーマリオ… 「走る、壊す、踏む」の組み合わせの行為
わせの行為の行為の連続と連続とそれが可能
それが可能な
可能な空間

Although the magic circle is merely one of the example inHuuzinga’s list of “play-grounds”, the term is used here as
shorthand for the idea of a special place in time and spacecreated by a game.
…
In a vert basic sence, the magic circle of a game iswhere the game takes place. To play a game means entering
into a magic circle, or perhaps creating one as a game begins.
(Unit 1: Core Concepts | The magic circle)

ルールズ・オブ・プレイ

マジックサークルはマジックサークルはホイジンガーのホイジンガーのプレイグラウンドのプレイグラウンドのリストに
リストに含まれる単
まれる単なる
実例ではなく
実例ではなく、ではなく、この言葉
この言葉ゲーム
言葉ゲームによってゲームによって作
によって作り出される特別
される特別な
特別な時間と時間と空間という
空間という
概念として
概念として端的
として端的に端的に用いることにする。
いることにする。
…
基本的な基本的な意味として意味として、として、ゲームにおけるゲームにおけるマジックサークルにおけるマジックサークルとは
マジックサークルとはゲームがゲームが起こり得
こり得る場のことである。
のことである。ゲームをするということはゲームをするということは、をするということは、
マジックサークルに
マジックサークルに入るということであり、るということであり、また、
また、一つのゲーム
つのゲームがゲームが始まるようにそれを作
それを作り出すことである。
すことである。

ディジタルゲームの現状
ＡＩ
状態空間の状態空間の爆発

ＡＩのＡＩの高度化

プレイヤー
アクション

プレイヤーアクションのの複雑化
プレイヤーアクション

コントロールレベル
デザイン

コントロール

自由度の自由度の増大ゲーム
システム
マジックサークル ＝ ゲーム（
ゲーム（の面白さ面白さ）が成立する
成立する閉
する閉じた行為じた行為の行為の連続）
連続）プレイヤー、ＡＩ，レベルデザイン、ゲームシステムによってマジックサークルが形成される。

ディジタルゲームの最近の変化
自律化
ＡＩ
大規模効率化

状態空間の状態空間の爆発

ＡＩのＡＩの高度化プレイヤーアクションのの複雑化
プレイヤーアクション

プレイヤー
アクション

コントロール

自由度の自由度の増大拡大・拡大・複雑化
レベル
デザイン

コントロール

強力な強力なコントロール能力
コントロール能力ゲーム
システム
もはや、ゲームが拡大してもなお相互的な有機性を保つためには、
プロシージャル技術が必要である。

ディジタルゲームの最近の変化
自律化
ＡＩ
大規模効率化

状態空間の状態空間の爆発

ＡＩのＡＩの高度化プレイヤーアクションのの複雑化
プレイヤーアクション

プレイヤー
アクション

コントロール

自由度の自由度の増大拡大・拡大・複雑化
レベル
デザイン

コントロール

強力な強力なコントロール能力
コントロール能力ゲーム
システム
ゲームが拡大すれば、マジックサークルも拡大する。

拡大するゲーム空間においてマジックサークルを維持するにはプロシージャル技術が必要である。

マジックサークルとプロシージャル

数学的ダイナミクスプロシージャル技術は、拡大するゲーム空間において、マジックサークルの維持しつつ発展させる。

プロシージャル技術はゲームを次の段階へ引き上げる。

これからのゲーム開発者のために…
2D
マリオ FF6 ぷよぷよ
ボンバーマン ドラゴンクエスト
ゼビウス マッピー メトロイド
スーパーマリオ ゼルダの伝説
スーパースターフォース

3D

FF7 オメガブースト
塊魂 斑鳩 ソニックライダーズ
バーチャファイター４
サイキックフォース アーマード・コア
激走マウンテンバイク
アストロノーカ
旋光の輪舞AI

Killzone
Haloシリーズ F.E.A.R.
Chromehounds
トロと流れ星プロシージャル
Spore
Crysis Far Cry
不思議のダンジョン？
新しい？ の可能性
ゲームデザインのゲームデザイン？

第３部
より深い領域へ
Programming Tips for Game Programmerプロシージャルを使って簡単なゲームを作ってみよう！

生成系を利用したシューティングゲームへの応用
L-system
敵キャラクター生成
キャラクター生成ポイント
生成ポイントでポイントで利用要素 [A, B]
文法 A →AB B→
→A
B
A
AB
ABA
ABAAB
ABAABABA…
敵の配列パターン
配列パターン生成
パターン生成として生成として利用
として利用

Perlin Noise

パリン・ノイズ

Perlin Noise, http://freespace.virgin.net/hugo.elias/models/m_perlin.htm

１Ｄ
階層的な分解能の波長を足し合わせて作るノイズ
２Ｄ＝
２倍ずつ細かくなっています

テクスチャー生成
テクスチャー生成に生成に利用

resultデモ①

ステージとステージとキャラクター出現
キャラクター出現を定義する
出現を定義する

01②関数によってキャラクターに動きを与えるデモ②

X = (0.2＊i)＊cos(0.05＊i_virus)＊((i+1)%3+1)
Y = sin(0.03f＊(i%3+2)＊i_virus)
Z = cos(0.01f*(i%3+3)*i_virus)

関数によって関数によって動きを与える
によって動きを与12

③動作の関数を重ね合わせる

より多様
より多様な
多様な動き

デモ③

X = (0.2*i)*cos(0.05*time)*((i+1)%3+1)
Y =sin(0.03f*(i%3+2)*time)+ cos(0.01f*(i%2+3)*time
Z =cos(0.01f*(i%3+3)*time

幾つかの関数つかの関数をわせによって動きを与きを与える関数を組み合わせによって動13

④初期配置を円状に分布させる

L-systemデモ④

X = 4.f*cos(div_rad*i) + i +(0.2*i)*cos(0.05*time)*((i+1)%3+1)
Y = 4.f*sin(div_rad*i) + 2.5f + sin(0.03f*(i%3+2)*time)Z = cos(0.01f*(i%3+3)*i_time)
15

初期配置を
初期配置を円状に円状に分布させる
分布させる

⑤ 振幅を変化させる

デモ⑤

E

X = 4.f*cos(div_rad*i) + i +(0.2*i)*cos(0.05*time)*((i+1)%3+1)
Y = 4.f*sin(div_rad*i) + 2.5f + sin(0.03f*(i%3+2)*time)Z = cos(0.01f*(i%3+3)*i_time)
16

振幅を
振幅を変化させる
変化させる

⑥ 時間によって制御を変える

デモ⑥

E

20

時間によって
時間によって制御
によって制御を制御を変える⑦全体に制動を与える

デモ⑦

E

m_orbit.org_x *= cos(i_time*0.05f);
m_orbit.org_y *= cos(i_time*0.05f);
m_orbit.org_y += 4.5f;
全体に
全体に

全体に
全体に制動を
制動を与える21

⑧群れに分れに分けて制御
けて制御を
制御を変える

デモ⑧

E

23

群れに分
れに分けて制御
けて制御を
制御を変えるアドバンスト（展望）
パス検索
パス検索
これまでの２Ｄ，３Ｄシューティングゲームの地平を超えるためには、
パス検索システムを導入することが必要
３Ｄシューティング
３Ｄパス検索パス検索（
検索（データ生成
データ生成が生成が課題、課題、難）２Ｄシューティング
２Ｄパス検索パス検索（
検索（導入可能）
導入可能）

文字列からの地形自動生成
Darwinia(Introversion Software) 技術情報 未公開

小さなプロダクションでもプロシージャルを使うことで質の高い大きなゲームを作ることができる可能性を
プロシージャル技術は、知らしめて、英語圏の大企業から小企業、そしてゲーム関係者に衝撃と注目インディーズ、同人までを集めている

広い範囲で多様に応用される。
(1)
(2)
(3)
(4)

４人で製作
ベッドルーム・プログラマー２人
グラフィッカー ０人
２００６年 Independent game festival 大賞

Introversion Software, "Procedural Content Generation", GameCareerGuide.com, 2007
4gamers(体験版):http://www.4gamer.net/patch/demo/darwinia/darwinia.shtml

現在のゲーム開発の問題点
Rushing into a wall (壁にぶつかる)（開発進行）

データサイズ

チームサイズ

仕事の複雑さコンテンツの変化
させやすさ
開発が進むにつれて、ゲームコンテンツはますます変更しにくいものになる（ポンからアサシンクリードまでを横軸にとっている）「作り込んだはいいが、一旦作ると大きくは変更できない大量のデータ」を何とか動かすだけのゲームになってしまう

それはゲームか？

現在のゲーム開発の問題点とブレイクスルー
Rushing into a wall (壁にぶつかる)（開発進行）

プロシージャル技術の力によってチームサイズ 仕事の複雑さ
コンテンツの変化
再びさせやすさ
開発が進むにつれて、ゲームコンテンツはますます変更しにくいものになる
ゲームに命を吹き込む！

データサイズ（ポンからアサシンクリードまでを横軸にとっている）「作り込んだはいいが、一旦作ると大きくは変更できない大量のデータ」を何とか動かすだけのゲームになってしまう

それはゲームか？

ゲーム開発に見るゲームの稠密性
ゲーム・・コンテンツ
コンテンツのの空洞化
ゲーム

データサイズ

チームサイズ

仕事の複雑さ（ポンからアサシンクリードまでを横軸にとっている）

ゲームの稠密性

大規模なマップ、大規模なシナリオ、大きなゲームになればなるほど、それを完全に満たすためには、膨大な人手を必要とする
大規模化する一方のゲームで稠密性を保つにはコストがかかる一方である人手をやし続ける（（力任
力任せのは、そろそろ限界
限界である
である。
人手
を増やし
続ける
せ法）のは
、そろそろ
限界
である
。

ゲーム開発に見るゲームの稠密性
ゲーム・・コンテンツ
コンテンツのの空洞化
ゲーム

データサイズ

チームサイズ

仕事の複雑さプロシージャル技術の力によってゲームの稠密性大規模で稠密なゲーム世界を実現する
大規模なマップ、大規模なシナリオ、大きなゲームになればなるほど、（ポンからアサシンクリードまでを横軸にとっている）

それを完全に満たすためには、膨大な人手を必要とする
大規模化する一方のゲームで稠密性を保つにはコストがかかる一方である人手をやし続ける（（力任
力任せのは、そろそろ限界
限界である
である。
人手
を増やし
続ける
せ法）のは
、そろそろ
限界
である
。

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

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

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

y.m.4160@gmail.com(IGDA Japan登録アドレス yoichi-m@pk9.so-net.ne.jp )http://www.igda.jp

プログラミング・テキスト

最近

古典

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