Procedural Generation

Everything About Fiction You Never Wanted to Know.


  • Main
  • Wikipedia
  • All Subpages
  • Create New
    /wiki/Procedural Generationwork

    Then the random generation can begin. We don't want another cheap fantasy universe, we want a cheap fantasy universe generator. A lot of fiction sounds computer generated anyway.

    Toady One, on DF forum

    Procedural Generation is a form of creating media automatically. Basically, a designer needs to enter a few variables and let the computer do its work. It's a bit of a double edged sword: when it's done well, it's done really well, but when it's done bad, it can just look like a mess.

    Procedural generation has a kind of sinusoidal history: it was pretty much required in the days of 8-bit gaming, as cartridges and computers literally did not have enough memory to generate all the levels. This brought in the concept of using "seeds" to grow a randomly generated world which looked realistic and challenging. Then, as games got more detailed and had more capacity, level generation was done manually, as by this time, random generation, particularly in games with save features, took up more space than static levels (take Dwarf Fortress for example: each world can hit 100MB... in .txt form) As of late, procedural generation in video games tends to be behind the scenes: in AI, for example, or for audio or visual effects.

    Even if static maps exist in a game, it's possible procedural generation was used in development to save map developers some time... and is probably most likely if it involves random tree or rock placement, or anything to do with cliffs or coastlines.

    The Demoscene has historically made more use of these techniques than anybody, in order to eke out spectacular graphical effects from tiny, tiny packages.

    Randomly Generated Levels and Dynamic Difficulty (and, by extension, Rubber Band AI) are subtropes; put pure examples of either there.

    Examples of Procedural Generation include:

    Video Games

    • Borderlands does this for your loot. It was going to make the world this way as well.
    • Cactus' several games, including Protoganda games and Burn the Trash use random seed generator to create enemies out of random parts that are always the same. These games also often included "random" option where enemies are completely random.
    • Cellular automata. Draw cells on a grid and then apply the game's rules to them.
      • The most famous is Conway's Game of Life It can lead to some surprisingly life-like patterns. There's the fan site, containing only some of discoveries.
      • Music generation through cellular automata. Started in late 1980-s and didn't stop.
    • There's a trend in Rhythm Games to do this: creating maps from a user's music collection. Dance Factory most likely started this, making Dance Dance Revolution-style step charts, and indie games like Audiosurf and 1...2...3...Kick It! (Drop That Beat Like An Ugly Baby) offer different takes on the idea.
    • Dwarf Fortress generates the world, models its history, adding random unique monsters or critter species, syndromes (diseases/curses/venoms and poisonous tissues of said critters), people, decorated items, artwork descriptions (which among the other things, relate any of the previously generated details, including other artworks)...
    • The Elder Scrolls
      • Almost all of Oblivion is created through simulated soil erosion, with dungeons being made of random parts of quest dungeons, making for long crawls (Except instead of "mating octopi", they are just lines or loops). Coupled with enemy and loot spawns being spread sheet generated, you get the size of Morrowind, and the uniqueness of Daggerfall
      • Both Arena and Daggerfall were entirely procedurally generated, the former being the size of Europe, the latter being only the size of Britain or so.
    • Elite was one of the first games to use this technique to generate not only worlds, but names, descriptions, and even prices of commodities, among many other innovations, by using the Fibonacci sequence.
    • FUEL is a racing game with a map of 14,000 square km of postapocalyptic wilderness, or half the size of Belgium. It uses a fixed seed generated by the developers and a few manually created landmarks.
    • .kkrieger was very famous in its day for being an FPS built near-entirely on procedurally generated content, matching the likes of Doom 3 with a filesize of only 96 kilobytes.
    • Minecraft procedurally generates landscapes that are, for all practical purposes, infinite. There's an end, but it's about 30,000 kilometers[1] from your spawn point, which would take a minimum of 820 hours of gameplay to reach without cheating. The terrain randomly contains NPC villages, dungeons, strongholds, and abandoned mineshafts, as well as ten distinct biomes, including mountains, jungles, deserts, swamps, and tundras. This combines to create an immense world[2] that you could spend your entire life exploring, if you felt like it. Furthermore, the game uses a special code called a seed to keep generated terrain consistent, and there are roughly four billion seeds to choose from, each of which can generate a unique world. The same seed can be used to generate the same world on any computer, and there are quite a few websites dedicated to sharing interesting seeds with other players.
    • Noctis: A space flight simulator allowing you free roaming in a galaxy approximately 90 thousand light-years in radius (about double the radius of the Milky Way Galaxy) made of over 78 billion stars, many with planets and moons. If you pick any point in the starfield, you can go there, then land on any rocky planet you find and roam around, created by a program of under a megabyte.
    • Portal 2 procedurally generates music based on user actions, using a decent number of different sound effects. The game composer mentions that the frequency of hearing the same track twice is somewhere around once in the tens of thousands of years.
      • Also by Valve, Left 4 Dead handles music the same way, giving each survivor their own music based on what was happening to and around them, and not necessarily to his teammates. Additionally, spectating a player will also duplicate that player's music for the spectator.
    • Spore can take any creature design and make it workable. And that's not including the amount of stars in the galaxy and the planets surrounding those stars and the creatures on those planets, all procedurally generated.

    Other

    1. (equivalent to 75% of the circumference of the Earth's equator)
    2. (the game is designed to support levels with more surface area than the Earth, although your system probably isn't up to the challenge)