It is important though to use common sense when implementing Domination Theory. Once you start to add in level geometry, you are adding another layer of complexity to your designs that will call for revising some of your rules.
In this example, Figure 16, I have used the spawn exclusion system to spread spawn locations in an asymmetric environment. One thing to note is that spawn point 3 has been intentionally moved further away from spawns 1 and 2.
The reason for this is due to the fact that spawns 1 and 2 have fewer approach vectors -- i.e. the player can see any oncoming enemy in their view frustum upon spawn. Spawn point 3, on the other hand, has a wide arc of approach vectors which the player cannot possibly cover within the same view frustum, hence the need to compensate by moving it further away from the other spawn points.
You can apply this same spawn exclusion system to other pickups -- the more powerful the pickup, the larger the spawn exclusion should be. As mentioned earlier though, level geometry and other factors such as pickups and the player's ability to move within the game space will necessitate the use of more sophisticated analytical tools -- namely Spanning Trees and Steiner Points.
Using Graphing Theory to Understand Player Choice and Strategy
All game levels provide some type of spatial problem-solving puzzle. These puzzles take a number of forms, but one type of puzzle which can be improved via the application of graphing theory are puzzles relating to optimum movement strategies seen in all well-designed deathmatch style maps.
Players thrive on choice; however, too much choice can be just as bad as too little choice. Further to this, players take great pride in achieving victories via the execution of "good" strategic choices. So far we have used graphing theory to examine the construction of play spaces; however, graphing theory is especially useful when we examine our level designs with human cunning and strategy as our primary concern. The principles of Steiner trees, spanning trees, and maximum and minimum cutting are integral to understanding these human factors.
Figure 17 is an example of a hypothetical level. Each node, designated A-H, represents a different type of play space, and each edge represents how many different ways a player can move from space to space. Note that each edge does not represent a corridor, but rather the player's options. The length of the edge is short or long based on how complex that particular route is -- i.e., the longer an edge, the more time it should take to use that option. In the case of Figure 17, each space (node) has between three to five different options for the player to consider when exploring the space. The graph also communicates how the player needs to move through spaces in order to traverse the map.
Spanning trees can be used to define the most optimal connection of nodes in a graph. This tool can also be useful when we are trying to understand player behavior in a map and look for aspects of the design that may be unfair or unbalanced. We can use spanning trees such as those seen in Figure 18 to help disperse item pickups, define spawn points, and place level geometry to help counteract any significantly overpowered (OP) movement strategies that might emerge in a PvP map.
Although mapping out specific permutations of the optimal movement strategy for a level is a good way to start defining your play spaces, it is essential that we give further consideration for players' desire to exercise cunning and emergence. A good example of this point is considering the pride that people (not just players) take in identifying shortcuts. A shortcut is a set of strategic choices that sit outside of the norm. Players will look for opportunities like this in any game environment and their discovery and exploitation of this can be very satisfying on an emotional level. A great way of planning for an understanding this behavior comes from the theory of Steiner trees.
A Steiner tree is a type of spatial problem that looks for the shortest interconnection between a number of nodes. The example that Raph Koster gives in his "Games are Math" presentation is a good way to understand the application of Steiner trees in games. In his presentation, Koster states "If you have three nodes and you need to create the shortest possible route between them, what is the shortest amount of edges required?" Koster states that most people will answer something similar to Figure 19.
The answer to this problem is slightly more devious, as it requires adding another node in the puzzle -- a Steiner point. Via introducing the Steiner point in Figure 20, we have created the most optimal solution to this puzzle. Steiner points and the edges that they create can be treated just like any other type of graph. In the context of games, we can use weighted and directed edges to help define how a Steiner point might be a height element of a map or may be another one-way gate, like a teleporter or jump pad.
A Steiner Point is a shortcut. It is that element of a level's design that players will seek out in order to exploit. The secret for level designers is to make the Steiner points in your map seem less obvious than the spanning tree routes. Borderlands is a good example of this. Within the maps, spanning tree paths are clearly defined and for the most part, appear as clearly defined paths and gantries.
Steiner points exist within the game in the form of height elements which allow the player to skip large sections of the spanning trees by jumping down to certain parts of the map, therefore avoiding large path traversal. Krom's Canyon in Borderlands is just one example where the player can jump down from raised platforms to quickly move to another point in the map, therefore creating a Steiner point (see Figure 21).
Figure 22 (taken from Krom's Canyon above) is an example of how spanning trees and Steiner points work from a level design perspective. In this example, in order for the player to get from node A to node F, they must enact a spanning tree solution. This relationship is represented in the level design by a set of gradually ascending platforms which are interconnected via bridges. A number of bonus items are implemented in this section of the map via Steiner points.
In Figure 23, two Steiner points have been added. Although there are actually several other Steiner points in this spatial molecule, these nodes are pickups placed on high platforms, only accessible from the nodes above them. As such, not only are these considered to be Steiner points as they offer the player a shortcut, but they are important points of interest for the player that allow them to explore the environment as a spatial puzzle.
Figure 24 expands this particular section of play into an even more defined molecule and adds two other major Steiner nodes that show how the player can traverse the space when they are either ascending or descending.
Now that we have taken a look at how Steiner points operate from a spatial puzzle perspective, lets revisit our spanning tree molecule originally introduced in Figure 17. If we applied Steiner points to link nodes in close proximity, then we would have something similar to what is seen in Figure 25.
These Steiner nodes could take many forms. They could be teleporters, actual level geometry, or even height elements that allow for faster path traversal. Figure 25 shows how many Steiner points we could possibly have in this spatial design. According to Koster, too many Steiner points are bad for human players, because you have provided so much opportunity; there really isn't much scope to exercise what I like to call "skillful strategy." Basically, there is no pleasure to be derived from creating shortcuts in this environment because there are so many of them.