Procedural generation

Procedural generation is the use of algorithms to produce levels, terrain, or other elements of a game world. These algorithms usually incorporate some form of randomness.

Procedural generation is very common in strategy games, roguelikes and DF-likes, and exploration games.

The term "procedural generation" does not typically include the (relatively simple) sort of algorithmic generation found in puzzle games.

Common elements

 * Often, the player can adjust certain variables to customize the algorithm (and therefore the gameplay experience). For example, a game which procedurally generates terrain may allow the player to control the overall roughness or smoothness, the proportion of water to land, the scarcity of particular resources, etc.

Benefits

 * Procedural generation increases replay value by offering a unique experience with every playthrough.
 * It allows a small development to produce a game with a vast – in fact, potentially infinite – game world, without the need for level designers.

Drawbacks

 * Procedurally generated content rarely has the verisimilitude of hand-crafted content.
 * For obvious reasons, procedural generation isn't a good fit for games which present a detailed narrative.

Unusual applications

 * Telengard, a dungeon crawler from the early 8-bit era, doesn't use PG to make the game world different every time – it used it to make the world the same every time. Telengard's dungeon was too massive to fit within the tight memory constraints of early 80s microcomputers. So the dungeon layout is determined algorithmically, always using the same random seed.
 * Dwarf Fortress takes procedural generation to an unusual extreme, using it to produce everything from individual dwarves' names, personalities, and backstories, to entire mythologies.

Examples

 * The Civilization series
 * Don't Starve
 * Dwarf Fortress
 * FTL
 * Minecraft
 * No Man's Sky
 * Spelunky