The procedural future is coming.
There have always been video games with procedurally generated elements. That is, parts of the videogames you play are created on the fly, usually following some predetermined set of rules. These elements aren’t meticulously constructed by an artist or designer. They are built by the computer, following a blueprint or set of rules laid out by the game designer. Sometimes the blueprint is explicit, recreating the exact same assets every time the game is run. Other times there is a random, or pseudo-random element to how that part of the game is created. Games use procedural generation for level design, enemy AI, sounds, music, graphic details, even game mechanics.
Early PCs barely had enough memory and storage space to hold this blog post, let alone the massive requirements of an interactive experience, so a lot of games used procedural generation to simply function at all under extremely tight hardware constraints. Game worlds would be created following this blueprint laid out by the designer every time the player loaded into a new area or level. Storing the blueprint rather than every single detail that goes into creating a game level, allowed developers to shoehorn massive fantasy and sci-fi worlds onto floppy disks.
As hard drive space and system memory grew, the ability to discreetly author most elements of a game meant grander, more cinematic, and more precisely written games could be created. Entire worlds created procedurally fell out of vogue for a while.
Here’s the thing. Computers never complain about how much work they have to do, you never have to pay a computer overtime, and a computer never suffers repetitive stress injuries. Of course computers are also absolutely bunk at being creative. Procedural creation of assets tends to create a lot of very samey looking junk. Or at least it used to.
In the early days of computer games, developers were forced to use procedural generation techniques by the bottleneck of insufficient storage and memory. Present day game development has hit a new, more difficult, bottleneck. Creating the sprawling vastness and detail of something like the assassins creed games requires an enormous amount of artistic manpower. That costs way too much money to be sustainable. Paying enough people to recreate a realistic city in a reasonable amount of time is just not going to be feasible if the fidelity of the images keeps increasing. At some point these games no longer contain elaborately decorated facades, but actual meticulously constructed cities, populated with digital citizens.
Of course the solution is not to say that we’ve topped out. The argument that games will just never look any better, or be any more sprawling than they are now is just flat out delusional. The real answer is to go back to procedural generation on a massive scale. Create better, more dynamic blueprints for procedural systems to churn away on. The real artistry of future games will not be perfectly creating single beautiful trees, but taking the trees that the world provides and strategically pruning them into a beautiful form. Cities and levels won’t be designed, they will be grown and tailored to the create fun places to play. What might be most surprising, is that creating virtual worlds, will be not unlike building things in the real world. The starting point won’t be a blank screen, but a rich landscape, created through random interactions of detailed simulations.
It may seem like I’m overselling the future here. This is the same sort of nonsense that people were spouting in the early 90s when the VR fad was in full swing. The difference here is that massive procedurally generated environments already exist in some very financially successful games and simulations. In games, like in everything, strategies that make money get used again, and developed further. The promise of an engaging game world without end makes a lot of money it, turns out. Ask the developers of Minecraft and Star Citizen.
I was going to write a whole thing about how architecture is the original balance between procedural generation and authored content, but maybe I’ll leave that for another post. This one is already long and boring enough.