Procedural Worlds and Game World Creation
Prof. Roger Crawfis
Notes:
-
http://www.red3d.com/cwr/steer/
-
Just e-mail me a zip file of your lab2 (from within CSE will work - gmail may not).
-
http://roguebasin.roguelikedevelopment.org/index.php/Grid_Based_Dungeon_Generator
http://roguebasin.roguelikedevelopment.org/index.php?title=Cellular_Automata_Method_for_Generating_Random_Cave-Like_Levels
http://donjon.bin.sh/dungeon/
http://pcg.wikidot.com/pcg-algorithm:dungeon-generation
-
http://blog.nostatic.org/2007/11/3d-landscape-rendering-with-texture.html
http://www.gamerendering.com/2008/10/12/terrain-texturing-with-texture-splatting/
http://supcom.wikia.com/wiki/Height-_/_Texturemaps_with_image_editing_tools
http://devmag.org.za/2009/05/28/getting-more-out-of-seamless-tiles/
http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/fast-computation-of-terrain-shadow-maps-r1817
- Read the follow papers/blogs on multi-texturing for terrains:
- Read the paper "The Synthesis and Rendering of Eroded Fractal Terrain", by Musgrave, Kolb and Mace. You can skip the sections on ray-tracing, but go through 3.3 and 4.1 thoroughly.
- Read through the Lighthouse3d tutorial on terrains.
- Read Gavin Miller's 1986 paper "The definition and rendering of terrain maps"
- See the paper on Microsofts Flight Simulator. In particular, the back pages on terrain classification.
- Lab1 will be discussed on Wednesday, January 11, 2012.
- You can use libnoise (or anything else) for noise. There are ports for C#, XNA, Unity, Wii, ...
- Here is the Windows WPF software I made to play with functions. Needs expanded, etc.
- Read Perlin's original Noise function: An Image Synthesizer
Winter 2012
Call Number: 13601
MW: 11:30-1:00 or TBD
Overview
This course will cover the mathematics, procedures and techniques used to provide a rich set of effects and models for games or virtual simulations. Primary focus will be on outdoor scenes. The course will progress from basic building blocks or reusable components to comples layers and emergent behaviors. Randomization and control of functions will lead into creation of textures, clouds and terrain. Noise can also be used to place vegetation, rocks and other objects around the scene. Finally, how water both shapes the terrain and is animated will be examined. We will study these concepts from web resources and current research papers.
Pre-req
- Some graphics knowledge or grad standing
- CSE 781 preferred, but can be a co-req.
Student Presentations
Student topic presentations
Topic / Date / Desc. |
Students |
Suggested Readings |
Towns and Cities
Monday, 2-20-2012
This project examines ... |
Aaron, Tyler, Zhili, Charles, Nasser, Hans |
http://dl.acm.org/citation.cfm?id=2037636.2037645&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869
http://research.cs.queensu.ca/~jstewart/papers/gi02.pdf
http://dl.acm.org/citation.cfm?id=2000919.2000928&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869
http://dl.acm.org/citation.cfm?id=1457515.1409113&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869
http://dl.acm.org/citation.cfm?id=2071423.2071431&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869
http://dl.acm.org/citation.cfm?id=2077378.2077408&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869
Others? |
Tiling
Wednesday, 2-22-2012 |
Anuj, Chris |
http://dl.acm.org/citation.cfm?id=1401132.1401254&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869
http://dl.acm.org/citation.cfm?id=1992917.1992930&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869
http://dl.acm.org/citation.cfm?id=2001576.2001627&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869 |
Water
Monday, 2-27-2012 |
Chloe, Micah |
PhysBam
http://dl.acm.org/citation.cfm?id=2037644&CFID=84189511&CFTOKEN=39166869 |
Terrain generation
Wednesday, 2-29-2012 |
Oleg, David, Vlad |
|
|
Justin |
http://dl.acm.org/citation.cfm?id=2037826.2037868&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869
http://dl.acm.org/citation.cfm?id=1667239.1667260&coll=DL&dl=ACM&CFID=84189511&CFTOKEN=39166869 |
|
|
|
Selected Topics
Powerpoint Slides and Notes
WIll probably go through these in two or more passes. First pass simple, cheap and dumb (ala 1970-1980's). Second pass, more advanced control, rendering.
- Basic Building Blocks (2 weeks)
- Functions
- Step, Smooth-step, and Pulse
- Mod or saw-tooth, Floor and Ceiling
- Min, Max, Clamp and Abs
- Linear-interpolation (Lerp), Cubic interpolation and spherical interpolation.
- Sin and cos
- Functional composition
- Table look-up and color-maps
- 2D Functions - stripes, polka-dots, bricks, checkerboard, note paper
- Octaves and Fractals
- Pseudo-random Numbers
- Noise
- Value-based Perlin
- Gradient-based Perlin
- Curl Noise
- Other Noise types and generators
- Simple Tiling
- Seamless tile creation
- Mirroring
- Subdivision techniques
- Procedural
- Smooth
- Random or fractal
- Splatting and compositing
- Searching and Sampling parameter space
- Gui development
- Design Galleries
- Con-man interface or visual composition
- Maya 2012 Substance Procedural Texturing / Algorithmics.
- Particle Systems (2 weeks)
- Life-span
- Generation
- Animation
- Gravity and basic physics
- Software design
- Collisions
- Point sprites and rendering
- GPU-based
- Atmosphere and Environmental Effects (1 week)
- Sky
- Color gradient
- Mie and Raleigh Scattering
- Star fields
- Clouds
- Textured layers and animation
- Gardner layers and ellipsoids
- Imposters - Harris
- Blobbies and volumetric integration
- Multiple scattering
- Fog, Rain and Snow
- Lightning
- God-rays, Bloom and other effects
- Water and Oceans (2 weeks)
- Ripples and waves - faking it
- Fluid simulations
- Caustics and illumination issues
- Ocean spray
- Rivers and waterfalls
- Water vegetation and life
- Terrain (3 weeks)
- Height-fields
- Perlin noise
- Midpoint displacement
- Other synthesis techniques
- Erosion and weathering
- LOD and rendering
- Land type and meta-terrain tiles
- Grass (1 week)
- Trees and Shrubs
- Rocks
- Procedural Level Generation
- RPG levels - Rogue, etc.
- Maze generation
- Platform levels?
- Advanced Tiling
- Wang tiles
- Texture Synthesis
- Man-made Alterations and Structures
- Other Possible topics
- Lava
- Fire
- Procedural placement and behaviors of insects, mammals and fish.
- Anti-aliasing
- Additional Material
- http://www.wurmonline.com