The infinite novelty engine

Dwarf Fortress Story

From Bronzemurder

Entertainment generally, and therefore games specifically, create a lot of their enjoyment through surprise and novelty. Rewatching a movie is usually less exciting than seeing the first time round as your memory is busy ruining the surprises for you. There isn’t much the movie makers can do about this, the film is what it is – you can bundle some special features on the DVD but if you want to recapture the magic of the first watch you generally have to just watch a different movie or get some kind of invasive brain surgery. Bad luck movies (and books); but what about games?

Games are often designed so that the same content can be repeatedly played – they can substitute for the lack of new things to see by introducing unpredictable elements like other human players. Team Fortress 2 is a great example, the arrangement of polygons and physics shapes on the map ‘2fort’ hasn’t changed in years but it can still provide new experiences or at the very least a chaotic new arrangement of old satisfying experiences. However, even with a timeless map like ‘2fort’ one can eventually tire of its rhythms; the possibility space is only so large and the human players are only unpredictable to a certain level taken en-masse. In the end players also want new maps.

Thus even in multi-player games, the demand for new content is near infinite and the capable creators of it in short supply. This is an especially acute situation if you are an indie game developer; the number of creators of new content for your games may be very small indeed. So the arrived upon solution is procedural generation, content generally obeys a set of rules which can be identified, codified and iterated until we have a machine that can generate new content for us quickly and tirelessly. It’s like the industrial revolution all over again, a future containing out of work artists and level designers but satisfied consumers – problem solved.

Or is it? Even with procedurally generated content we see players identifying patterns enormously quickly. The rules are quickly pinned down, the wizard behind the curtain identified and the glorious future of infinite novelties lies in tatters before it had even begun. The same problem occurs with the game mechanics, the content might be randomised but the rules of the game itself remain static – there are infinite corridors but you can only walk down them one way.

So, astute readers are now thinking, what we need to do is procedurally generate the rules themselves; the content generation rules and the game rules too. Tear open the possibility space so wide that a player can be continuously surprised every time they play. For each player and each game session it would be like playing a brand new game each time. Of course this time we’d put the designers themselves out of jobs, and probably ruin the entire industry as new game sales collapsed and what we are studiously ignoring is the enormously impossible scale of the task itself.

So if it’s so impossible, why consider it at all? Simply, because it is, in some respects, the ideal form of a game. Its something to reach towards, grab a sliver of, and continually fail to achieve in glorious style. When you play Zelda and you get a new dungeon item that suddenly allows you to lift previously immovable boulders you are seeing the merest glimpse of this platonic game form. When you play Deus Ex you see the power of even a moderately opened possibility space. I wonder when we will see the first, truly indistinguishable from hand-crafted, procedural story? Dwarf Fortress is already steadily progressing down that path, prompting some players to fill in the remaining gaps.

Anyway, enough rambling speculating and theorising. On Free Company I’m just beginning the first round of a test-to-changes-to-test iteration cycle on the tactical battle gameplay with some testing assistance from my ever helpful brother. Almost all the gameplay systems are still in flux right now, I have the roughest idea of how I want it to feel but I’m trying not to get attached to any particular systematic specifics for fear they’ll impede producing something that’s fun. I’ll post more details on the results of this process once I have them.


2 responses to “The infinite novelty engine

  • Ole Christian Tvedt

    I don’t think we will see anything indistinguishable from the hand crafted equivalent in my lifetime. I love the way my Dwarf Fortress plays become stories of their own, but there will always be a very distinct randomness to them. A randomness that we don’t find in hand crafted stories. In the latter ones, events are supposed to happen, and they unfold in a linear way (instead of growing like a shrubbery). We normally want our stories to be focused, to have a point.

    Of course we could emulate that too, in theory, but game developers wouldn’t disappear just because of that. I would be the first to welcome our new procedurally generated overlords, but I wouldn’t stop being creative because of it. That is why we will always have designers, artist and others making games. To me, the making of the game is the important part (though I’m looking forward to seeing what others make of it).

    I would love to see someone come up with procedural generation of game mechanics, but I wouldn’t expect the first few tries to be particularly successful.

  • Dan Lawrence

    I agree, its an incredibly hard problem, essentially to emulate human creativity. I doubt we’ll see anything like it for years but I’m always hoping to be surprised. There are rules for everything, even story telling and where rules exist computers can be gradually taught them. An experimental game from a few years back called Facade, that I thought about mentioning in the main post, pokes in this general direction. The main story is not completely procedural but it does adapt to the players natural language input typed on the keyboard.

Inscribe your comments

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: