Download presentation
Presentation is loading. Please wait.
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.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.