By Design: Procedural Generation
The good and bad sides of algorithmic game design
Having played through a good chunk of Starfield, I found myself mostly disappointed with what could have been. Starfield has some great ideas, but these good qualities are undermined by dozens of poor design decisions that ultimately amount to a boring game. The design decision that I believe is ultimately responsible for much of Starfield's failure is poor usage of procedural generation.
What is Procedural Generation?
Procedural generation is a method of creating things with the use of algorithms, as opposed to manually crafting those things. It is a quick and efficient way of creating large amounts of data with minimal effort, and it can also reduce the performance burden on a computer by generating data on the fly.
For example, a developer might want to create a landscape in their game, but they don't want to manually go through the game world placing every individual rock, tree, or shrub - it would simply take too long to do. So, the developer will use procedural generation to "paint" the landscape, with geometry and asset placement generated according to some predetermined conditions. The algorithm can be tweaked, such as reducing the chance of trees or water appearing in a desert landscape or increasing the density of foliage in a forest.
Procedural generation isn't just used for generating landscapes - it can be used for generating quests, items, textures, even sound and music. You've almost certainly played a game that has used procedural generation in some way, though it might not always be obvious to the player.
An important distinction to make is that random (or really, pseudorandom) generation is not the same as procedural generation. If a designer creates a series of map tiles and then generates a 64x64 grid from those tiles without any method for their selection, then that is a random process - each tile has an equal chance of being placed. Conversely, suppose the same developer used some sort of rule or set of rules to influence which tiles appeared where (such as certain types of tiles being more likely to appear alongside other types of tiles). In that case, they have used a deterministic process - i.e. procedural generation. In essence, procedural generation uses algorithms (rules) to generate data in a way that can be predicted, to some degree.
What's wrong with Procedural Generation?
Nothing. Nothing at all.
Procedural tech has been in use by game designers since the earliest days of the industry, often to great effect. One of the most famous early examples of procedural generation in gaming is 1980's Rogue, which is also the origin of the term "rogue-like". The dungeons, items, and monsters are procedurally generated so that every game holds a different experience for the player. This technique was also employed in 1984's Elite to generate the game's eight galaxies (each with 256 planets), creating a game world far larger than anyone could have expected on a BBC Micro computer.
The great thing about procedural generation, particularly in the early days of gaming, is the efficiency with which it generated huge amounts of data without the associated memory burden. This is achieved by assigning certain values to certain results of a procedural generation algorithm. For a game like No Man's Sky, with its 18 quintillion planets (give or take), storing the detailed geometry and asset placement for every one of those planets would take an inordinately huge amount of memory.
Instead, by feeding a specific "seed" value into a procedural generation algorithm, you can achieve the exact same result every time, and that's exactly what is happening in No Man's Sky. The game world is procedurally generated while you play - meaning that the planets in the game world don't actually exist until you visit them. Instead, as you explore the game world, the game engine generates the content dynamically. Because all players start with the same seed number, and this is processed using the same algorithms, the end result is always identical.
The Procedural Generation Pitfall
There is nothing inherently wrong with procedural generation, but the usage of it can present several traps for game designers. The human brain is uniquely evolved to recognise patterns, and since a procedural generation algorithm is pseudo-random and limited to using a restricted library of game assets, it does tend to create patterns, of a sort. Eventually, players start to recognise the limited combinations of models, textures, and layouts. Once a player starts to accurately predict the layout of a given area, the magic of exploration is gone.
Part of this is influenced by human psychology and the formation of memories. The hippocampus assists that formation, which encodes memories with "geotags". The brain recognises specifics about locations and uses those details to assist in memory recall. It's why visiting a familiar location might trigger a wave of nostalgia (or in more tragic cases, lead to episodes of post-traumatic stress).
The issue with procedurally generated content is that, while it may seem diverse under cursory examination, a closer analysis of details can reveal predictable patterns that could be difficult for the brain to subconsciously discern as unique, and it is these minor details that the brain uses as cues for the formation of memories. Conversely, a hand-crafted level is more likely to contain individual quirks that reveal the considered hand of a conscious creator. These small artistic flourishes can be the details that make locations memorable.
The line here is fuzzy though, and greatly depends on the player. Some are more resilient to the repetition of assets and areas and will engage with them far longer than others. But, without consideration for other design elements, a player will eventually hit the limits of their interest.
The Elder Scrolls II (Daggerfall) and III (Morrowind) offer a good comparison here. Daggerfall's procedurally generated world is immense and impressive, but there is a lot of repetition, and many locations are almost indistinguishable from one another. On the other hand, Morrowind's more hand-crafted approach to world design gave every zone a uniquely memorable feel, but the trade-off was that Morrowind's world is significantly smaller and less realistic in scope.
Regardless of how well-implemented the procedurally generated content is, these games ultimately require a foundation of solid and engaging gameplay. Daggerfall featured engaging RPG mechanics, a reasonably strong plot and main quests, and eventually excellent mod support, allowing the world to serve as an immersion-supporting backdrop, rather than the game's central focus. Engaging gameplay loops and systems can prolong the life of procedurally generated content, as it distracts the player from examining procedural content too closely and seeing the underlying predictability.
The Allure of Discovery
One of the most important elements in creating engaging procedural content is not the content itself, but fostering a belief in the player that there is something exciting around the corner. Minecraft is one of the most notable examples of this. Every procedurally generated world is unique, and the components (in this case blocks) that make up those worlds are ultimately quite simple. But those elements can come together in vast cave systems hidden underground, towering mountains rising above mushroom forests, and deep, dark oceans. When you play Minecraft, you're always wondering what you'll discover next.
The allure of discovery isn't just confined to world design. The procedurally generated events that drive the gameplay of Dwarf Fortress leave an impact of the player's titular dwarves as the game rolls on. Individual dwarves can develop phobias and friendships or become legends amongst their peers. The gameplay driving Dwarf Fortress is itself a highly engaging blend of strategy and management, but the possibilities of what could happen are one of the key motivating factors that keep players coming back.
For games like the Diablo series, in which much of the enjoyment is derived from incremental tweaks and improvements to a character's power and efficiency, the use of procedurally generated items is perfectly implemented. Every monster is a potential dopamine hit of item upgrades, and this perpetual anticipation is one of the series' strongest elements.
A Tree is Not a Forest
This is one of the great pitfalls of Starfield - the implementation of procedurally generated content is so formulaic, so restricted, that its limitations can be very rapidly surmised. There is no "magic" in the gameplay, because the limitations are so readily apparent. The gameplay mechanics themselves are passable, but not particularly original. The base-building is nothing that hasn't been seen before in other titles. The plot is anaemic at best, and world-building is some of the most derivative science fiction I've encountered in recent memory. There is nothing here that hasn't been seen before in film, games, or literature.
In the absence of any other engaging writing, mechanics, and systems, the spotlight falls firmly on Starfield's procedurally generated world, and here the game is left extremely wanting. The compartmentalisation of the world into loadable chunks creates the impression of dozens of walled gardens, undermining the sense of incredible freedom that one can find in Daggerfall, Elite, or Minecraft. The diversity in biomes is no more impressive than what has already been seen in a title like No Man's Sky. Limited asset libraries leave dungeon locations feeling indistinguishable.
Procedural generation is a powerful tool for game designers, but over-reliance upon it, and a lack of consideration for how it interacts with other game elements, can be a massive pitfall. It is my hope that, with ongoing mod support, Starfield can eventually live up to the expectations that preceded it. But for now, it stands as an example of how procedural generation cannot rescue a bland game - rather, it should be used to augment an existing foundation of solid gameplay.