Coding this piece
The coming release of No Man’s Sky has put procedural generation at the forefront of gaming once again. The developer, lacking the resources of a larger team, turned to procedural generation to create game assets via an algorithm rather than devoting a person to create a specific asset. As a result, they claim that everyone on earth could play the game for the rest of their lives and still not see all the content the game has. Procedural generation (PG) allows the creation of entire universes, but it has its limitations. The technique fairs poorly where gaming cannot be boiled down to simple math.
The oldest and most common use of PG is the creation of environments and maps. Probably the oldest examples of this are 4x games where land tiles could be randomly shuffled to create new battlegrounds with relatively little effort. The developers learned to establish certain parameters (landmasses could only be so small or not to put deserts next to tundra) that improved the enjoyment of the map. Modern games employ a more sophisticated version of the same strategy. Minecraft creates biomes and underground caverns based off of the dictates of its algorithm. The billions of planets in No Man’s Sky does the same basic tile swapping, but on a galactic scale. PG works on these particular assets because they can be accurately modelled mathematically. Each object has a predictable relationship with every other object making PG a matter of ensuring that the objects interact in the right way. Establish enough of these interactions the developer can create worlds that feel both unique and cohesive.
Yet this fails totally when coming up with procedurally generated stories and quests. PG content along these lines is generally predictable and unconvincing. Quests ask for pointless tasks like “collect 10 rhino spleens” and rarely lead anywhere. The most prominent and recent example of this is Fallout 4 during its quests to rebuild the wasteland by establishing small towns in the ruins. Quest giving NPC Preston Garvey starts by asking the player to clear out settlement sites for repopulation. Once that’s done, he asks the player to go back to those same places over and over to defend against yet another mutant horde/ghoul assault/scurvy outbreak for the millionth time. The quests were obviously the result of a formula that never had any endpoint. While developer BethesdaSoft’s attempted to create procedural content for their game, they ended up with a poor feature that was mostly mocked by its users.
PG content of this kind fails because stories don’t breakdown into easily manageable chunks. A computer can’t randomly rearrange sections of a story to create a cohesive whole. Each piece of a story must necessarily build on its predecessor in a way that seems like a natural evolution of the characters and the setting. Character A attacks Character B’s hometown for loot. Character B seeks revenge and, in so doing, must make moral sacrifices that ultimately put them on the path to attack towns like Character A. These relationships are much harder to describe and far more limiting then saying that a tile can be next to three different types of tiles but not next to the fourth. They can’t be broken down into component parts with their own set of discreetly defined principles. As a result, PG stories and quests that follow the same model as their environmental generation brethren often look hollow and predictable. Fallout 4’s quests of “[town] is under attack by [threat]. Go kill [number from 3 to 10] of [threat] to bring peace to the land!” never satisfies because it tries to breakdown the narrative into pieces in the same way it does so for environments.
It doesn’t help that stories are also more demanding of their game. By their very nature, environments are generated before any of the action starts. They don’t need to draw on any existing assets beyond the algorithm that crafts them. Stories must reflect and use the environment that they’re in. Taking an extreme example, consider Fallout 3’s town of Megaton. At a pivotal moment in the game, the player can either defuse the atomic bomb at the center of town or set it off and become the hero of the nearby Tenpenny Towers. To make this quest work, PG would have to establish all of the characters, create a town with a nuclear bomb at its center, create the various story beats, identify the save/destroy decision, and ensure that the resulting actions did not remove vital parts of the main story. It would also have to ensure that all other story interactions wouldn’t conflict with what happened in Megaton. That’s a lot to align and all the harder for an AI that can only understand story structures and themes through the coding of a programmer. PG stories are clearly a step beyond PG environments.
Given the woeful state of procedurally generated narratives, it’s tempting to write them off as impossible. I would caution against that. It took environmental PG 25 years to get to its current state. I imagine the old 4x creators would have considered galaxy shaping algorithms impossible, yet now we have them. The sophistication isn’t there yet, but we’re far from having done all we can to explore this space.