51. References
(1) Ishida So, 「迷路のプログラム」, 2005,
http://www5d.biglobe.ne.jp/~stssk/maze/
(2)源馬照明, 「Racanhack コード解説」, 2005 ,
http://racanhack.sourceforge.jp/rhdoc/
Figures on the pages are from these references.
68. Age of Empires III における地形自動生成
西川善司, 「3DゲームファンのためのAGE OF EMPIRESエンジン講座(後編)こだわりの影生成と算術合成
されるディテール、次回作はXbox2?」, GAME Watch, 2005
69. 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.
71. 植物自動生成
Since 1968 A. Lindenmayer
L-system 文法規則 構成要素 F,+,-,[,]
規則 F F[-F]F[+F][F]
F
0世代 1世代
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]][F[-F]F[+F][F]]
2世代
F - まっすぐ進む
+ 30度左回転 ー 30度右回転 []内は個別のスタック
解釈
研究分野としては
人工生命、CGにまたがる
72. 植物自動生成
Since 1968 A. Lindenmayer
L-system 文法規則
構成要素 F,+,-,[,]
規則 F-> F[-F]F[+F][F]
F
0世代 1世代
F[-F]F[+F][F]
2世代 3世代 4世代 5世代
Simulating plant growth by Marco Grubert http://www.acm.org/crossroads/xrds8-2/plantsim.html
73. The Sketch L-System:
Global Control of Tree Modeling Using Free-form
Strokes
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 を用いて簡単な操作で木のモデルを作成するツール
74. デモ
The Sketch L-system
SG06_SketchLSystem
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
75. 発展:確率的 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
規則を変えればいろいろな模様が自動的に生成される
76. L-system によるダンジョン自動生成(三宅案)
variables : X Y F
constants : + −
start : FX
rules : (X → X+YF+),(Y → -FX-Y)
angle : 90°
http://en.wikipedia.org/wiki/L-system
77. L-system による街の自動生成
City Engine(central pictures)
Yoav I H Parish, Pascal Müller
http://www.centralpictures.com/ce/tp/paper.pdf
http://www.centralpictures.com/ce/
George Kelly, Hugh McCabe,
A Survey of Procedural Techniques for City Generation
http://www.gamesitb.com/SurveyProcedural.pdf
81. 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.
84. 雲の自動生成
雲テクスチャー自動生成
Cloud Cover http://freespace.virgin.net/hugo.elias/models/m_clouds.htm
Kim Pallister,Generating Procedural Clouds in real time on 3D HW
http://www.intel.com/cd/ids/developer/asmo-na/eng/segments/games/20534.htm?page=11
基本方針
2次元のノイズを作りましょう
(0~1の値に応じて
塗り分けている)
If value is < 0.5 blue
If value is > 0.5, blend
blue to white
値が大きいところは青く、
小さいところは、値に応じて
白と青を混ぜた色を塗る
どんなノイズがよいのだろう?
自然界にあるノイズパターンって何だろう?
86. 変化する雲の作り方
Kim Pallister, Generating Procedural Clouds in real time on 3D HW
http://www.intel.com/cd/ids/developer/asmo-na/eng/segments/games/20534.htm?page=5
87. 雲の自動生成
基本方針
雲の3Dモデル自動生成
1
9
22
9
17
9
4
)( 2
2
4
4
6
6
R
r
R
r
R
r
rFcub
Wyvill’s standard cublic function
ある点を中心とした密度を
ピクセルボックス毎に計算
i
cubiimplcit qpFwpDensity )(
エレメントごとに足し合わせる
David S. Ebert ,Volumetric Procedural Implicit Functions,
http://www.csee.umbc.edu/~ebert/cloud
F. Kenton Musgrave, Darwyn Peachey, Ken Perlin, Steven Worley, David S. Ebert,
“Texturing & Modeling: A Procedural Approach 第3版”,
Morgan Kaufmann Series in Computer Graphics and Geometric Modeling, 2002
88. David S. Ebert ,Volumetric Procedural Implicit Functions, http://www.csee.umbc.edu/~ebert/cloud
90. Microsoft Flight Simulator 2004
Niniane Wang ,Realistic and Fast Cloud Rendering
http://jgt.akpeters.com/papers/Wang04/
Mark Harris の方法を発展させる
91. Microsoft Flight Simulator 2004
8つのリング状の背景とビルボードによる写し込み
Niniane Wang ,Realistic and Fast Cloud Rendering
http://jgt.akpeters.com/papers/Wang04/
92. デモ
Microsoft Flight Simulator 2004
Niniane Wang ,Realistic and Fast Cloud Rendering
http://jgt.akpeters.com/papers/Wang04/
93. References
(1) hugo.elias Cloud Cover
http://freespace.virgin.net/hugo.elias/models/m_clouds.htm
(2) Kim Pallister,Generating Procedural Clouds in real time on 3D
HW
http://www.intel.com/cd/ids/developer/asmo-
na/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,
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
Figures on the pages are from these references.
98. References
(1)三宅陽一郎: クロムハウンズにおける人工知能開発から見る
ゲームAIの展望, CEDEC2006講演資料 (2006) .
http://www.igda.jp/modules/mydownloads/ より
(2) 三宅陽一郎:人工知能が拓くオンラインゲームの可能性,
AOGC2007講演資料 (2007) .
http://www.bba.or.jp/AOGC2007/2007/03/download.html
Figures on the pages are from these references.
106. 風に揺れる森 in Crysis
① その樹木に対する幾つかの風源の効果を足し合わせる
② 世界座標(xy)上の風ベクトルから、全体の曲げ方を決める。
X
Y
X
Y
http://www.geimeris.com/wp-content/images/crysis_later.jpg
Finding Next Gen CryEngine2, http://ati.amd.com/developer/gdc/2007/Mittring-Finding_NextGen_CryEngine2(Siggraph07).pdf
107. 風に揺れる森 in Crysis
③ 葉のまとまりに対する曲がりを、風の強さだけから計算する
④ 一枚の葉の揺れ(z-方向)を、風の強さだけから計算する
α
xy座標方向の曲がり
z方向の揺れ
X
Y
Z
α
Finding Next Gen CryEngine2, http://ati.amd.com/developer/gdc/2007/Mittring-Finding_NextGen_CryEngine2(Siggraph07).pdf
http://www.crytek.com/technology/cryengine-2/specifications/
116. 全体の流れ
Beats システム
Michael Mateas and Andrew Stern
Façade: An Experiment in Building a Fully-Realized Interactive Drama
Game Developers Conference, Game Design track, March 2003
117. ドラマ・ジェネレーター 「Facade」
sequential behavior AnswerTheDoor()
{
WME w;
with (success test f w = (KnockWME) g )
wait;
act sigh();
subgoal OpenDoor();
subgoal GreetGuest();
mental act f deleteWME(w); }
sequential behavior OpenDoor() {
precondition {
(KnockWME doorID :: door)
(PosWME spriteID == door pos :: doorPos)
(PosWME spriteID == me pos :: myPos)
(Util.computeDistance(doorPos, myPos) > 100)
}
speci¯city 2;
// Too far to walk, yell for knocker to come in
subgoal
YellAndWaitForGuestToEnter(doorID);
}
sequential behavior OpenDoor() {
precondition { (KnockWME doorID :: door) }
speci¯city 1;
// Default behavior - walk to door and
open }
振る舞い
ゴール
振る舞い
ゴール
振る舞い
ゴール行動
振る舞い
ゴール行動 行動
条件判定
条件判定
ゴールシステム
" Michael Mateas and Andrew Stern A Behavior Language for Story-based Believable Agents", appeared in Artificial Intelligence and Interactive Entertainment,
AAAI symposium, March 2002
118. ドラマ・ジェネレーター 「Facade」
Interactive Story
協調の仕方
ゴール
Member:
Trips ,Grace
Mission
酒を進める
( Tripsの役割
Grace の役割))
The wogglesのAI
でも使われた方法
Trip Grace
ゴールが2人のエージェントに打診
Trips はこのミッションの役割を
受けられる状態にあるか?
Graceはこのミッションの役割を
受けられる状態にあるか?
サブゴール サブゴール
両方が Yes なら
Michael Mateas and Andrew Stern A Behavior Language: Joint Action and Behavioral Idioms
119. ドラマ・ジェネレーター 「Facade」
Interactive Story
協調の仕方
joint sequential behavior OfferDrink() {
team Grace, Trip;
// The steps of Grace’s and Trip’s
OfferDrink()
// behaviors differ.
}
joint sequential behavior OfferDrink() {
team Trip, Grace;
// wait for Trip to say first line
with (success_test { OfferDrinkMemory
(CompletedGoalWME name ==
iInitialDrinkOffer
status == SUCCEEDED)})
wait;
subgoal iLookAtPlayerAndWait(0.5);
// react to Martini suggestion
with (synchronize) subgoal
jSuggestMartini();
with (synchronize) subgoal
jFancyCocktailShakers();
}
joint sequential behavior
OfferDrink() {
team Trip, Grace;
with (post-to
OfferDrinkMemory)
// Individual behavior for
initial offer
subgoal iInitialDrinkOffer();
subgoal
iLookAtPlayerAndWait(0.5);
with (synchronize) subgoal
jSuggestMartini();
// react to Grace’s line about
fancy shakers
with (synchronize) subgoal
jFancyCocktailShakers();
}
GraceTrip
(At the beginning of the behavior, Trip starts walking
to the bar. If he gets to the bar before the end of the
behavior, he stands behind it while delivering lines.)
Trip: A beer? Glass of wine? (Grace smiles at
player. Short pause)
Trip: You know I make a mean martini. (Grace
glances at Trip with slight frown partway into line.
At the end of line, rolls her eyes at the ceiling.)
Grace: (shaking her head, smiling) Tch, Trip just
bought these fancy new cocktail shakers. He’s
always looking for a chance to show them off. (If
Trip is still walking to the bar, he stops at “shakers”.
At “shakers” Trip looks at Grace and frowns slightly.
At the end of the line he looks back at player and
smiles. If he was still on the way to the bar, he
resumes walking to the bar).
ドラマ生成
" Michael Mateas and Andrew Stern A Behavior Language for Story-based Believable Agents", appeared in Artificial Intelligence and Interactive Entertainment,
AAAI symposium, March 2002
123. References
(1) Façade, Michael Mateas, Andrew Stern, "Facade", Procedural
Arts, 2005
http://www.interactivestory.net/
(2) どこでもいっしょ(SCEI)
http://www.dokodemoissyo.com/index1.html
(3) 岡山県立大学 渡辺研究室
http://hint.cse.oka-pu.ac.jp/
http://www.crn.or.jp/LABO/BABY/LEARNED/WATANAB
E/GIF/WATANABE_GAKKAISHI.PDF
Figures on the pages are from these references.
147. References
(1) Eric Martel, "An Analysis of Far Cry Instincts' Anchor System", 7-2, AI
Game Programming Wisdom 3, 2006
(2) CryEngine 技術情報ページ
http://www.crytek.com/technology/cryengine-1x/specifications/
http://www.crytek.com/technology/cryengine-2/specifications/
http://www.crytek.com/fileadmin/user_upload/cryengine2/CryENGINE2F
eatures.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)三宅陽一郎: クロムハウンズにおける人工知能開発から見るゲームAIの
展望, CEDEC2006講演資料 (2006) .
http://www.igda.jp/modules/mydownloads/ より
Figures on the pages are from these references.
166. References
(1)カーネギー・メロン大学のAndrew J. Willmot博士のHPページ
の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
Figures on the pages are from these references.