Procedural content is nothing new.
Games have had it for a lot longer than there have been computers. (Boggle's another example of a tabletop game with procedural content. And the D&D board games are a recent example.) Sometimes, procedural content is the only game in town. Consider Warcraft vs. Kohan: Kohan has some units that are particularly good at recon. These units would be useless in Warcraft, where your bases start at the same place every time, but in the procedural always-changing maps of Kohan they have their definite uses. The point of procedural content in Kohan is not 'infinite levels == infinite replayability.' The point is to make exploring part of play.
But a lot of people think that if you have procedural content you can 'eliminate the level designer', and that is true for some games but it's important to do it right.
Two of my favorite games of late, Spelunky and FTL, are both sporting some nice procedural content. The difference is Spelunky gets it right and FTL, I'm afraid, gets it not-so-right.
I've worked on a few games with procedural content myself and it's never turned out to be what I hoped it would be. FTL, in fact, reminds me a little of the much-hated mission system from Spider-Man 2. Perfect world, Spider-Man 2 would have had a system that let us create a wide variety of different encounters in the city. What it ended up being was several templates: armored car robbery, guy hanging from building, child losing their balloon - that we could easily move around and spawn in various points in the city. There weren't very many of them and very quickly a player would have seen them all. "I've got to catch the ballon, again?!" "I've got to rescue the construction worker, again?!" And, red-faced, we might say, "But, it's different this time - he's hanging from a different building! The ballon is flying up in a different environment!" But of course the player doesn't care. Looks like a duck, must be a duck.
Now, of course, FTL has many, many more different possible encounters than Spider-Man 2. (Of course, an FTL encounter is often just a bit of text and a multiple choice question - it's easier to make a lot of them.) But it still didn't take long to get to the point where I'd felt like I'd seen 'em all. (And I seem to really suck at FTL.) And FTL is still worth playing, even once you've seen all these possible encounters.
But what we're really looking for is an order-of-magnitude improvement in 'how long can you go before the player feels like they've seen it all.' Especially if it's a game like FTL, where you die all the time - dying all the time is great, if it truly feels like you're playing in a whole new world when you're reborn. But if, instead, it merely feels like 'I have to go back to the beginning' - not so much.
Back when I was still working on Spider-Man 3, we attempted to improve upon the Spider-Man 2 formula with something we called the 'Emergent Gameplay Generator.' (Cute acronym, eh? Oh, the pretension.) Here, the various criminals involved in some sort of crime would each get their own ideas what to do. One might take a civilian hostage. One might jack a car and try to get away. One might simply try to shoot you or beat you up or throw a grenade. You'd have to choose between chasing the carjacker, taking a bystander to the hospital, or simply defending yourself. Great! we thought. So much variety!
In play, though, it turned out to feel All The Same. With every crime, there'd be some combination of hostages and carjackings and hospital needs. You'd deal with whatever problem was closest and then move on to the next closest. The variety didn't combine in interesting ways to create interesting situations - and people are great pattern-recognizers. The limitless variety still fit a small number of patterns.
Enter Spelunky. Although it doesn't take long to experience all the individual elements of Spelunky - the various monsters, traps, and items - I've lost count of the number of times in Spelunky that I had to stop, take stock, and think to myself, "Now how am I going to get out of this situation?" The way Spelunky combines a wide variety of terrain and objects in various proximities truly does create a massive variety of interesting situations. The pug dog is at the bottom of a pit with arrow darts - but conveniently there's a skull right here I can throw - and look, an altar to Kali right there, what happens if I sacrifice the pug dog to her?
In fact, Spelunky has my vote for most-replayability-in-a-procedural-system. I've played a lot of roguelikes and I can't think of a one I've spent more time with. Of the roguelikes I've probably played Ancient Domains of Mystery the most but it wasn't the procedural content that kept me coming back, it was all the playable races.
(Side-note - a lot of the interest in FTL isn't the individual situations but the macro-game. You're low on fuel or you've wound up with a unique loadout on your ship that makes you play a certain way - the way your loadout combines with the repeating stock encounters often does create cool new situations. So don't get me wrong; I love FTL.)
My Total.Party.Kill (you can download it from the Games section if you're up for figuring out a truly obtuse interface) is a roguelike that creates a lot of interesting situations - it's far better at it than Spider-Man 3 but definitely not as good as Spelunky - there are simply fewer possible configurations for traps, enemies, and terrain.
It made me realize, when thinking about your procedural content system, you can think of it as an n-dimensional space of possibility. In Spelunky, on one screenful alone (nevermind one whole level), you'll have several enemies, configurations of tiles and terrain elements, and items, giving you an n^(number in the hundreds) space of possibilities. Whereas the typical FTL situation is the loadout of your ship and the loadout of the enemy ship - an n^(somewhere in the twenties?) space. Then you have to think: are these elements going to combine in interesting ways? Weapons or traps that are essentially the same but simply do different amonts of damage: not so much. Items that all have their own unique rules and code? Probably.
What could make Spelunky even better? I think back to when we used to play a lot of Slay at Treyarch. Slay had procedural content with consistent seeds, so if you played map #33 and your friend played map #33 it would be the same map. This allowed us to say, "Map #33 is really cool, really challenging but doable, give it a try." I think it would be neat to do that with Spelunky. "The level generated by seed #453 had this really cool thing in it."
I also think of my favorite screen-saver. Electric Sheep!
A lot of the 'sheep' are generated randomly, and then voted up or down by the distributed audience. It works really well. So I imagine something like a player-generated-content system, except instead of the other players curating stuff their peers make, they're curating the randomly generated stuff. The most interesting random content - those really unique situations - would rise to the top, and be the levels players typically compete on. And because it's random content instead of player-generated content, there would be a lot fewer penises. Steal this idea.
So, should I have a procedural content system like this in Energy Hook? No - I don't think so. I think a trick game in the vein of Tony Hawk, SSX, and PGR wants actual human designers to massage the levels into ideal configurations for long chains of tricks, and the infinite monkeys of procedural content would take a long time to hit upon those. But who knows - maybe, if we do a first pass at finding some awesome seeds among the random levels, we'd end up with a handful of pretty awesome ones. Or maybe I'll take Total.Party.Kill off the back burner someday.
By the way, there's a pretty interesting repository of articles on procedural content here.
What are your favorite examples of games with procedural content?
Recent Comments