Tales of the Rampant Coyote

Adventures in Indie Gaming!

Procedural Everything

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.

Frontier_elite2_screenshotThen 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.

daggerfall_screenieBut 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

  • Xenovore said,

    You missed one: Terraria.

    . . . I’ve often felt the dungeons of the Diablo series were pretty boring. They were just scenery that you blow through.

    Gonna hafta disagree with you on this one; Diablo’s dungeon randomization scratches the exploration itch just fine. (And “just scenery that you blow though” quite describes most modern console games rather than Diablo.)

    I think games – mainstream and especially indie – are going to be more and more dependent upon procedural content as time goes by.

    Agreed. We keep wanting more and more detailed worlds, particularly in MMOs, and there’s just no way developers can keep up without using procedural content.

    The key though, is to have decent AI behind the procedural generation, to keep the content as non-repetitive and interesting as possible; and more importantly, keep the content from feeling generated. We’re starting to see some progress towards that in some MMOs like Rift, Guild Wars 2, and Everquest Next (if we’re to believe the hype), with their dynamic events.

    In particular, Everquest Next has some exciting potential with their voxel-based tech (think Minecraft without the coarseness). Theoretically every piece of the world — from buildings down to the smallest pebble — can be modified on the fly, but it remains to be seen how far they take it.

    And speaking of L4D, I think the AI Director there does a very good job of doling out dynamic content. I think that’s something that would work great in other FPS games, and definitely in RPGs.

  • Infinitron said,

    “One area I would not have really expected it is in adventure game puzzles.”

    Indy’s Desktop Adventures?

  • Maklak said,

    I guess I’m a fan of procedural / randomised content. I like Dwarf Fortress to, except for the tedious micro-management and the interface forcing me to press too many buttons.

    One other place I saw random content was Anarchy Online randomized missions. Most MMOs just have quests, while AO relied on Diablo-style levels, different for every mission. And in 3D. What it lacked, was multi-level random content. The room layout was different (and usually made no sense) each time, but the amount of rooms was finite. I think the furniture in the rooms should be randomised as well, for even more variety.

    Oh and you might want to look up Shamus Young. He wrote this, among a few other things and worships John Carmack as his personal hero: http://www.youtube.com/watch?v=-d2-PtK4F6Y

  • WhineAboutGames said,

    I think I’ve mentioned before that LLTQ’s backstory started off through a procedural design tool. With the nature of the interlocking relationships I was trying to build up, I felt it would be better done (and more interestingly done) by a random process than by hand-crafting everything, where I might be tempted to fall too often into familiar patterns of family relationships.

    I would not have intentionally designed some of the screwed-up things that happened in that backstory.

    Of course, I still did some tweaking to the results and then fleshed out the characters who were born from it.

  • Nachtfischer said,

    A single-player game has to haver some kind of random generation to constantly provide you with interesting decisions. Imagine a “fixed world roguelike”: It would come down to being a puzzle you have to solve, putting in the right moves at the right time. There would be no uncertainty long-term.