Procedural content generation (PCG) is the programmatic generation of game content using a random or pseudo-random process that results in an unpredictable range of possible game play spaces. This wiki uses the term procedural content generation as opposed to procedural-generation: the definition of procedural generation includes using dynamic as opposed to precomputed light maps, and procedurally generated textures, which while procedural in scope, do not affect game play in a meaningful way. The concept of randomness is also key: procedural content generation should ensure that from a few parameters, a large number of possible types of content can be generated.
While many techniques are common to both procedural generation and procedural content generation, the emphasis on this wiki has been on PCG rather than little 'p' procedural generation. Having said that, the wiki is also moving away from this stance. Feel free to contribute to the discussion on this issue on the discussion page of what PCG is.
Types of Procedural Content Generation
The article The Death of the Level Designer outlines seven types of procedural content generation, with respect to games.
This list is an attempt to generate a definitive taxonomy of the types of procedural content generation.
The paper Search Based Procedural Content Generation proposes an alternative taxonomy of procedural content generation:
- online vs offline
- necessary vs optional content
- random seed vs parameter vectors
- stochastic vs deterministic generation
- constructive vs generate and test
As described in the paper:
Most of these distinctions are not binary, but rather a continuum wherein any particular example of PCG can be placed closer to one or the other extreme.