Posted by Rampant Coyote on October 23, 2013
I have a love-hate relationship with procedurally generated content.
One of the very first CRPGs I ever played was Telengard, by Daniel Lawrence. This was one of those formative experiences with procedural content. In effect, this gargantuan dungeon that would have consumed several megabytes with traditional storage was packed into a 64k computer (really 48k of usable RAM) because it was all generated procedurally. Not randomly (although the events were random) – the dungeon layout was exactly the same for every player. In effect, the X, Y, and Z coordinate of every room was passed through a filter of equations to spit out a semi-unique collection of properties. I knew this because most of the code was written in BASIC, and I spent almost as much time examining the code (and making a few modifications to it, when I felt like it…) as I did playing it.
Then there was Frontier (AKA Elite 2). Again, a giant – and I mean GIANT – procedurally created universe. Same principles. This game included some hard-coded star systems as well to augment or replace procedural data, so our own solar system matched reality, as far as the system could take it. Again – it wasn’t random, as the layout was the same for everybody. Another brilliant (and for me, addictive) non-random procedurally generated world with some hard-coded content was The Elder Scrolls: Daggerfall (and I think Arena, though I haven’t played it). Likewise, events and monsters and shop contents were often generated randomly, but the basic (HUGE!) world was the same for everybody. Daggerfall and Frontier also enjoyed procedurally generated missions. After a while, the MAD LIBS style patterns of the missions became pretty boring, but they were fun up until that point.
Roguelikes – I started playing them around 1992, and here we had randomly generated procedural content, so the world was different every time you played. I was always staggered by the sheer complexity of the kind of content in one of the bigger games, like Nethack (and now, Dwarf Fortress – mind-bogglingly awesome!).
And of course, today we have indie success stories using procedural content like Spelunky and Minecraft.
On more mainstream fronts, many strategy games use some level of randomization to generate worlds. Civilization is an obvious one that comes to mind. While it isn’t deep procedural world-building on the order of Minecraft or Dwarf Fortress, it still serves to keep the game relatively fresh and interesting even after dozens of playthroughs.
By contrast, I’ve often felt the dungeons of the Diablo series were pretty boring. They were just scenery that you blow through. For replayability, the randomized layout was certainly necessary, but all they really do is keep you guessing as to where the next staircase or teleporter might be. The exciting part, of course, is in the random loot generation. The loot is what matters, and games of the type have generally done an awesome job of it. Once again, they mixed in some nice, hand-crafted content with the random stuff, which keeps things even more interesting. But the level design is largely meaningless to me as a player.
That’s the problem with procedural content. Done well, it can hide its formulaic nature for a while. But eventually, even the best procedural content feels mechanically stamped-out… because it is. But when done poorly, it looks and feels utterly meaningless. It’s an infinite supply of boring filler. There’s an art and science to making good procedural content, and I think it works best when mixed with carefully hand-crafted content.
Daniel Cooke summarized a lot of the pros and cons of procedural content a few years ago in an article, “Content is Bad.” It’s an excellent read, and covers a lot of territory. I re-stumbled over this article last week, and still find it a pretty excellent overview of why the technique is awesome for indies (and where it might be not-so-awesome).
There are some really weird, interesting ways in which procedural content is getting adopted (or pressed into service) today. One area I would not have really expected it is in adventure game puzzles. Taken at face value, it just seems like it would generate a lot of nonsense that a real game designer would have to either change or generate lots of content to give it some semblance of sanity. I haven’t played the games yet that use this generator, I was just intrigued by a paper exploring the possibility -Procedural Generation of Narrative Puzzles in Adventure Games: The Puzzle-Dice System
Pondering this, it occurs to me that there are really two approaches to procedural content – runtime vs. design-time. Run-time procedural content means the computer generates the content for the end-user directly, using whatever formulas and building blocks the developers have plugged into the system. For highly replayable games, with a new randomized world every time you play, this is the way a game must go.
But then there’s design-time procedural generation. In this case, the computer generates a “rough draft” of the content during development, to be modified and enhanced by developers before the game ships. This is kind of an evolution of the approach used in Frontier and Daggerfall. In practice, the procedurally generated content really should be pretty close to the final product, or you lose most of your efficiency that you’d get from having the computer do the up-front grunt work. This is useful in any game where really big worlds are desired -
In both cases, the procedurally generated content can be augmented by hand-generated elements. Again – the unique items and special boss lair tiles of Diablo come to mind, as well as the nearest solar systems being forced to match the real universe in Frontier.
It can go the other way around, too – procedural content can augment hand-generated content pretty easily, and to some degree always has. We’ve always had games with certain random or context-triggered content that helps keep things interesting – whether it was the little UFO appearing in Space Invaders, or random loot appearing in containers in Neverwinter Nights, or enemy groups that scale to your level in … probably far too many RPGs. The AI “director” in the Left 4 Dead series is a pretty successful example.
The trick here is that procedural content is not a ‘cheap replacement’ for carefully hand-crafted content. Up until a point, it’ll actually cost significantly more to develop than the equivalent hand-crafted custom content. What procedural content gives you is ease of re-use. It scales better. It also gives the programmers something creative and fun to do…
I think games – mainstream and especially indie – are going to be more and more dependent upon procedural content as time goes by. If nothing else, it can be useful for fleshing out little details in the game to make things interesting, so that things don’t have that overwhelmingly canned, pre-scripted feel, or to fill in unimportant but interesting details. As a guy who tends to fall in love with more “simulationist” worlds, I love the idea of a world being at least partially built by the actors with whom I am interacting in-game, particularly when they interact with the world in a way that seems clever and unexpected.
Filed Under: Design - Comments: 5 Comments to Read