Procedural Content Generation

Slides:



Advertisements
Similar presentations
Data Structures Static and Dynamic.
Advertisements

Chapter 6: Memory Management
Quick Review of Apr 10 material B+-Tree File Organization –similar to B+-tree index –leaf nodes store records, not pointers to records stored in an original.
Program Slicing Mark Weiser and Precise Dynamic Slicing Algorithms Xiangyu Zhang, Rajiv Gupta & Youtao Zhang Presented by Harini Ramaprasad.
User Interfaces By Mathieu Leduc. What is the User Interface(UI)? Knows about any input/output hardware Translates player actions into actions in the.
Procedural Content Generation James Grisetti. Overview Introduction Brief History of Procedural Generation Basic Generators Contemporary Generators Future.
Complexity 5-1 Complexity Andrei Bulatov Complexity of Problems.
Evolving Neural Network Agents in the NERO Video Game Author : Kenneth O. Stanley, Bobby D. Bryant, and Risto Miikkulainen Presented by Yi Cheng Lin.
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
Virtual Memory Deung young, Moon ELEC 5200/6200 Computer Architecture and Design Lectured by Dr. V. Agrawal Lectured by Dr. V.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
Procedural Content Generation Prof. Roger Crawfis Computer Science and Engineering The Ohio State University
SM3121 Software Technology Mark Green School of Creative Media.
Survey of Procedural Content. Procedural Content Generation Procedural generation refers to content generated algorithmically rather than manually. –
Slide 1 System Software Software The term that we use for all the programs and data that we use with a computer system. Two types of software: Program.
An Example in the Design and Analysis of an Algorithm Demonstrates: -- Recurrence Relations -- Design Techniques -- The fact that analysis provide useful.
Procedural Content Generation Luke Aust. What is Procedural Content Generation? Procedural Content Generation is a generic term referring to content that.
Artificial Intelligence in Game Design
Achieving Believable Psychosocial Behaviour in Non-player Characters in Modern Video Games Christine Bailey, Jiaming You, Gavan Acton, Adam Rankin, and.
Artificial Intelligence in Game Design Content Generation.
Training with Technology Using technology to make the learning process more smarter 0COMPUTER BASED TRAINING (CBT)
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
MarioAI Level Generation Track. COMPETITION GOALS  Create an automatic level generator for Infinite Mario Bros.  Levels should be randomly generated.
Simulation Robin Burke GAM 224. Outline Design Milestone #4 Simulation Game design activity.
Approximation by Constraints Why do we need approximation/interpolation? –Record values at some finite set of points in space and time. –Does not capture.
Operating Systems Lecture 9 Introduction to Paging Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of.
Terrain Generator Done by Manoo Gharse Vanessa Ferrao Karl Fernandes Rohit Arondekar Amruta Kunkolienkar.
UNIX U.Y: 1435/1436 H Operating System Concept. What is an Operating System?  The operating system (OS) is the program which starts up when you turn.
Server Performance, Scaling, Reliability and Configuration Norman White.
Efficient Graph Traversal with Realistic Conditions by Olex Ponomarenko st Quarter Draft----
RANDOM TESTING & PROTOTYPING Presented By: Presented By: Vipul Rastogi M.Tech (S.E.) SRMSCET Presented To: Dr. Himanshu Hora Chief Proctor SRMSCET.
Computational Thinking
Tables of Content Madden NFL Creation Franchise Mode
Computer Graphics.
Virtual memory.
14 Compilers, Interpreters and Debuggers
Evolutionary Algorithms Jim Whitehead
Chapter 2 Memory and process management
Deep learning David Kauchak CS158 – Fall 2016.
The Purpose of game Engines
HTML 5 By Michael Hurley.
Application of Artificial Intelligence and Graphics to Support a Three-Dimensional Game Chris Cummings.
Dynamic Hashing (Chapter 12)
Persistent vs. Instantiated Spaces: The Great Online Game Debate
LEARNING OBJECTIVES O(1), O(N) and O(LogN) access times. Hashing:
Introduction to Graphics Modeling
Single Camera Production
Understanding Randomness
CSCI1600: Embedded and Real Time Software
Prepared by Lee Revere and John Large
Central Processing Unit
Game Engines Edd Soper.
Navigation In Dynamic Environment
Outline Midterm results summary Distributed file systems – continued
CSE 381 – Advanced Game Programming Terrain
Procedural Content Generation
Module IV Memory Organization.
Scenario Modeling in GoldSim
Statistics · the study of information Data · information
Speculative execution and storage
Planning and Storyboarding a Web Site
Conquer the Castle 2D Game Design Pitch.
Efficient Graph Traversal with Realistic Conditions
Unit 1: Maps & Projections
CSE 373: Data Structures and Algorithms
Adam Schmidt Noah Medling Troy Doty
CSCI1600: Embedded and Real Time Software
WHAT ARE THE ADVANTAGES AND CHALLENGES OF MICROSOFT SQL SERVER.
Procedural Towns Tyler Wymer.
Adam Schmidt Noah Medling Troy Doty
Presentation transcript:

Procedural Content Generation David Maung, Josh Owusu-Dekyi, Ben Trivett, and Tim McLean

Outline Why PCG? Pros and Cons of Some PCG Methods Dynamic Content Generation Random Content Generation User Mediated Content Generation Some Criticisms of PCG Games With PCG Next Time Questions?

Why PCG? Creates a lot of game content very quickly. Provides replayability through more content. Realistically model things like vegetation and erosion much more accurately and quickly than by hand.

General PCG Methods Dynamic Content Generation Entire game world generated based on algorithm. Only parts around the player are in memory. Random Content Generation Levels are randomly generated at runtime. Used a lot in Rogue-likes. User Mediated Content Levels are generated randomly. The levels are then evaluated and hand edited by developer/player.

Advantages of Dynamic Content Generation Doesn't hog memory for things you can't even see. World is persistent despite being regenerated on the fly. Theoretically possible to have a truly infinite game. Malevolence: The Sword of Ahkranox [2]

Disadvantages of Dynamic Content Generation Constantly uses processor power to generate the map. Usually only used if you want a very large game world. Very difficult to make local changes. Difficult to test that everything is sufficiently interesting. Noctis[3]

Advantages of Random Content Generation Infinite amount of different levels. Most likely will not play the same level more than once. Spelunky

Disadvantages of Random Content Generation Difficult to guarantee that every possible generated level "works". Hard to ensure that there are no boring levels. Difficult to ensure difficulty is consistent between corresponding levels. Spelunky again

Advantages of User Mediated Content Majority of level design work is still done automatically. Lets designers fix issues in the levels before release. Gives levels a sense of purpose. Can spark creativity in level designers. AaaaaAAaaaAAAaaAAAAaAAAAA!!! [4]

Disadvantages of User Mediated Content Content is not infinite, because it is pre-generated. Still relying on some hand editing: Takes more time to generate content. Still need level designers. SSX[5]

Criticisms of PCG Content can seem uninspired. Setting up infrastructure takes time. Law of Diminishing Marginal Utility. Not a real thing.

PCG Game Examples Dwarf Fortress SSX Civilization (series) Minecraft FTL: Faster Than Light Diablo (series) The Elder Scrolls Series

Dwarf Fortress Part roguelike, part city building game released in 2006. Uses mid-point displacement algorithm to create base elevation information. Erodes the terrain with simulation of weather, volcanic activity, temperature models, and other effects. Uses trade simulation to create roads and villages.

Dwarf Fortress Cont.

SSX Continuation of the SSX snowboarding series and released by EA this past February. Mountains and courses were to be initially created solely with PCG. Courses felt mechanical, and not organic/smooth. Used NASA topographic model as a base for mountain creation. Used Houdini to procedurally place hazards and craft mountains into courses.

SSX Cont.

SSX Cont. Avalanches are procedurally generated. Deadly Descent mode creates extra hazards for the player to avoid such as extra trees, rocks, avalanches, thin air, and darkness.

Civilization (series) Maps are procedurally generated based upon constraints specified in scripting language. Modding tools are made available so that players can create their own maps.

Minecraft World was originally generated with 2D Perlin Noise heightmaps. Problems with dull terrain. Switched to 3D Perlin Noise with linear interpolation. World is divided into biomes using Whittaker Diagrams. "Infinite" map are not truely infinite as game becomes buggy at extreme distances,

Minecraft Cont. No win scenarios

FTL: Faster Than Light Space roguelike funded through Kickstarter and released this past September. World is divided into sectors which is further divided into beacons.

FTL Cont. More unwinnable situations Small set of scenarios

Diablo (series) The earlier entries had more procedurally generated towns and dungeons. Diablo III has a hand-crafted hub, and uses larger tiles leading to less variety between runs.

Elder Scrolls (series) The Elder Scrolls II Daggerfell World is procedurally generated at installation. Wilderness, dungeons, quests, and NPCs are as well. Towns and cities are handcrafted for better navigation. Landmass is twice the size of the British Isles. Easy to get lost and difficult to navigate.

Elder Scrolls Cont. The Elder Scrolls V: Skyrim Much more of the game is handcrafted including dungeons. Randomly generated quests are used to pad out the handcrafted ones. Quests are easier to complete as the locations are easier to find. Map is much smaller than Daggerfall's. ~41 sq. km vs ~400,000 sq. km

Next Time Middleware used to help in creation of PCG. Unity Tutorial for generating PCG.

References http://www.lostgarden.com/2007/02/content-is-bad.html http://www.altdevblogaday.com/2012/04/27/the-difficulties-of-an-infinite-video-game-world/ http://en.wikipedia.org/wiki/Noctis http://www.gamasutra.com/view/feature/174311/procedural_content_generation_.php http://aigamedev.com/open/teaser/investing-in-procedural/ http://roguelikedeveloper.blogspot.com/2008/01/death-of-level-designer-procedural.html http://www.sidefx.com/index.php?option=com_content&task=view&id=2211&Itemid=68 http://pcg.wikidot.com/pcg-algorithm:whittaker-diagram http://notch.tumblr.com/post/3746989361/terrain-generation-part-1

Questions?