HOME   ABOUT   BLOG   ESSAYS   LINKS   GAMES   SERVICES   TUTORIALS 
Third Helix is now Kickbomb Entertainment! Please visit kickbomb.us for all future updates.

GDC 2010: ESKIL LOVES PROCEDURES

14 Mar 2010

Eskil Steenberg has made a name for himself developing LOVE, the impressionist, procedurally-generated indie MMO that releases to the public later this month.

Steenberg opened the session with a brief history of procedural content generation: games like Rescue on Fractalus, Populous, and Elite *all generated content in-game, in real-time, and largely on-demand, as a way of working around the fact that they had so little RAM and disk space available for storing content. He related an amusing, illustrative anecdote about *Populous: that game also provided an expansion mission disk, which shipped over 1.5 million copies worldwide. The sole contents of the disk: a new random number seed. :D

He briefly showed a few screens from an indie game "like 10 people have seen". He said the game is "awesomely cool", explaining that it's essentially *The Legend of Zelda *reverse-engineered and wrapped in a procedural generation system. The screenshots contained the actual art from the original NES game recontextualized into new, randomly-generated worlds that still conform to the game's rules about regions, labyrinths, shops, monsters and items, and so on. It's *The Legend of Zelda *where every time you start a new game you play through a whole new interpretation of Hyrule. I think I agree: it does look "awesomely cool". ;)

Then Steenberg threw us a curveball. "I think this is a dead end," he said. "Procedural generation doesn't really solve the problems that we have in the game industry today."

He explained that procedural generation techniques were developed as a workaround for severe memory limitations, limits we don't have today. Today's games are expensive to make because of assets, so procedural generation has shifted from a gameplay system to a tools system.

He noted that both EVE Online *and *Far Cry 2 *have used procedural generation in this way, for things like asteroids or grass. But those assets aren't being generated in-game, they're being generated offline with dedicated tools, then touched up by artists before being imported into the game like any other static asset. "The problem with artists," he said, "is that they want to do *everything. They want to sit and tinker with everything forever. You need to really have great artists to be able to implement a pipeline that has procedural generation."

He touched upon a comparison between film and games: the assertion that filmmakers start creating their film, while game developers must first create their camera. He argued that "creating the camera" *does *sometimes happen in film: Kubrick, Coppola, Lucas, and James Cameron have all experimented with, tweaked, and changed fundamental tools of their medium.

Then he brought up a GDC 2009 talk about Volition's approach to dynamic destruction in Red Faction: Guerilla, in which they asserted that we now have the technology to make fully-destructible worlds. Steenberg posed a question to us: what about Super Mario Bros.? That game was from the 80s, and much of the world was destructible. He didn't seem to buy Volition's argument that the industry has only just now achieved this technology.

Of course, we all know those are two very different situations: *Super Mario Bros. *was a 2D game with a tile-based world, deterministic destruction, and only the most rudimentary physics. Steenberg argued that the problem today isn't about making destruction work, it's about making destructible things look good.

He used the Super Mario Bros. *example in part to make the point that limitations are key, that they can in fact enable seemingly unachievable game features. He brought up *Doom *and the way that game's limitations enabled a robust mod scene to develop. By contrast, he said, "The mod scene today is kind of going away because the games have gotten so damn complicated to make assets for." He talked briefly about how his own game, *LOVE, is fundamentally a block-based world, and that that limitation is critical to his ability to procedurally generate it with any degree of coherence and playability.

By this point, Steenberg walked the audience all the way around the world and back to the starting point: put the procedural generation back into the game engine. Only this time, instead of using it to circumvent memory limitations, he indicated we should use it to "figure out the content while the player is playing". It's much cheaper, in theory, but of course there are risks as well. "Yes, it's a stupid idea," he admitted, "because it's hard as hell. And the reason it's hard as hell is that you don't get to fix anything. There's no margin for error."

He went into some of the difficulties of in-game procedural generation: coming up with the right sets of rules and filters so that you end up with a playable, even desirable result. "How do you make sure that the world is consistent?" he asked. "You can't, because the world is so damn complex. So what you start doing instead, is to build engines that are opportunistic."

An opportunistic system, he explained, is one that doesn't try to plan and build the whole world in advance, but rather waits until the player requests a piece of content and then generates for him some content that's relevant to his game state. He used a metaphor of locks and keys: the game might generate a locked door, but it doesn't need to generate the key at that time. It just needs to remember -- or be able to find again later -- that a locked door exists. At some point in the future the player might open a chest, the contents of which are unknown to the game until that moment. The game would generate the contents of the chest on-demand, and because a locked door exists, there would be a chance it would generate a key. (That's very much my interpretation of Steenberg's explanation, but that, in a nutshell, describes an opportunistic system.)

He insisted that you have to be okay, from a design perspective, with the results of randomness. You have to build a system that has no requirements for consistency, and you have to "trust chaos".

Steenberg is clearly fully convinced these methods work, and he makes convincing arguments. We'll all get a chance to test his theories when *LOVE *releases later this month.

Posted In:

game-design gdc video-games