Procedural Generation
Creating content algorithmically rather than authoring it by hand.
Procedural generation produces content — terrain, buildings, layouts, textures, text — by algorithm rather than by hand. Its appeal is leverage: a generator that is a few hundred lines can produce an unbounded amount of material, and can produce it differently for every player or every visit.
The trade is control. Handmade content is exactly what someone intended; generated content is a distribution, and the interesting engineering is in shaping that distribution. Most of the work in a real generator is constraint and curation rather than randomness: rules about what may sit next to what, minimum and maximum counts, and hand-authored elements slotted into generated frames.
Two structural concerns recur.
Repetition is the enemy of the illusion. A pool of variants repeats visibly far sooner than intuition suggests, because the eye is good at noticing recurrence — a pool of four reads as obviously repeating well before a scene is full. Variation has to be layered: variants plus placement plus small per-instance perturbation.
Generation should be seeded, so that any output can be reproduced from its seed. Without that, a bug in generated content is unreportable and untestable.
Determinism also enables incremental generation: extending a world without regenerating what already exists requires that the same inputs always produce the same region.
See also6
Hand-picked in the note itself — the neighbours worth reading next.
Seeded Randomness
Pseudorandom generation from an explicit seed, so any output is reproducible.
Graphics & Games13 connections
L-System
A rewriting grammar that generates branching structures by repeated substitution.
Graphics & Games10 connections
Determinism
The property that identical inputs produce identical outputs, and the foundation of caching and verification.
Systems & Tooling27 connections
Voxel
A volumetric pixel — a value on a regular three-dimensional grid.
Graphics & Games11 connections
Cellular Automaton
A grid of cells whose states evolve by a local rule applied simultaneously everywhere.
Graphics & Games11 connections
Roguelike
A genre defined by procedurally generated runs and permanent death, and the design pressures those create.
Graphics & Games10 connections
Related3
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from11
Notes elsewhere in the wiki that reach for this one.
- Cellular AutomatonGraphics & Games
A grid of cells whose states evolve by a local rule applied simultaneously everywhere.
- Constraint PropagationGraphics & Games
Repeatedly narrowing the possible values of each variable using the constraints, until nothing more can be deduced.
- DeterminismSystems & Tooling
The property that identical inputs produce identical outputs, and the foundation of caching and verification.
- Game AIGraphics & Games
Computer opponents built to be interesting to play against rather than optimal.
- L-SystemGraphics & Games
A rewriting grammar that generates branching structures by repeated substitution.
- RasterizationGraphics & Games
Converting geometry into pixels — the dominant real-time rendering approach.
- RoguelikeGraphics & Games
A genre defined by procedurally generated runs and permanent death, and the design pressures those create.
- Seeded RandomnessGraphics & Games
Pseudorandom generation from an explicit seed, so any output is reproducible.
- ShaderGraphics & Games
A small program run on the graphics processor for every vertex or every pixel.
- Trick-Taking GameGraphics & Games
A card-game family in which players contest a series of small rounds, and a source of unusually clean rule systems.
- VoxelGraphics & Games
A volumetric pixel — a value on a regular three-dimensional grid.