Monday, March 4, 2013

Breadth and Depth in World Design

Let's say you've taken leave of your senses and have decided to create a computer game. More particularly, let's say this game you've decided to make will have as its setting a particular place in which things exist.

Congratulations! You've just decided to build a world.


Building a world means imagining and implementing stuff. The "stuff" of a new world consists of places, and of objects set within those places.

Having decided to create a computer game that exists as a world, you now get to decide what kind of world will best suit the sort of game you want to make.

If you want your newly-created world to emphasize action, you'll want most of the objects in your world to express rule-based behaviors like movement and damage status. You'll also want to provide ways for players to manipulate those behaviors, since having "verbs" that allow players to (usually destructively) manipulate objects is what allows them to feel active.

If you want your world to emphasize meaning, then you'll need to make some of your stuff look and (to some extent) act like people, or at least be artifacts created by people and imbued with emotional value. The appearance and characteristics of all places and objects should help to express their inner meanings.

If you want your world to emphasize interaction and problem-solving, then some of the stuff in the world will need to appear to have complex dynamic behaviors. These behaviors can emerge from simple internal behavioral rules, but they need to interact enough to create systems that have patterns but that can't be summed up in a wiki entry by the first person to encounter it.

These goals aren't mutually exclusive. You can have a game that emphasizes action and interaction (Minecraft), or meaning and interaction (Myst), or action and meaning (The Sims). It's even possible to build a world that provides all three of these modes of play. The Elder Scrolls V: Skyrim is arguably a decent current example of this.

The pertinent thing about such multi-modal worlds is that they tend to be BIG. Big worlds are large places, and they are full of stuff... or as game developers like to call it, "content." How you choose to structure the content that defines the world of your game is the point of this article.


Most game developers choose to organize a big world either by breadth or by depth.

Breadth is about making a world whose navigable terrain is large relative to the player's character and that contains many objects. Open-world games such as Skyrim and Minecraft tend to feel like enormous places overflowing with objects.

A gameworld built for breadth will offer wide expanses of terrain and numerous "inside" locations with their own terrain. And all that terrain and all those interiors will have objects located on and in them (grass, rocks, plants, animals, furniture, tools, weapons, people, etc.). As a side effect of having to build large amounts of stuff, that stuff will mostly exist either as a static texture map (you can see it but you can't do anything with it), or as a usable item with a single, simple, predetermined effect.

Depth is about making a world whose places and objects have many details. Deep games don't have as many places or objects as in a broad game. But the places that are built are carefully constructed to feel lived-in like a family home in a Spielberg movie. And the pieces of stuff in these places will be tagged with highly relevant information, usually called "lore." The objects in a deep game will also typically be richly dynamic -- they'll have several "verbs," or different but plausible ways for players to interact with them as gameplay activities.

What most developers don't try to do is make a game that has both breadth and depth. They don't try to make a big world that's both very large (in spatial size and object count) and very detailed.

There's nothing that forces this as a design choice. But historically there have been two serious practical constraints: time and money.

Trying to make a big world that contains a lot of content is hard. Trying to make a big world that contains very detailed content is hard. Trying to do both (the thinking goes) doubles or trebles the required development time and money. So most developers of big worlds pick one structural approach and try to do it well.


Making either of these choices means a tradeoff.

Games that do breadth well -- they have physically large worlds filled with stuff -- are often critized as "shallow." Games that do depth well -- their places and objects are intricate and filled with meaning -- are criticized as inducing claustrophobia by not enabling the feeling of rapid and frequent motion.

Bethesda's post-Morrowind console-focused games (Oblivion, Fallout 3, Skyrim) are known for their breadth. The traversable area of these worlds is enormous compared to the linear environments of most games. But this size means they're often condemned as being shallow. The action and meaning and interaction are almost entirely surface-only -- what you can see is pretty much all there is.

In a couple of ways, that's an unfair criticism. Developers of games that use Bethesda's engine do try to include some depth in their games, in addition to the massive amount of broad content that needs to be created to fill the outdoor spaces and interiors. Objects in rooms, for example, are frequently selected and arranged to tell a kind of micro-story about the person whose place that was. Terminals and books abound, giving some emotional depth to the world through tiny stories.

Also, while it's true that these are exceptions to simply having lots of stuff, the need to fit a very broad gameworld into the constraints of a console imposes limits on depth. It's simply not possible, even if there were time and money enough to do so, to tag every object with information and to allow every object to be usable in multiple ways. Consoles enforce simplicity, which favors zone-loading breadth over information-dense depth. (Obsidian's Project Eternity and Chris Roberts's Star Citizen are two Kickstarted games that are meant to be both big and developed specifically for the PC. It will be interesting to see whether the removal of the console limits allows these games to be both broad and deep.)

Those defenses noted, the reality is that there just aren't many games that do depth well, even as the design emphasis.


Adventure games used to try for depth. Things in adventure games had stories, and behaviors, that you could discover if you took the time to click on them. Exploring this depth was often a necessity, in fact. The depth was built into the core game design; you could not win the game (without cheats) except by reading and interacting with the details of the world.

But this structural choice -- gameplay through investigating a small but information-rich space -- means less sensation of movement. There is vastly less of a kinesthetic sensation of energetic action in a deep game. Most of the "motion" is in one's mind. Designing that kind of game takes a very different kind of effort than designing a broad but shallow world.

Sometimes this led to simply clicking on pretty pictures, as in Myst. Later adventure games were dismissed as "hunt the pixel games" when they tried to make interaction with objects more of a gameplay activity requiring a physical challenge, rather than following a path toward greater exploratory or narrative depth.

In addition to feeling constrictive for gamers whose main playstyle interest is motion and activity, the work curve in deep games feels more like a sequence of high stairsteps. Every new place that is created in a deep game needs to be constructed with numerous very detailed and active objects. These objects must work on their own, they must contribute to the intended purpose of that particular space, and they have to support the theme of the overall world of the game. That's not a mechanical function that someone can be trained to do -- you need someone who can feel, and who is creative, and who can combine those talents to make moments that other people can feel. So adding even a single new space becomes a major undertaking in a deep game.

Compared to the generally smooth slope of the work to be done for a game with breadth, with many similar objects scattered over a large area, development of deep content is simply harder to produce.


The practical result of these structural effects is that big worlds tend to be broad (but shallow) because breadth is easier.

A small but deep world, by its nature, requires hand-crafting. When there are only a few places and only a few things in those places, every place and every thing will be seen and assessed on its merits. For the game to feel right, designers and storytellers need to carefully stage all the visible pieces.

A broad world can be filled with content using programmatic tools, then given a relatively simpler hand-crafting pass or two. Large swaths of terrain can be sculpted using terrain generation tools; vegetation can be "planted" automatically according to exposed terrain type; buildings and dungeons can be selected from a few pre-built models; and so on. There's still a lot to do, but the broad strokes on the canvas can be filled in by code that applies generative rules.

Another important reason why breadth is easier is that depth is about meaning. Programatically "planting" a tree object in a particular location in an open-world game might have some meaning if someone takes the time to go into that space and tweak the location and type of the tree to give it meaning in that place.

But it's just a tree -- just a nice-looking texture. And there are many thousands of such nice-looking objects to be placed in addition to all the other objects that need to be placed... and trying to give all such things emotional value takes time that just doesn't exist. (And let's be honest, the number of people who enjoy and are good at choosing and placing gameworld objects in ways that express meaning to gamers is probably extremely small.)

It's simply faster and easier to make a big space with lots of things in it that don't have any particular emotional content.


Not everyone has given up on depth as a viable structural option in games, however.

Richard Cobbett recently made a plea for more depth in a Eurogamer article, Saturday Soapbox: Hollow Worlds - Looking for "Look At". In this piece, he laments what today's games miss by not including the "Look At" feature. This ability to learn more about the details of places and objects was once common in text-based and point-and-click adventure games. But games increasingly emphasized action and excitement and motion. As they did, the very idea of stopping the action to learn more about the nature of the things in the gameworld became harder even to imagine.

Assuming it's implemented in any serious way, designing a look-at capability into a game creates the opportunity for more depth than is found in most of today's games. Games with exploratory and narrative depth are worth making. It will be interesting to see if anyone takes up Cobbett's challenge.

Another example of wishing for games that emphasize depth is the "One City Block" concept, as evangelized occasionally by Warren Spector. This is a game that is deliberately designed to limit the existing space of motion in the gameworld to just a single block of a city. In place of constant action and new sights, the variety and interest in a One City Block game would be found in the people and objects existing in this small patch of reality and the deep connections among them.

A potential example of this kind of design may be found in Gone Home, currently being developed by the small team that created the "Minerva's Den" DLC for BioShock 2. As in the best of the mature adventure games, Gone Home promises to reward players not for using physical dexterity to "beat" the game as quickly as possible (which is a perfectly valid playstyle satisfied by many current games), but for engaging with the deep world of the game at an emotional and intellectual level. This doesn't guarantee it will be a good game -- but it will be a different game than most of what's released today, and a deeper game, and that makes it worth watching.


Finally, is it possible to have both breadth and depth in a single game? Are there any work-organizing processes and technical capabilities by which a gameworld could be created within some reasonable time frame (say a year or two) that is both large and detailed?

One step in a positive direction is procedural content generation (PCG). To have both breadth and depth, developers need help with one of those two forms of content so that they have time to focus on the other. Since it's so much harder to define rules for meaning-filled (depth) content compared to expansive (breadth) content, having lots of both would seem to depend on creating tools that generate lots of good content.

Really large (broad) games already do this. Huge chunks of land can be generated randomly to an arbitrary level of complexity. This can be done by the developers, then hand-tweaked, in order to create a world (such as Skyrim) that is common to all players. Or it can be done dynamically, as in Minecraft -- this approach restricts placement of large, detailed structures, but it requires less data storage if world details are generated only when the player actually approaches that part of the world.

Random generation of fixed content can help greatly with providing a large amount of physical terrain. Once the first and second passes through the terrain generator are done, developers can then edit this base structure to individually adjust the look of key locations. They can then add objects (many, many objects) for yet more breadth of content. Finally, they can tag objects with meaningful deep content.

This is basically how Bethesda creates its Elder Scrolls and Fallout open-world games. Bethesda come as close as anyone to the ideal of a game that is both broad and deep... but in an ironic twist, it is the very breadth of these games that points out the shallowness of the characters and objects relative to how many of them there are. If these games were considerably smaller, the many small details of object placement and NPC behaviors would be better recognized and appreciated.

The downside to this method for trying to have both breadth and depth is that it's still almost as expensive as making a big, deep game purely by hand. Although random terrain generation helps, it's not really enough to reduce the number of people needed to hand-tweak the thousands of places and objects and actors.

Games that dynamically generate content have it even worse. While this approach makes it possible to enjoy spaces that are very large and that have lots of naturalistic "stuff" in them (rocks, trees, etc.), not generating content until the player is ready to experience it makes it impossible for the developer to hand-edit that content to add depth.


Handling both of these cases seems to drive at one question: is it possible to programmatically create depth?

Programmatically creating breadth is valuable. The more breadth that can be added using automatic systems, the more time is available for adding depth.

But the degree of difficulty is lower for breadth-creation rules. That's not to say it's easy; it's just easier to define rules that determine where and how to plop down places and objects (including people-shaped objects) than it is to imagine and apply the contextually-plausible information that gives those places and things and people emotional value.

As a general rule, anything to do with simulating people and people-related artifacts is hard. Automatically generating a forest is (relatively) easy; it's terrain and plants. There are even third-party tools like SpeedTree that help with this. If you're feeling energetic, you might add animals as well, whose impact on their environment is generally negligible. You can tweak those content elements for aesthetic or simulationist value, but it's still reasonably simple to generate lots of them according to predetermined and encoded rules.

Add people, though, and now you have the task of creatively imagining and representing the effects of human intentions and actions -- for example: roads (what kind? how should they run?), buildings (architectural style? size? purpose? proximity to other buildings? clean or filthy?), tools (what kinds of tools would different cultures use? where should they be placed outside or in a home? does the owner take care of them? does the owner have special feelings toward any of these objects?), and of course people themselves (who are they? what do they want? how do they feel about other characters? what actions are they capable of taking? what actions do they take given specific environmental phenomena?).

In a very broad game, adding people-related depth is an epic undertaking. When you have a cast of thousands, what are the rules that will let all those people behave like unique but still plausible individuals? An army of developers could hand-tweak each NPC, but that's expensive... and what if you want your game to add new characters over the course of play?

Some developers are working with the physical aspect of supplying meaningful depth to human-related content. Miguel Cepero, for example, is already doing some very interesting work with procedural generation of architecture. I expect commenters can provide plenty of examples of other efforts along these lines.

And the good folks at Storybricks are still working on ways to allow interactive emotional connections and behaviors to be dynamically generated among NPCs. This remains very much a work in progress, but it's one of the steps in the direction of games that can be both broad and deep.

For now, though, the problem remains: how do you encode the creativity and aesthetics of game developers as generative rules so that the people and things in a game can dynamically produce their own depth?


I may come back to this in a future blog post. For now... suggestions and ruminations are welcome.

1 comment:

  1. OK so let's consider a program that still creates procedurally generated environments, but instead of trying to scale to infinity, are decidedly finite. Still large of course, but like a planet, with a definite and pre-determined size. This would allow the program to fully pre-generate terrain by continent/region, distribute resources and create ecosystems accordingly, divvy up the land by generating countries/cultures/trade-routes, and even simulate history by generating a cycle of human activity up to various technological levels based on availability of resources & tempered by cultural types as neighbors (imagine the program simulating a few hundred years of "civilization" style turns). Then overlay a dynamic "priority-based" need/desire AI that affects how the NPC's interact with the players and each other... viola!

    The "Breadth" in this case is almost automatic, and even without the civilization element could have considerable depth if the ecosystems and landscapes were of quality design, and this alone might be ideal for those that just like to explore strange new worlds.

    However, the "Depth" would grow significantly as variety, subtlety and scope were implemented into each of the elements; with enough sophistication many of these elements could be procedurally generated as well allowing greater ability to create believable and interesting worlds.

    The "priority-based" AI would allow the NPC's to react dynamically based on what was happening around them at any given time, each according to their particular set of "personality/motivation" modifiers (a simple example of this would be something like breathing, not typically a distinctive priority, but as soon as you start choking or drowning, it climbs to the top of the list pretty quickly). With enough development in this area, the game could cater to players who prefer a more combative or political style game, as the NPC would be able to react accordingly.

    Being able to overlay different themes into the simulation such as high fantasy, military campaign, High-tech/sci-fi, ect, would add additional levels of complexity and replayability for those interested in exploring those themes.

    Now I know it's a lot easier to write it out than actually create such software, but I believe that as we move away from pre-sculpted game worlds into the realm of procedurally generated ones, this is how we will maintain depth. And as we continue the progression from procedurally generated worlds into full-on particle based ones we will eventually be able to create worlds and universes that not only meet or exceed our own real universe, but are also made in our image and to our specifications.