Innovation of the Week: Procedurally & Randomly Generated Content
by alianger
This week, let's dive into a more technical aspect of video game design that has significantly shaped the medium: Procedurally & Randomly Generated Content (PGC/RGC). Procedural Generation involves the creation of data using an algorithm as opposed to manual input, and the data is generated while the game is running. This approach to content creation has been a game-changer in the industry, sha...
This week, let's dive into a more technical aspect of video game design that has significantly shaped the medium: Procedurally & Randomly Generated Content (PGC/RGC). Procedural Generation involves the creation of data using an algorithm as opposed to manual input, and the data is generated while the game is running. This approach to content creation has been a game-changer in the industry, shaping popular modern games like Minecraft, Spelunky, The Binding of Isaac and Dwarf Fortress, and it once again dates all the way back to the 1970s. The memory constraints of early gaming hardware encouraged some developers to use procedural generation to their advantage to compress data and reduce file sizes through the reuse of chunks of data, as well as to save development time and achieve greater scalability in games. For the players, PGC or RGC's benefit is enhanced replay value through changed level layouts and difficulty curves with each playthrough.


The first recognized examples of PGC come from the 1978 games Beneath Apple Manor for computers and Maze Craze for the Atari 2600/VCS console. The procedural generation system in the former, the first commercial Rogue-like Dungeon Crawler would create tile-based dungeons and define rooms, corridors, doors, monsters and treasure, and magic item placement, all listed by the game before it starts as it is being generated. Players can also pick between 4 and 20 rooms per level. Maze Craze, a simple maze chase game where the player is chased by 2-3 enemies, used an algorithm to generate random mazes for each game.


However, there is one earlier example in the proto Rogue-like, turn-based strategy game Star Trek (Sigma 7, 1971)! Navigating an ASCII-based and grid-like game world/map, the player is put in command of the USS Enterprise (represented by "*") and tasked with hunting down an invading Klingon fleet (each ship represented by "+++"). It had procedurally generated maps as well as perma-death.
---
Some Other Notable Examples:
Adventure (1980) - At Skill Level 3, the layout is similar to Level 2 but the location of items and enemies is randomized for a greater challenge. The behavior of the bat enemy is also randomized at either level (IIRC) - it can steal items from where they were placed or while carried; it can carry the player, the dragons or an item around; and it can even accidentally kill the dragon by carrying the sword into it, which can be considered an early systemic element.


River Raid (1982) - This early vertically scrolling shoot 'em up made use of a pseudorandom number sequence generated by something called a linear feedback shift register to generate scrolling levels full of obstacles.


Elite (1984) - The Elite universe is made up of eight galaxies, and each has 256 planets to explore. A single starting number (seed number) goes through a set way of doing things, making a list of numbers that decides everything about each planet – like where it is in the galaxy, prices of goods, and even details like names and other local characteristics. Words are chosen from a list and put together to make each planet unique, like one with "carnivorous arts graduates". A very useful aspect is that no extra memory is needed to remember what each planet is like. Each galaxy is made in the same way from the first one. At first, the developers Braben and Bell wanted 2^48 galaxies, but publisher Acornsoft convinced them to go for fewer to keep the galaxies' secret math origins hidden.
Rescue on Fractalus (1985) - This game utilized fractals to procedurally generate craggy mountains on an alien planet in real-time. The silhouette of the fractal mountain range is displayed against the sky while a black grid is overlaid on the mountain range for perspective. The gameplay consists of players piloting a spacecraft around this landscape in the attempt to rescue downed pilots.
The Sentinel (1986) - Some classic games showcase the use of pseudorandom number generators (PRNGs). These were typically used with predefined seed numbers to generate large game worlds that appeared premade to the untrained eye. 3D Puzzle game The Sentinel is one example and it supposedly has 10,000 different levels stored in only 48 or 64 kilobytes.


Damocles/Mercenary 2 (1990) - This Open World Action Adventure game featured a procedurally generated world with a static seed. Players are initially stranded on the planet Eris with a non-functional spacecraft. A comet named Damocles is moving towards Eris, adding a time limit to each playthrough - players must both escape Eris and prevent Damocles from destroying it. The game expands its scope compared to the prequel, offering exploration of an entire solar system called the Gamma system, and there are multiple distinct ways to beat the game besides a destructive one. The game is also complex in terms of its physics engine, incorporating orbital mechanics and special relativity, with time dilation during interstellar travel.
Frontier: Elite II (1993) - The sequel makes use of a bigger and more detailed star map and a more advanced game engine, allowing players to seamlessly land on planets. While in the first game each star system had a single star, a single planet, and a single station, this game can have up 35+ "major bodies" (planets and moons) per system. Star systems are procedurally generated by the game combining the mass of material within an early solar system into planets and moons that also obey the laws of physics. The material distribution is also slightly randomized in order to ensure each system is unique.


Diablo (1996) - Perhaps the most well known example besides Rogue (1980) and Civilization (1991), Diablo was a revolutionary isometric view ARPG which featured procedurally generated dungeon floor layouts, loot, shop inventories, shrine effects, optional sub quests and monsters including mini-boss monsters. General layout themes and monster pools were designed for each set of levels making up a separate part of the dungeon, such as the catacombs tending to have long corridors and closed rooms and making you face skeletons and scavengers, while the later caves are more non-linear and open and make you face gargoyles and horned demons. For the shop inventories, each vendor had a separate requirement for when theirs would update, such as Griswold the blacksmith only adding new items when you go up a level or buy an item. The game also popularized the color coding of items in three categories: White-colored items are normal items, blue-colored items are magic items and gold-colored items are unique items. What perhaps not everyone knows about Diablo is that months into development, the game was still turn-based with mandatory perma-death, single player, and one of its main inspirations was 1980s Rogue-like games such as Telengard (1982).
---
What's your favorite retro game that uses procedural generation, and how did it enhance your gaming experience? Share your thoughts and memories below!