Procedural Worlds and Game World Creation

Prof. Roger Crawfis


Winter 2012

Call Number: 13601

MW: 11:30-1:00 or TBD


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.


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



Wednesday, 2-22-2012

Anuj, Chris


Monday, 2-27-2012

Chloe, Micah


Terrain generation

Wednesday, 2-29-2012

Oleg, David, Vlad  



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.

  1. Basic Building Blocks (2 weeks)
    1. Functions
      1. Step, Smooth-step, and Pulse
      2. Mod or saw-tooth, Floor and Ceiling
      3. Min, Max, Clamp and Abs
      4. Linear-interpolation (Lerp), Cubic interpolation and spherical interpolation.
      5. Sin and cos
      6. Functional composition
      7. Table look-up and color-maps
      8. 2D Functions - stripes, polka-dots, bricks, checkerboard, note paper
    2. Octaves and Fractals
    3. Pseudo-random Numbers
    4. Noise
      1. Value-based Perlin
      2. Gradient-based Perlin
      3. Curl Noise
      4. Other Noise types and generators
    5. Simple Tiling
      1. Seamless tile creation
      2. Mirroring
    6. Subdivision techniques
      1. Procedural
      2. Smooth
      3. Random or fractal
    7. Splatting and compositing
    8. Searching and Sampling parameter space
      1. Gui development
      2. Design Galleries
      3. Con-man interface or visual composition
        1. Maya 2012 Substance Procedural Texturing / Algorithmics.
  2. Particle Systems (2 weeks)
    1. Life-span
    2. Generation
    3. Animation
    4. Gravity and basic physics
    5. Software design
    6. Collisions
    7. Point sprites and rendering
    8. GPU-based
  3. Atmosphere and Environmental Effects (1 week)
    1. Sky
      1. Color gradient
      2. Mie and Raleigh Scattering
      3. Star fields
    2. Clouds
      1. Textured layers and animation
      2. Gardner layers and ellipsoids
      3. Imposters - Harris
      4. Blobbies and volumetric integration
      5. Multiple scattering
    3. Fog, Rain and Snow
    4. Lightning
    5. God-rays, Bloom and other effects
  4. Water and Oceans (2 weeks)
    1. Ripples and waves - faking it
    2. Fluid simulations
    3. Caustics and illumination issues
    4. Ocean spray
    5. Rivers and waterfalls
    6. Water vegetation and life
  5. Terrain (3 weeks)
    1. Height-fields
    2. Perlin noise
    3. Midpoint displacement
    4. Other synthesis techniques
    5. Erosion and weathering
    6. LOD and rendering
    7. Land type and meta-terrain tiles
  6. Grass (1 week)
  7. Trees and Shrubs
  8. Rocks
  9. Procedural Level Generation
    1. RPG levels - Rogue, etc.
    2. Maze generation
    3. Platform levels?
  10. Advanced Tiling
    1. Wang tiles
    2. Texture Synthesis
  11. Man-made Alterations and Structures
  12. Other Possible topics
    1. Lava
    2. Fire
    3. Procedural placement and behaviors of insects, mammals and fish.
    4. Anti-aliasing
  13. Additional Material