Game Development: Book resources for users interested in more in-depth world generation discussion.

I think every book kind of covers world generation in an off-handed manner. There are very few books actually focused on the process of world generation alone. By world generation, I don't just mean the creation of terrain, and I'm instead talking about the population of the final world space with objects that the user can interact with. Terrain is sometimes part of the process (Tribes), but only comprises a portion of world generation.

Normally this manifests in games where space is of the primary concern. The layout of space is fixed (aka empty and unimportant) while the units that define a location in space are important, the actual space isn't really all that important. World generation comes into play with the dynamic and/or static creation of planets, trade routes, goods and services, random enemy encounters, and the rest of the automatically generated content that changes every time you might play the game.

We are also focused on automatic generation here and not static generation. Games like Halo, Fable, and the other big guys, don't leave room for error. They have someone hand-design each of the levels. At times they use automatic procedures to get a hint at what a level is going to look like, but they most often drastically modify this hint into the final product.

The game Elite was capable of generating enough data dynamically to consume the memory of today's machines, but was able to run in a much smaller working set (32K ;-). These guys really used world creation algorithms to generate something from nothing, when they really had nothing to start from but the most minimalistic code. That is all that would fit on the tape drives and even then you wanted your game to be up and running without waiting hours to be loaded into memory.

The first resource for this type of examination is a really poor example and I don't recommend it for all but the most complete game programming book collectors. Infinite Game Universe: Mathematical Techniques (Advances in Computer Graphics and Game Development) starts out slow, reads slow, ends slow, and doesn't provide nearly the information that you'd think it should. The latest reviews on Amazon are ultra poor. At $35 discounted price it is a buy only if you are interested in several historic techniques and not necessarily the latest techniques for automatic world creation. Also note that there may not be any latest and greatest techniques for world generation, and instead most groups use either a pure math or brute force approach. Both are possible on today's machines.

Sadly enough I got to right here, swearing I had at least two more resources on my shelf. You know what? That isn't the cast. That is the only resource fully dedicated to more than a single aspect of world building. Since that is the case, I'll go ahead and plug a great terrain generation book Real-Time 3D Terrain Engines Using C++ and DirectX 9 (Game Development Series). This is definitely a meaty book. All of the code is in C++, but easily translated into C#. In fact if enough people pull my leg I'll drop a source zip somewhere of nearly the entire book translated over into C#. I'm not sure of the legality of such practices, so I'll actually format an appropriate email to Greg and the publisher before I go and do something that might get me in trouble.

Ah ha, I knew I'd find another resource, but again, mainly terrain based (which is probably why it took me so long to find)... It was also in an AI book, AI Game Programming Wisdom 2, making it that much more difficult to just pull off of a shelf. One article (7.4) details the process involved in creating the random maps in Empire Earth. There is actually some good world building knowledge there, even though you are just creating a 2D map... Further, article 7.6 details the process of creating walls. Now, as done during part of a strategy you might not consider this world generation, but if done before-hand you would. I'm inclined to say this is definitely world-generation even if it is a run-time modification.

That is what I have for you. In terms of managed resources, we released the Terrarium world building code at some point, but I can't seem to find where we did that exactly. Most of the information is for mapping a world, specifically a height field, back to a 2 dimensional display. We originally did Isometric tiles, but the latest version run using larger square tiles. .Netterpillar appears to have some world generation code and I'll gladly provide a link to any discussion of that particular code if David tosses it online and maybe shows off a few enhancements? I think that would be extremely awesome.

Published Wednesday, October 13, 2004 2:57 AM by Justin Rogers

Comments

Wednesday, October 13, 2004 8:40 AM by dotnet developer

# re: Game Development: Book resources for users interested in more in-depth world generation discussion.

Publish those c# samples for "Real-Time 3D Terrain Engines Using C++ and DirectX 9 (Game Development Series)" and I'll buy the book for sure!
Wednesday, October 13, 2004 8:49 AM by Justin Rogers

# re: Game Development: Book resources for users interested in more in-depth world generation discussion.

Haha. I see how it works ;-) Yeah, I figured that might be the case. The audience would widen with a version in Managed DirectX and C#... I'll send off an email sometime tomorrow and see if I can't track down Mr Snook or his tech editor. I'll also see if they want to put some Managed DirectX based Terrain code in the next version of Game Programming Gems. I had mentioned something a while back and they got excited, but I think they locked down the articles for the next version of the book already.

Leave a Comment

(required) 
(required) 
(optional)
(required)