Series Info...Engines of Creation #24:

An Introduction to World Building

by Dave Rickey

9 And God said, "Let the water under the sky be gathered to one place, and let dry ground appear." And it was so. 10 God called the dry ground "land," and the gathered waters he called "seas." And God saw that it was good.
11 Then God said, "Let the land produce vegetation: seed-bearing plants and trees on the land that bear fruit with seed in it, according to their various kinds." And it was so. 12 The land produced vegetation: plants bearing seed according to their kinds and trees bearing fruit with seed in it according to their kinds. And God saw that it was good.

Genesis: 1; 9-12

One day a group of scientists got together and decided that man had come a long way and no longer needed God. So they picked one scientist to go and tell Him that they were done with Him.
The scientist walked up to God and said, "God, we've decided that we no longer need you. We're to the point that we can clone people and do many miraculous things, so why don't you just go on and get lost?"
God listened very patiently and kindly to the man. After the scientist was done talking, God said, "Very well, how about this? Let's say we have a man-making contest." To which the scientist replied, "Okay, great!"
But, God added, "Now, we're going to do this just like I did back in the old days with Adam."
The scientist said, "Sure, no problem" and bent down and grabbed himself a handful of dirt.
God looked at him and said, "No, no, no. You go get your own dirt."

I've fallen into something of a rut, complaining about how the industry is making the same mistakes in the same ways (both the mistakes and my complaints), and it's time to break that pattern and talk about some of the ways it is moving forward.

One of those ways is in the sheer scale of the worlds. In scaled units, all of UO's original gameworld amounted to about 2 square miles. EQ's original world was about 7 miles2. Asheron's Call exceeded 500 miles2, but much of that was effectively empty (in apparent reaction to this, AC2 was 25 miles2). Dark Age of Camelot's original map was 54 miles2, Star Wars Galaxies had 8 planets of 100 miles2 each, City of Heroes was roughly 50 miles2, and Horizons a mind-boggling 15,000 square miles.

Obviously size isn't everything. Most of AC's 500 and Horizon's 15000 square miles of space is bland, uninteresting, and populated randomly (and often sparsely) with monsters that are obviously there for no particular reason except to be there. This space serves little gameplay purpose except to separate more interesting locations. The majority of the world doesn't feel like a world, but more like an empty stage, forgotten by the cast and ignored by the audience.

The issue of world size is tied together with the problem of world building, and more specifically with world populating. It is comparatively simple to create the terrain for a world of arbitrary size, and with the onward march of Moore's Law it is becoming feasible to run the hundreds of thousands of NPC's it would take to fill such a world. But these aren't just worlds, they are games, and if the game is to be interesting then the things that fill it need to be as well. This creates a tension between quantity and quality of content. Purely algorithmic methods of world building can fill worlds of arbitrary size, but tend to have uninteresting, bland results. Purely hand-built worlds are more interesting and engaging, but highly labor intensive (World of Warcraft is rumored to have spent most of its $25M budget on just that). The road forward is largely a matter of improving the tools to automate as much of the process as feasible while still maintaining that spark of creativity that comes from human effort. This tension goes back to the roots of MMO games in MUD's, and is thrown into sharp relief in the modern games where payroll for artists and world builders represents the bulk of development costs.

Ultima Online was originally a highly procedural world, with the plan of being based on a virtual ecology system where content would be created by emergent systems. The theory was that as the player's interacted with the world, they would create interesting situations that they would then have to resolve (players kill the wolves, which increases the sheep population, which attracts dragons, and so on). There were three basic problems with this:

  • Too many top predators. The world was originally planned around a peak player population of 300, when the game went live 5 times this number of people were online at peak. These players spread across the world in a wave of destruction, depopulating the world of wolves, sheep, dragons, and anything else that could be killed.
  • Instability. Ecologies are not stable, in fact they are in a constant state of flux and dynamic equilibrium. Any virtual ecology operating by realistic principles would be easily destroyed by the actions of players, even in comparatively small numbers.
  • Too much CPU. If your ecology is operating by strict simulation rules, with large scale results emerging from the interactions of events at the single creature level, then you're simulating an awful lot of things that no-one is actually there to see. If the tree falls in the forest and no-one is there to hear it, you still need to have everything nearby react to the sound.
Seven years ago simulating an ecology in silico was poorly understood. Now it's a routine exercise in academic circles, and quite a lot is known about how to make a robust ecology. However, a true virtual ecology would probably be a poor way to supply players with interesting content, since the extinction cycles of any vaguely realistic ecology are anathema to the needs of a game, which must always be able to provide the players with an enjoyable playing experience. And it's probably impractical to strictly simulate an ecology of the size and complexity required for any real stability.

EverQuest was built with different principles, every monster and NPC in EQ was placed by hand, every encounter tweaked to work with the built-in creature AI in very precise ways. Literally man-years of time were expended defining creatures, setting loot tables, and setting up spawns. This approach showed certain disadvantages of its own:

  • Fragility. To create an encounter, dozens of different data fields had to be set very precisely, and if any of them were set incorrectly the entire encounter could be ruined in a variety of ways (too hard, too easy, too much or little reward, and so on).
  • Monotony. The same creatures would consistently appear at the same exact points and after the same exact number of minutes.
  • Low efficiency. It took dozens of manhours to populate an EQ zone with a couple of hundred spawns. This makes world population the bottleneck in world building.
The big advantage of this approach was predictability and reliability. It took a lot of manhours to create content, but you could predict and budget for those manhours.

Asheron's Call used almost purely algorithmic methods. Terrain was created by painting heightfields and defining climate, and these would determine creatures that would appear in a given area. This allowed large amounts of terrain to be populated, filling the vast majority of AC's 500 square miles. Dungeons were also assembled from random blocks being fitted together, which allowed hundreds of them to be built. The drawbacks of this approach were:

  • Uniformity. Large swaths of the world, dozens of square miles in a chunk, would be uniformly filled with randomly scattered and nearly identical monsters of a single type.
  • Irrelevance. With such a large world, most of it uninteresting, it was necessary to increase running speeds to outrageous levels and make teleporting a standard skill of all characters in order to bypass most of the world.
  • Unreliability. Because creatures were placed randomly, sometimes they were randomly placed in patterns that created fights much tougher than the players were really prepared to cope with.
Algorithmic approaches to world population can fill a lot of terrain in a hurry, but the results are only as complex and varied as the algorithm allows.

These three approaches to world-building each has their own advantages and disadvantages, and each used in exclusion for a game will imprint those onto the resulting world. The manual approach has had the best results to date, but it has a problem with scaling. Once the tools have been improved as much as feasible, the only way to build a larger world is to hire more world builders and have them spend more time. After 5 years EQ has $20M or more invested in content, as does DAoC, and the upcoming World of Warcraft has made a similar investment. Either budgets will have to continue to climb towards the $100M mark (probably not an option in the next decade), other methods will be explored, or each game type is going to become the unassailable turf of two or three established games, with an entrance cost too high to be practical.

The best example of the potential of the algorithmic approach is in City of Heroes. In CoH, the world zones are subdivided into sections that are assigned difficulty levels. Within those sections, areas are defined as having certain properties (Rooftop, parking lot, warehouse, etc.). Enemies of various kinds are assigned to an area, and are populated into the world at run time according to their affinity to that area. The real innovation of the CoH approach is that these enemies do not appear as lonely, randomly placed singletons, but rather come in packages that have an apparent purpose. A street gang spawn can be a "Mugging", "Vandalism", "Burglary", and so on, and will include victims spawned for the purpose. This can lead to some oddities (like a bunch of thugs trying to break into a bus stop), but overall it does a good job of giving verisimilitude to the encounters.

In the next few columns, I'm going to describe a method of world building that takes from all three approaches in a way that hopefully conserves the strengths of each while allowing them to cover each other's weaknesses.

[ <— #23: The Root of All Evil ]

Recent Discussions on Engines of Creation: