Procedural Generation is an Art

As we pointed out in a previous post, beautiful, creative game design has become easier due to software, hardware, and workflow advancements. Is procedural generation one of the approaches that can help? Or does it get in the way of beautiful, creative work?

Procedural generation is an approach to creating video game content autonomously.  No human creates the content that players see – it is generated by algorithms that follow certain deterministic procedures. The promise of procedural generation is that volumes of game content – particularly stuff like scenery and landscape – can be generated easily, with few human designers.

The downside is that game content generated procedurally risks being boring, vanilla, and uninteresting. Or, on the other extreme, generate such variety that it is incoherent and the game has no continuity in the player experience. Because of this, procedural generation sometimes gets a bad rap. But it is still essential for designers that want to scale content.

So how can game developers use procedural generation and still generate interesting content, while maintaining consistency in the game? Just because it is autonomous, does not mean it is automatically good.  Coming up with good procedurally generated content is an art.  It requires navigating a delicate balance. Take Sunless Sea, for example…

Sunless Sea is a clever game from Failbetter Games that heavily leverages procedural generation. It involves exploring a sea in the dystopic world of “Fallen London” with a steamship. In developing the game over time, the team played with a variety of approaches to enhance the creative feel of the game and to keep it from being boring.

Liam Welton, one of the developers, wrote a chapter on “Aesthetics in Procedural Generation” in the book, Procedural Generation in Game Design that describes their experience.  What is super-interesting about this chapter is that it shows how procedural generation is by no means automatic. There is a continuous tradeoff of continuity and novelty. Developers need to actively design and manage the parameters as “design rules” for the game and it involves a continuous iteration. 

According to Welton, “procedural generation is a team member that can follow hard-and-fast rules to the letter, but can fall short when it comes to making judgements in less strictly defined areas.”  As a team member, the team is both enabled and constrained by the particulars of the procedural engine.

In the book chapter, Welton describes how they needed to provide both a sense of continuity and novelty for repeated game play.  They initially chose a grid-and-tile approach where certain tiles of content were fixed and other tiles were procedurally generated. Their main activity involved identifying the right resolution for grids, and to put procedurally generated grids in five regions to maintain  some continuity. After much work, they describe how they arrived on this final grid.

What is fascinating about this book chapter is the complex and iterative way they arrived at the final solution, and it is clear that the solution could have been otherwise.  There is no “right” way to parameterize procedural generation in game design.  It is full of judgement calls and preferences – an art form in its own right.  Procedural generation does not kill creativity, it simply changes the way designers execute their work.  It is another tool, a teammate.

(Image: Failbetter Games)

After Sunless Sea, the game developers created Sunless Skies and learned from their experiences with the grid and tile, and they blogged about their new approach.  To improve gameplay they chose an entirely different approach to laying out the world – more of a hub and spoke model:

(Image: Failbetter Games)

This hub and spoke model was a new way to balance fixed predictability of stable ports, with more of an emergent gameplay experience.

The Failbetter Games experience with configuring the procedural engines for Sunless Sea and Sunless Skies is a fascinating story of a team learning to design with their procedural teammate over time.


For more information, see the book chapter:

Welton (2017) “Aesthetics in Procedural Generation,” (In Short and Adams, eds.) Procedural Generation in Game Design. CRC Press, 2017.

And the blog: