Presentation is loading. Please wait.

Presentation is loading. Please wait.

Procedural Content Generation

Similar presentations


Presentation on theme: "Procedural Content Generation"— Presentation transcript:

1 Procedural Content Generation
By: Team WhateverOurNameIs This is an excellent name. It is now our name.

2 Members Kimberly Boydstun Mitch Cooley Stephen Erickson
Michael McCarrick David Householder Michael Filliater Pictures

3 Outline Overview History Different Types Examples Toolkits/Libraries
Ties to Modular Asset Design Current Obstacles Where Procedural Generation is Headed intro/history/mentioning of some games but no detail how to (2) compression, trees tools terragen planetside toolkit pcg wiki r/pg speedtree tie to modular obstacles/conclusion 7 min each

4 What is Procedural Content Generation?
Content generated algorithmically rather than manually what pg?

5 What is Procedural Content Generation?
what pg? Often utilizes randomness Can mean creating content on the fly Results in range of possible game play characteristics

6 What is Procedural Content Generation?
Procedural refers to the process that computes a particular function From a few parameters, a large number of possible types of content can be generated Can be applied to most art assets and even AI behavior what pg?

7 Why Procedurally Generate?
Save time The earliest computer games were severely limited by memory constraints. This forced content, such as maps, to be generated algorithmically on the fly: there simply wasn't enough space to store a large amount of pre-made levels and artwork. Why PG?

8 Why Procedurally Generate?
Save space The Elder Scrolls II: Daggerfall Over 88,000 square miles Over 15,000 cities, villages, and dungeons 750,000 NPCs The earliest computer games were severely limited by memory constraints. This forced content, such as maps, to be generated algorithmically on the fly: there simply wasn't enough space to store a large amount of pre-made levels and artwork. Why PG?

9 Why Procedurally Generate
.kkrieger Fairly complex game in 94 kb Levels, maps, terrain, building placement, graphics, texture, modeling, animation, items, ai, quest, skyrim, npcs, features, trees, clutter

10 Why Procedurally Generate?
Allows content to react differently for different players Skyrim Radiant Story System Change story based on user actions The earliest computer games were severely limited by memory constraints. This forced content, such as maps, to be generated algorithmically on the fly: there simply wasn't enough space to store a large amount of pre-made levels and artwork. Why PG?

11 Know Your History Originally, used for reducing size Rogue
Possibly first use of PCG in games Created random levels on the fly Levels, maps, terrain, building placement, graphics, texture, modeling, animation, items, ai, quest, skyrim, npcs, features, trees, clutter

12 Know Your History Level creation River Raid Random, dynamic level
Banned in West Germany from 1982 until 2002 Levels, maps, terrain, building placement, graphics, texture, modeling, animation, items, ai, quest, skyrim, npcs, features, trees, clutter

13 Know Your History Generate Art Assets Rescue on Fractalus!
Generate mountains using fractals First use of fractal terrain Levels, maps, terrain, building placement, graphics, texture, modeling, animation, items, ai, quest, skyrim, npcs, features, trees, clutter

14 Know Your History Computing power increases
Focus shifts to decreasing artist workload Levels, maps, terrain, building placement, graphics, texture, modeling, animation, items, ai, quest, skyrim, npcs, features, trees, clutter

15 Algorithm Overview A quick look at popular algorithm implementations and examples of their use

16 Applications of PCG landscape terrain history mazes textures music
compression items dungeons noise characters AI

17 Example: Dungeons Used in Games like Rogue
Divide the World into Equal-sized cells Iteratively connect cells to a random neighbor until all neighbors are connected Generate randomly sized rooms in each cell Connect the rooms with corridors. Add features and stairs to rooms

18 Example: Mazes Often accomplished using modified search algorithms to add randomization: Depth First Search Prims Algorithm Other, Simpler algorithms exist as well, like Recursive Division

19 Example: Terrain/Worlds
Created using multiple layers/types of procedurally generated data Interpretation of data as important the technique used to obtain it Examples: Sir, You Are Being Hunted’s British CountrySide Generator

20 Example: Terrain (Cont)
Perlin Noise Perlin/Simplex Noise Produces scaled values generally between 0-1. Detail increases with additional ‘octaves’ using fBm Fractal Noise Brownian Motion Diamond-Square Often used in conjunction/in multiple layers code.google.com/p/fractalterraingeneration/wiki/Perlin_Noise Diamond-Square

21 Example: Terrain (Cont)
Uses multiple layers of noise and parabolic shifts/masks Divides the world up into organic looking cells Cells are filled in with props based on size, neighboring cell contents, and height Textures applied based on height/slope Towns implemented in a similar fashion to rogue-like dungeons Conway’s Game of Life - Created moving and interacting set of structures with simple algorithms - Caused large complex structures to evolve Diablo - Item stats generated on the fly. Contained many different attributes for the item to be generated. Including type, rarity, quality, prefix and suffix. Dwarf Fortress - World terrain and history generated. Spore - Allowed users to create their own creatures. Animations were created for the custom creatures on the fly.

22 Example: Narrative Done primarily through simulation
Procedurally create characters/actors and environments with certain set attributes Cycle through interactions and log events out in an interesting way. Example: Dwarf Fortress

23 Examples: Textures RoboBlitz
80% of textures generated with Allegorithmic middleware tool (ProFX) reduces the size of the game (less than 50 MB)

24 Examples: AI Left 4 Dead “AI Director”:
procedurally spawns items, enemies, and weapons based on players' performance

25 Examples: AI Alien Swarm “AI Director”:
dynamically generates swarms of aliens based on several factors (e.g., squad’s stress level)

26 Examples: Music Wolfram Tones takes a slice/swath and rotates it
applies a rule to color cells white or black 2 1 interprets the height of each black square as a different pitch on a scale 3

27 Examples: Music Wolfram Tones My tones:

28 Toolkits: Terragen Planetside Software
Professional Landscape Visualisation Rendering and Animating Terragen 3 - Newest Revision - Free

29 Terragen 3 Creating Terrains Using Heightfields
Terrain Ends Abruptly in Distance, Limited Detail Creating Terrains Procedurally Endless Horizon of Terrain, Infinite Detail

30 Terragen 3 Start with Flat Grey Environment Add Power Fractal Terrain

31 Terragen 3: Shaders Use Shaders to Add Interesting Texture/Color
High Color and Low Color Correspond to High and Low Parts of Internal Noise Function of Shader

32 Terragen 3: Surface Layer
Added Surface Layer Limited Altitude Limited Slope

33 Terragen 3: Surface Layer
Additional Surface Layer Minimum Altitude

34 Terragen 3: Final Product
Terrain Covers Entire Surface Quick and Relatively Easy

35 Terragen 3: Export Procedural Terrain Export:
(1) As a View-Dependent Triangle Mesh LWO, OBJ or FBX Choose Level of Detail (2) Converting to Raster Heightfield .TER or .EXR

36 Other Toolkits SpeedTree - Interactive Data Visualization, Inc.
3D Animated Plants and Trees Many Other Toolkits Avida DungeonMaker City Maze Etc.

37 Modular Asset Design Custom assets Partially created assets
Asset Re-use (intro slide) -PCG uses a lot of guided randomness -What can be created if the algorithms are given more than just noise --How about art assets --How do we create these assets What is modular asset design

38 Modular Asset Design Pros Cons Re-usable assets Visual Fatigue
Quickly build new content Difficult to construct Consistent art style Pros/Cons -Reusable art assets -Quick build time (whether procedurally or decide to go by hand) -Visual fatigue (repetitiveness) -Can be difficult to construct base pieces

39 Modular Asset Design Grid Object Footprint Snapping
Basic kit construction --Build on a grid --Establish sizes (unit sizes, how big is your character) --Foot print: Use standard sizes (256x256, 512x512, etc..)

40 Modular Asset Design Kits Bridge Pieces Transitions pieces
---Allows for easy tiling and snapping pieces together --Bridging pieces - use as cover up (such as arches) in organic structures --Detwist pieces & Transition pieces

41 Modular Asset Design Texture Re-use Tiling UV-Layout Textures
-Make them tile 4 directions -Trim (for walls and stuff)

42 Modular Asset Design Example of Kits (Elder Scrolls): Heavy kit use All dungeons use kits Buildings use kits everything based on the player size NOT Procedurally generated Causes some visual fatigue

43 Modular Asset Design -Borderlands overview --FPS game, lots of exploration, lots of generated loot --Each gun is broken down into parts ---Body, grip, magazine, barrel, sight, accessory --Each part modifies the overall name and stats --Pieces are built to fit a specific part --Each set of parts are classified as a weapon type (shotguns, pistols, rifles, etc..) - these are separate kits and do not go together

44 Modular Asset Design Dirt sprites are reusable Create a texture for each material interface Dirt with air on top, dirt with air on bottom, etc… Selects the appropriate image to show based on neighboring tiles Creates very nice transitions

45 Modular Asset Design http://www.youtube.com/watch?v=GcM9Ynfzll0
Dungeon pieces are kit based Pieces are built to standard sizes Each piece has a connector point Algorithm matches a piece to a footprint and matches nearby connector points

46 Current Obstacles- On the fly
PCG can lack in creating a good player experience. Too random Not enough uniqueness More complexity in design equates to longer time to create and more complex code. What is generated needs to be verified.

47 Current Obstacles- Pre-Launch
Content needs to fit theme thats already in the game. Generated content. Should be efficiently generated or at least reliable Requires manual passes to verify level fidelity and allow manual tweaks when needed. For obstacle placement Level balance “Feel”

48 Direction Pure Procedural No Man’s Sky http://www.no-mans-sky.com/

49 Direction High Fidelity Generation
Star Citizen

50 Conclusion Procedural Content Generation and Modular Asset Design are both valuable tools to have. Allow generation of otherwise tedious or time intensive assets. Has great potential in the way games will be shaped.


Download ppt "Procedural Content Generation"

Similar presentations


Ads by Google