Syllabus

Week 1 – Introduction. Role Of PCG In Games. Particle Systems.

Tues: Overview of main families of generative methods (parametric design, grammars, genetic techniques, constraint programming) and examples of their application.

Thurs: Introduction to particle systems. 

Further information (overview of PCG): Procedural Generation - How Games Create Infinite Worlds - Extra CreditsNo Man's Sky: How I Learned to Love Procedural Art

Further information (particle systems): Building an Advanced Particle System, Make a Particle Explosion Effect, Particle Systems from the Ground Up, Popcorn FX

Week 2 – Noise

Tues: Perlin noise and its application to texture generation and terrain generation.

Weds: Due, Homework #1 on Particle Systems

Thurs: Simple automata

Further reading: Understanding Perlin NoiseA Survey of Procedural Noise Functions (Lagae et al.)

Week 3 – Grammars

Tues: Overview of main families of grammar-based generative methods. Shape grammar, split grammar, L-systems.

Thurs: How to read a research paper

Thurs: Due, Homework #2 on Noise

Week 4 – Applications of Grammars

Tues: Level design
Read: Launchpad, How to Read a Research Paper
D
ue: Paper reading assignment

Thurs: Generating cities, generating objects
Read: Procedural Modeling of Cities, Capturing a rebel: modeling the Harley-Davidson brand through a motorcycle shape grammar

Fri: Due, Homework #3 on Creative Use of Grammars

Further reading: Generative Modeling with Timed L-Systems (McCormack), Procedural City, Part 1 (Introduction) (also, see video), Generating Missions and Spaces

Week 5 – Demoscene, Flocking

Tues: Introduction to the demoscene, Fractal flames
Bring a laptop to class to explore JWildfire in-class

Thurs: Flocking

Week 6 – Genetic Algorithms, Game Generation

Tues: Overview of genetic algorithms, artificial life
Read: Evolving Virtual Creatures

Thurs: Board game generation, genetic algorithms for game content
Read: Evolutionary Game Design (Ludi)

Fri: Homework #4 on Flocking

Week 7 – Game Content, Dungeon and Level Generation. 

Tues:Genetic algorithms for generating game content
Read: Galactic Arms Race
F
urther reading: 
Sentient Sketchbook: Computer-Aided Game Level Authoring

Thurs: Algorithms for roguelike dungeon generation
Read: Rooms and Mazes (see also this generator inspired by the article), TinyKeep Procedural Dungeon Generator (see also original description)

Further information: Generating Procedural Dungeons in Galak Z
Further reading: Constructive Generation Methods for Dungeons and Levels (Chapter 3)
Further reading: Procedural generation of dungeons

Week 8 – Answer Set Programming

Tues: Answer Set Programming
Read: Map Generation Speedrun with Answer Set Programming

Thurs: In-class exercise designing procedural generation systems
Read: So you want to build a generator

Further reading: Answer Set Programming for Procedural Content Generation

Week 9 – Mixed Initiative, Creatures

Tues: Mixed Initiative systems
Read: Sketchaworld- Declarative procedural worlds

Thurs: Spore creatures (inverse kinematics approach) 
Read: Real-Time Motion Retargeting to Highly Varied User Generated Morphologies

More reading: TanagraFlexible muscle-based locomotion for bipedal creatures 

Week 10 – Muscle Systems, Use of Generative Methods

Tues: Machine learning in PCG / PCG from gameplay videos
Read: Game Level Generation from Gameplay Videos

Thurs: Issues in using Generative Methods for game design
Watch: Panel: Designing a Procedurally Generated Game