Survey of Procedural Content Procedural Content Generation Procedural

  • Slides: 26
Download presentation
Survey of Procedural Content

Survey of Procedural Content

Procedural Content Generation • Procedural generation refers to content generated algorithmically rather than manually.

Procedural Content Generation • Procedural generation refers to content generated algorithmically rather than manually. – numbers, strings, movies, games, pictures, simulation, programs, natural language, etc. • Why have procedural content? – Replayability • Scene variety • Infinite levels – Development time and costs

Development costs – facts and figures • Gran Turismo 5 budget: $60 Million [source]

Development costs – facts and figures • Gran Turismo 5 budget: $60 Million [source] • Average AAA game development cost: $28 Million [source] • For comparison: – Movie budgets • Kick-Ass (2012) : budget of $28 Million – Television • Game of Thrones : budget approx. $60 Million [source]

Development costs – facts and figures • How the Wii was born • Cost

Development costs – facts and figures • How the Wii was born • Cost and Sales breakdowns • $60 price point – inflation and cost breakdown

Procedural content in games

Procedural content in games

Procedural generation algorithms

Procedural generation algorithms

Examples in commercial games

Examples in commercial games

Additional reading and resources • Procedural Content Generation for Games: A Survey – Direct

Additional reading and resources • Procedural Content Generation for Games: A Survey – Direct Link to author’s preprint – ACM Digital Library Link • Essential facts about the computer and video game industry: Sales, demographics, and usage data – 2012 infographic

Examples Adapted from material by James Grisetti and Luke Aust

Examples Adapted from material by James Grisetti and Luke Aust

Contemporary Generators Perlin Noise • Mathematical interpolation of floating point numbers • Creates fractional

Contemporary Generators Perlin Noise • Mathematical interpolation of floating point numbers • Creates fractional Brownian Motion • Used to make CGI textures look more realistic

Contemporary Generators L-Systems • Lindenmayer systems • Defined as a 3 -tuple V, the

Contemporary Generators L-Systems • Lindenmayer systems • Defined as a 3 -tuple V, the alphabet of the system (variables and constants) ω, initial string of the system (axiom, start, or initiator) P, set of production rules (one for each variable in V)

Contemporary Generators L-Systems Continued • At each iteration, each variable in the current string

Contemporary Generators L-Systems Continued • At each iteration, each variable in the current string is replaced with its corresponding production to produce the next string • State is the string after a given number of iterations • The state is usually used to direct a “turtle graphic” • One of the most commonly used PCGs

Contemporary Generators L-Systems Continued Example V = {A, B} ω=A P = {A→AB, B

Contemporary Generators L-Systems Continued Example V = {A, B} ω=A P = {A→AB, B →A} Iteration • • • A AB ABAABABA

Contemporary Generators L-Systems Demonstration 1 V = {F, +, -} F means “draw forward”

Contemporary Generators L-Systems Demonstration 1 V = {F, +, -} F means “draw forward” ‘+’ and ‘-’ are used to change angle ω = F--F--F-P = {F→F+F--F+F}

Contemporary Generators L-Systems Demonstration 2 V = {X, F, [, ], +, -} F

Contemporary Generators L-Systems Demonstration 2 V = {X, F, [, ], +, -} F means “draw forward” ‘[‘ and ‘]’ are used to save and restore position ‘+’ and ‘-’ are used to change angle X has no meaning outside of the L-System ω=X P = { X → F-[[X]+X]+F[+FX]-X, F → FF }

Contemporary Generators Expert Systems • Departure from previous approaches • Use statistical methods to

Contemporary Generators Expert Systems • Departure from previous approaches • Use statistical methods to determine world shape and item placement • First notably used in Procedural Content Generation in Valve’s Left 4 Dead

Future Work • Most contemporary PCGs are involved in generating terrain artifacts (landscape) •

Future Work • Most contemporary PCGs are involved in generating terrain artifacts (landscape) • Some use in animations, textures, and lighting The next generation of Procedural Content Generation will be involved in creating entire maps

Future Work Going to the extreme: Programming programs that programs In a paper published

Future Work Going to the extreme: Programming programs that programs In a paper published this year, Mahlmann, Togelius, Yannakakis at the IT University of Denmark suggest the use of Procedural Content Generation for entire games, including rule sets, unit hierarchies, game maps, etc.

Future Work Another paper by Dimovska, Jarnfelt, Selvig, Yannakakis from the same university explores

Future Work Another paper by Dimovska, Jarnfelt, Selvig, Yannakakis from the same university explores the use of procedural techniques to aid in physical rehabilitation using the Wii platform

Example Applications Minecraft • Terrain is generated procedurally • “Mobs” are placed procedurally

Example Applications Minecraft • Terrain is generated procedurally • “Mobs” are placed procedurally

Example Applications City. Engine • Middleware intended for simulation and use in motion pictures

Example Applications City. Engine • Middleware intended for simulation and use in motion pictures • Requires map data for input • Creates road layouts, building shapes, and textures based on user parameters

Example Applications Subversion • Independently developed game • Goal is for the entire world

Example Applications Subversion • Independently developed game • Goal is for the entire world to be procedurally generated

Example Applications. kkrieger • Created circa 2004 for then state-of-theart hardware • Uses PCG

Example Applications. kkrieger • Created circa 2004 for then state-of-theart hardware • Uses PCG techniques to create maps, play music, and place items and enemies all at runtime • Executable is 97, 280 bytes

References Knowledge • The omniscient www. wikipedia. org • Mahlmann, et al. “Towards Procedural

References Knowledge • The omniscient www. wikipedia. org • Mahlmann, et al. “Towards Procedural Strategy Game Generation: Evolving Complementary Unit Types” (link) • Dimovska, et al. “Towards Procedural Level Generation for Rehabilitation” (link) • Müller and Parish. “Procedural Modeling of Cities” SIGGRAPH 2001 (link) Example Applications: • http: //www. theprodukkt. com/kkrieger • http: //www. introversion. co. uk/subversion • http: //www. procedural. com • http: //www. minecraft. net

Software • • • . kkreiger (2004. theprodukkt). debris (2009. theprodukkt). werkkzeug 1 (2002.

Software • • • . kkreiger (2004. theprodukkt). debris (2009. theprodukkt). werkkzeug 1 (2002. theprodukkt). werkkzeug 3 TE (2007. theprodukkt) Dwarf Fortress (2006 Bay 12 Games) Vega Strike (2008 TVST) All above content is Open Source and Freeware that can not be resold or redistributed for any price, all credit is given to original publishers and contributors who have allowed me to distribute this content.

Bibliography • • • http: //pcg. wikidot. com http: //vegastrike. sourceforge. net http: //www.

Bibliography • • • http: //pcg. wikidot. com http: //vegastrike. sourceforge. net http: //www. theprodukkt. com/ http: //www. bay 12 games. com/dwarves/ http: //df. magmawiki. com/