Skip to main content
2 of 4
added 106 characters in body
Theraot
  • 27.5k
  • 4
  • 52
  • 79

I could not find an authoritative taxonomy of content generation. Thus this answer is the taxonomy of content generation as I - personally - make sense of it.

About generation of content (referring in this content to maps, levels and other parts of the design of video games), we can say it can either be:

  • Authored (designed) content: This is content generated by the authors of the game. Which might be bundled with the game, or be downloadable content.
  • Procedural content: This is content generated by algorithms designed or selected by the authors of the game (there is a procedure that generates the content). The tools include pseudo-random number generators, generative grammars, noise functions, cellular automata, fractals, artificial neural networks and so on.
  • User-generated content: This is content provided by the players of the game.

Also the content could be:

  • Static: It cannot change once generated.
  • Dynamic: It can change during game play.

Authored content is often static. However it can be dynamic if it allows players to modify it (by building or destroying) or there is a automatic system that governs how it changes (either constantly or at specific events).

For example, a game map could have predefined positions for trees. But these trees could be dynamic in that the player can cut them, and there is a system that will make new ones grow.

An example of "constantly changing" dynamic content could be if the trees spread (new trees spawn and grow near where other trees exist). See also city builders where the simulation would constantly build, change or destroy buildings.

Similarly, procedural content could be either static or dynamic. For example, a game could be fully procedural (and random, see below), but offer the player no means to modify the environment, and thus making it static.

User generated content is usually dynamic, because it is content that the players input during game play. The exception would be modifications to the contents of the game while the game is not running (e.g. mods).


Furthermore, the content generation could be:

  • Deterministic: It is always the same.
  • Random (a.k.a pseudo-random or stochastic): It is different every time. Using pseudo-random number generators, noise functions and similar tools.

Note that random content generation means we use pseudo-random to generate, not that we use random to decide everything. Some aspect of the generation can be deterministic and others not, and we will still call it random. Similarly, we can manipulate the randomness distribution towards generating content that we deem interesting. Thus random here does not mean purely random.

Authored content is deterministic. Adding a system that makes it different every time would make it procedural content. However, procedural content could be deterministic (e.g. the designers hard-coded the seeds for content generation, so it is always the game).

User-generated content could also be either random or deterministic. However, deterministic user-generated content is more common (e.g. the user creates a custom scenario using an editor, and thus every time that custom scenario is the same).

Note that a common motivation to use procedural content generation is to make random content (which, again, is content that is different every time). Otherwise we would probably author the content. However, another motivation for procedural generation is to make a world much bigger that we could reasonably author (which might result is not very interesting worlds).


I also want to mention that procedural generation could happen ahead of time (i.e. the game generates the world before game play) or just in time (i.e. the game generates the world when needed, a.k.a. on demand content generation). Note that on demand content generation does not imply it random nor dynamic.

However, on demand content generation offers an additional opportunity to make the content generation dynamic (the algorithm could skew what content it generates according to the situation of the player, for example as a means of dynamic difficulty).

In regard to dynamic content, we can also talk about content being persistent or not persistent. Saying that the content is persistent, means that the game will store/remember the changes that happened during game play. Otherwise the changes are lost when the content is unloaded… Which could mean to return to the authored state, or to generate it again (implying on demand content generation). Furthermore, the case of on demand content generation could result in something different being generated (which might be the intention of the designers or not). Notice that persistence is not an issue if the game does not allow you to go back.

Theraot
  • 27.5k
  • 4
  • 52
  • 79