Survey of Procedural Content. Procedural Content Generation Procedural generation refers to content generated algorithmically rather than manually. –

Slides:



Advertisements
Similar presentations
Login The process of identifying oneself on a computer,usually by entering ones username or password.
Advertisements

Introduction to Multimedia Adeyemi Adeniyi Bsc, MCP MCTS
1.1 Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University
Final topics: Scheduling Recap and some advanced topics.
Jason Stredwick, MSU 2004 L-Systems Lindenmayer Systems algorithmicbotany.org.
L-System Aristid Lindenmayer (1968), biologist. L-System A method of constructing a FRACTAL that is also a MODEL for plant growth. The Computational Beauty.
Procedural Content Generation James Grisetti. Overview Introduction Brief History of Procedural Generation Basic Generators Contemporary Generators Future.
SCRIPTING AND CONSTRUCTION THREE DIMENSIONAL TREE By Ryan Pierce and Marco Rathjen.
Announcements Programming Assignment 4 is out No Class Thursday
Evaluation in Digital Media Graphics Basic Concepts.
So far we’ve done… Dynamics and chaos Thermodynamics, statistical mechanics, entropy, information Computation, Turing machines, halting problem Evolution,
L systems (Aristid Lindenmayer)
L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.
Graphics 1 & { Graphics 2 | Visualization | Computer Gaming } Georges Grinstein, University of Massachusetts at Lowell.
44 CHAPTER SPECIALIZED APPLICATION SOFTWARE. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved. 4-2 Competencies Describe graphics software Discuss.
Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from Spring 2007.
 a web site usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video.
BPC: Art and Computation – Spring 2007 Overview of Spring Semester Tools and Technologies Glenn Bresnahan
Procedural Content Generation Prof. Roger Crawfis Computer Science and Engineering The Ohio State University
Computing ESSENTIALS     CHAPTER Ch 9Copyright 2003 The McGraw-Hill Companies, Inc Graphics, Multimedia, and Artificial Intelligence computing.
TOPIC 1 A SURVEY OF COMPUTER GRAPHICS CGMB214: Introduction to Computer Graphics.
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
Mozart’s Dice Game Plays randomised bars of music based on dice rolls From the 18 th century, possibly by Mozart Procedural means taking random input.
Bridging the Gap to the Real Wojciech Matusik Adobe Systems, Inc.
IT Job Roles Task 20. Software Engineer Job Description Software engineers are responsible for creating and maintaining software of various different.
Joy Oberoi Grade 12. Introduction THEATRE BOOKING SYSTEM (TBS) A system used to perform tasks that one would manually execute at a theatre It is online.
IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003.
Computational Intelligence in Games: An Overview Zahid Halim Faculty of Computer Science and Engineering Ghulam Ishaq Khan Institute of Engineering Sciences.
David Runyon Lauren Stana Kelsey Vaughn Molly Shelestak.
1 Landscape Generation with L-Systems By: David Cole Supervisor: Jon McCormack.
Game Industry and The Future of Game Pertemuan 12 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
44 CHAPTER SPECIALIZED APPLICATION SOFTWARE Graphics 1. Desktop publishing 2. Image editors 3. Illustration programs 4. Image galleries 5. Graphic.
Computer Animation Lecture #1 송오영 Sejong University Department of Digital Contents.
Course Title: M.M.T Chapter No: 01 “Introduction to Multimedia”
Procedural Content Generation Luke Aust. What is Procedural Content Generation? Procedural Content Generation is a generic term referring to content that.
Multimedia Chapter 1 Introduction to Multimedia Dhekra BEN SASSI.
Terrain Synthesis by Digital Elevation Models Howard Zhou, Jie Sun, Greg Turk, and James M. Rehg
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte.
The Artificial Life of Plants Przemyslaw Prusinkiewicz, Mark Hammel, Radom´ır Mˇech Department of Computer Science University of Calgary Calgary, Alberta,
Examining the World of Fractals. Myles Akeem Singleton Central Illinois Chapter National BDPA Technology Conference 2006 Los-Angeles, CA.
Lindenmayer systems Martijn van den Heuvel May 26th, May 26th, 2011.
L-system and SVG 2D SVG Tree 2002/10/16.
Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative.
How to Draw a Tree L-Systems in Computer Graphics Steven Janke.
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
Computer Graphics Researched via: Student Name: James Wood Date: 4/29/10.
Multimedia By: Marcus Bobian Multimedia period 1.
1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?
Banff 2007: Innovations in Mathematics Education via the Arts Interactive Graphics Tools and Global Learning Mara Alagic & Glyn Rimmington Wichita State.
Computer Graphics IN5I11 Nabil H. Mustafa
Computer Graphics Researched via: Student Name: Timothy Rorie Date: 4 / 11 / 11.
Survey of Procedural Content CSE 3541 Matt Boggus.
DIGITAL CONTENT CREATION PROCESS fff PRE-PRODUCTION PRODUCTION POST-PRODUCTION Process ANIMATION PROCESS.
Procedurally Generated ‘Virtual Cities’ for Computer Games Daniel Flower Neil Green Jonathan Rubin Tan Khanh.
Introduction to Multimedia. What is Multimedia? Derived from the word “Multi” and “Media” Multi Many, Multiple, Media Tools that is used to represent.
Grammars, L-Systems Jim Whitehead UC Santa Cruz School of Engineering courses.soe.ucsc.edu/courses/cmps265/Spring14/01 23 Apr 2014.
11 th grade graduation project Christopher Slawson.
Game Design, Development, and Technology
Computer Graphics.
A Look Into Photorealistic and Non-Photorealistic Rendering
ARCHITECTURAL PROCEDURAL MODELING MARKO KOLJANČIĆ MAKSIM ŠESTIĆ
Reconstruction For Rendering distribution Effect
Objective % Understand career planning in a digital media environment.
Interactive Computer Graphics
Procedural Content Generation
Introduction to Multimedia
Computer Graphics Lecture 15.
COMPUTER GRAPHICS with OpenGL (3rd Edition) Donald Hearn M
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Presentation transcript:

Survey of Procedural Content

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]source Average AAA game development cost: $28 Million [source]source For comparison: – Movie budgets Movie budgets Kick-Ass (2012) : budget of $28 Million – Television Game of Thrones : budget approx. $60 Million [source]source

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 generation algorithms

Examples in commercial games

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

Examples Adapted from material by James Grisetti and Luke Aust

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 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 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 →A} Iteration A AB ABA ABAAB ABAABABA

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 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 determine world shape and item placement First notably used in Procedural Content Generation in Valve’s Left4Dead

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 program 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 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 CityEngine 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 to be procedurally generated

Example Applications.kkrieger Created circa 2004 for the then state-of-the- art 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 Mahlmann, et al. “Towards Procedural Strategy Game Generation: Evolving Complementary Unit Types” (link)link Dimovska, et al. “Towards Procedural Level Generation for Rehabilitation” (link)link Müller and Parish. “Procedural Modeling of Cities” SIGGRAPH 2001 (link)link Example Applications:

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