The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
Procedural generation is the cornerstone of roguelike games and promisor of great things! Randomly creating the game world from a set of coded instructions can lead to nearly infinite possibilities. You can change the layout of a level, spawn different enemies, drop different loot; you can basically create a whole universe, as promised by games like No Man’s Sky and Limit Theory.
Our last game, Ring Runner, had procedural background generation that could produce over 2.4 billion unique, spacey backgrounds with planets, nebulae, and stars. But if you’ve played Ring Runner as much as I have, some of the settings might start looking a little familiar. That’s because although countless microvariations are present, the macrovariations are far more limited. Maybe the nebula is swept in a slightly different way, or the number of stars is different, or that planet back there has an extra moon, but to my simple human brain, it may as well be a background I’ve seen before.
Blinded by the noise!
Static is one of the simplest graphical representations of the effects of randomization.
Can you spot the differences in these two images? But more importantly, do you care?
We can get a bit more sophisticated with Perlin noise.
Now the differences become more obvious, but pretty soon, they all start running together.
In essence, randomization can lead to a vague sameness when repeatedly executed. In its current level of sophistication, procedural generation also has problems creating truly compelling new situations or occurrences. I might find myself slightly underwhelmed when I visit planet RGX-YB56-9er and discover that it has a slightly different concentration of resource Scrotanium 5-B2 when compared to its neighbor.
So what are we doing about it?
Well, first of all, microvariations are good at keeping things unpredictable. But new level layouts, loot, and enemy deployment only keep things fresh for so long. After a while, we encounter the same problem as with the Perlin noise, and even though you might be able to point out the differences of every run, you may not find them compelling.
This is why macrovariations are essential. One of the things that makes Binding of Isaac such a popular game is that each run can be radically different depending on which items drop. These are macrovariations, big differences that you can actually talk about after a run.
You may’ve heard a friend say something like, “dude… (yes, your friends begin every sentence with “dude,” sorry, don’t get mad at me if you don’t like it, find different friends!) you remember that run where I got the helmet that made me invulnerable to slashing damage and we totally owned that minotaur boss?” Whereas, it’s less likely that he’d say, “dude… you remember when we did that run where there were 3 goblins instead of 4, but one of them was like 3 tiles over to the right and another was behind a barrel?”
One of the best aspects of roguelike games is that, since every run is self-contained, rewards and gear can come fast and hard. Players can earn game-changing items and weapons around every corner, because the next turn might be their last. One of our goals is to ensure that Popup Dungeon’s gear has bold effects that go far beyond the realm of +1 AC.
Another way we’re looking to keep every run significantly different is with our Portals of Fate system. These optional portals present high-risk, high-reward opportunities. Step through and you might find a treasure hoard, a vending machine room, an extra-tough boss battle, a whole other dungeon level, or a room of wall-to-wall minotaurs!
And finally we come to the titular element of our efforts to keep Popup Dungeon exciting for years to come, something we’re calling un-pro-cedural generation. And what is un-pro-cedural generation? It’s user-generated content! Get it? Un-pro-cedural. Alright so maybe the name is kind of lame, but the possibilities aren’t! Popup Dungeon has many ways of seamlessly introducing user-generated content into the game.
For instance, we have the option to automatically download a selection of user-generated enemies each run, so you really won’t know what lurks in the dark: a rogue animatronic pirate, shirtless Vladimir Putin, a rabbit with big pointy teeth… the possibilities are only limited by human imagination. Afterwards, you can decide whether or not you’d like to keep them in your own library.
And if that’s still not enough, you can have a friend (preferably not that guy that’s always starting sentences with “dude”) assume the role of Dungeon Master, allowing them to control enemies, adjust level parameters, and affect the course of a run with special “DM” abilities.
It’s our greatest hope that this effervescent blend of digital and human creativity will lead to dangerous amounts of replayability.
And a big thanks to Fabio Santana and Steve Tom Sawyer for featuring this article in Revuelabs as well!