Experienced Points

Experienced Points
The Future is Procedural

Shamus Young | 21 Aug 2009 21:00
Experienced Points - RSS 2.0

FUEL is a racing game from team Asobo, published by Codemasters. (Codemasters also released racing titles DIRT and GRID. They're an okay publisher, but someone need to tell them to lay off the CAPS LOCK.) The hook with FUEL is that the gameworld is procedurally generated. I've done some procedural design myself (example) and I'm really excited to see procedural techniques making their way into mainstream games. Up until recently, only indies and experimental projects like .kkrieger used procedural content. Spore is the other major title to give procedural content a go, but a lot of people looked at that stuff and couldn't picture how it could be used to make anything besides more Spore. I think FUEL solidifies the idea that procedural content can be used in existing genres of games, and that it will become more important as game content becomes increasingly expensive to produce.

The world of FUEL is massive. This is the first game I've ever played where you could sit down an have an honest-to-goodness "Sunday drive". You can jump in a car, start driving, explore back-roads, highways, and interstates, and not have to worry about bumping into artificial walls or going in circles. The game is so big that nobody, not even the creators, is going to be able to see the whole thing.

"Procedurally generated" simply means that the gameworld is built on the fly as you drive around. Note that some people conflate the idea of "procedural" with "random," and while it's true that you can make random areas using procedural techniques, it doesn't have to be. (The world of Diablo was procedurally generated by linking together pre-determined sections to form the overall map.) The content generation in FUEL is entirely deterministic. Any given area is the same each time you visit, but the land was not built by an artist sculpting every individual hill and valley. The geometry of Blacktrial Pass and The White Flats doesn't exist until you go there. Nobody sat down and placed all of the millions of trees. Nobody said "let's put a road right here." It's all (or mostly) made according to algorithms and preset rules. There are a smattering of hand-made courses and buildings added to the world to serve as set pieces and landmarks, and the rest comes from the Asobo gameworld-o-matic. It gives you the benefit of having handmade courses, but without needing to stick the course inside of a playpen to keep the user in.

But what if the game wasn't procedurally generated? Let's imagine someone tried to make the game the old-fashioned way. What would it look like?

The box claims that the world is ~14,000km2. This means the world is a square region 118.32km on a side. I'm betting that's the playable area, and that the actual world is 128km on a side. (Just because 128 is a power of 2, a very natural number for programmers to end up using.) The extra 10km is no doubt the buffer zone around the edge, so that you aren't looking into the void when you hit the boundary of the world. (Yes, there is a boundary. It's just that in this game you probably won't bump into it unless you're trying to.)

Once in a while you can see a little "spike" in the terrain geometry - a single point anomalously raised above its neighbors. These are rare, hard to spot, and usually covered by foliage, but in my hours with the game I've managed to spot a couple. They look like a tiny little pyramid of dirt, and are the result of some trivial bug somewhere in the terrain generation. It wouldn't be worth mentioning, but these little spikes give us a clue as to how detailed the terrain is. Comparing the size of these triangles to the size of the player's vehicle seems to suggest that the terrain is built at one-meter resolution. (Team Asobo is based in France, so it's a safe guess they're using meters and not anything screwy like "yards" or "cubits" or somesuch.) An elevation point every meter means the gameworld has 128,000 elevation points to a side, which means the whole world is a grid with (drumroll) 16,384,000,000 total points. 16 billion and change.

Comments on