Procedural generation presents a big challenge for players and developers alike. The rewards of creating a game that can theoretically spawn an infinite amount of levels is obvious, but designing a system that can reliably create worlds and missions that are balanced, rewarding, and consistently engaging is easier said than done.
Indeed, according to Phi Dinh, an indie-for-hire who helped Sigtrap founders Gary Lloyd and Luke Thompson bring Sublevel Zero to life, one of the biggest misconceptions surrounding procedurally generated games is that developers opt for that technique because it cuts down the amount of time they need to spend on level design.
That, says Dinh, couldn't be further from the truth.
"I think it's harder to create a good procedurally generated level than it is to create a linear level," begins Dinh. "The reason developers do it is because we just love coding. The technique lends itself really well to programming, and using mathematics and algorithms to find new ways of doing things. You have different systems that come together, interlock, and create emergent gameplay, and that's what I really love about games that use this tech."
Dinh feels that procedurally generated content keeps devs honest. "With traditional level design you can hide things, and use smoke and mirrors to make levels look good," he says, "but with procedural generation you can't fake that. You can't hack it in. Every chunk, every piece that we put together, has to be workable from every perspective."
It's a numbers game
"With traditional level design you can hide things, and use smoke and mirrors to make levels look good. But with procedural generation, you can't fake that."
Sigtrap co-founder and lead artist, Gary Lloyd explains that one of the beautiful things about procedural generation is that it allows everyone to try their hand at level design. To iterate on the unknown.
"When we are designing spaces and chunks, they all have to work together," says Lloyd. "It's been a big learning experience for me, someone who's used to working on more linear games, because a big aspect of procedural generation is nailing that level design."
"I'm not really a level designer, but I feel like I can mock something up in 3D, put it into the game, stick it into the generator, and then iterate on that. That's been quite an interesting experience, working on a micro-level."
Like the explorers of old, developers stepping into the world of procedural generation have to adapt to survive, changing systems on the fly in the hopes that it'll all click at the very end. Sublevel Zero actually started out as a jam game, and if you looked back now you might struggle to recognise its humble beginnings.
"Particularly with the procedural generation, we were prototyping that for a long time," says Luke Thompson, Sigtrap's other co-founder and the studio's lead coder. "The iterative process we've had has meant that we didn't know how it all hung together at the very end. The combat for example--we knew it was polished, but we just didn't know how everything would balance out."
"With a procedurally generated game, it's difficult to know how these things are going to fall together until that last month of development."
One small step for man...
What does that mean for devs looking to harness the power of procedural generation? Simple: it means you need to start building your game as soon as possible, because there's going to be a lot of failure, a lot of mistakes, and a lot of time wasted. That, however, isn't necessarily a bad thing.
"We've had a couple of instances where we've built something that we think is technically amazing, and then it's been useless in the real world," says Thompson. "You have to get things out there, try them, and find out what you actually need ... not what you think you're going to need."
Thompson says that this approach bringsa certain freedom with it: "This is coming from a programming perspective, but one of the things I dread is the idea of scripting in levels--it's so one off. You just hack together some cheap little lines of code to make a certain trigger do a certain thing, and half the time it'll break later on and you'll have to fix it. I just hate that.
There's no room to hide when it comes to procedural generation, though. You either get it right, or you release a broken game.
"People perhaps sometimes see it as a shortcut, but it isn't. You're doing procedural generation, but you still have to be a level designer. There are cases where that's difficult, and the tech will throw a curveball at you because you can't control it to the nth degree," continues Thompson.
"Procedural generation is the programmers approach to game development."