|
Early iterations of the grey box demonstrated a fundamental flaw in the design. Although play was becoming intensified as it reached the center of the map, a secondary mechanic was emerging; players became aware that it was possible to farm the outer ring of the map and rack up numerous spawn kills. As a result of testing, edges [corridors] 1 and 2 were raised to create one-way gates, allowing them to feed players into the map but not allowing players already within the map to access the spawn points. The elevated corridors were re-conceptualized in the physical space as maintenance shafts, as can be seen below in Figure 33.
 Figure 33
The placement of pickups also benefited from the molecule design approach and followed a similar symmetrical layout to the level geometry. Although the use of symmetrical molecules creates an easy workflow for designing the map, too much symmetry is often boring and even confusing for players.
To address this issue, asymmetry was used to create navigation landmarks for the players as well rooms that highlighted different types of weapons and game mechanics. Differences in each room's layout served two purposes: to aid with player navigation and to create "perceived" advantages to each room. Perceived unfairness suggests no matter how fair or balanced a system is, players will be drawn to elements of the game that they believe are broken, even if they are not.
In essence, each room in the second ring contained a different type of spatial molecule. The molecules differed by varying choke points and cover elements. The result of this can be seen in the comparison between Figure 34 and Figure 35; both are rooms in the second ring and both offer different types of play experience within them.
 Figure 34
After further iteration and testing, it was found that players were entering the primary room more than the second ring / medium rooms, but not at the expected proportion. The intensity of the play experience needed to be very high in the center room and there simply was not enough player traffic to achieve the desired experience. Of course, this could have been addressed with revising the space to make it smaller, however as much of the level art had already gone into production, it became necessary to look at alternative option.
To amplify this experience, a second ring of player spawn points where created on the mezzanine floor of the secondary ring. The walking distance to the center room from the upper spawns was shorter than the ground floor and therefore encouraged far more traffic to the central room and as such created the desired effect.
 Figure 35
The two stacked spawns in Figure 36 did not have the same spawn-to-engagement times to the mid rooms. In other words, the edges above were not equal to those below when they should have been. By changing the position of the spawns in line with the revised molecule design, time to engagement was negligible when compared with the existing spawn points.
 Figure 36
Symmetrical molecules create fair distribution of stairs and elevators in the map; however, the actual design of each of these three elevators is varied intentionally (Figure 37). The rationale for this approach was to highlight the psychology of perceived unfairness. Via testing, it was shown that most players thought that the stairs near their spawn point gave them the advantage, and that this advantage was not used against them. Asymmetry was also used in the design of stairs themselves, again this served two functions: to assist with navigation and vary the play experience in the medium rooms.
 Figure 37
Another strategy that was used for balancing was not in the graphing theory itself, but highlights how graphing theory can help read player behavior. A Kismet script was created where every three minutes the game would compare the number of players that have passed through each of the six medium rooms and determine which one had the least traffic. The room with the least activity would then spawn a trigger.
When pressed by a player, this trigger would vent every other player into space, killing them and scoring multiple kills for the instigator. (Figure 38 is a view from above the map, and the last thing a player would see before dying.) This encourages "heat" where there is least, therefore creating a dynamic balancing system through mechanics rather than the static graphing. When presented with this scenario, players are given a choice to exercise Steiner point solutions to resolve the spatial problem -- what is the shortest route to the target.
 Figure 38
Once the script had identified the room with the least traffic, all players in the map receive both an auditory and a console announcement letting them know which medium room the trigger is available in. Depending on the player's current location, they are presented with two main choices. They can use the risky, but shortest path through the center OR they can navigate the longer, but safer path through the medium rooms, avoiding the central conflict area.
By doing so, we have created two different strategies for players; they can use the middle room as a Steiner node or use the outer rooms as a spanning tree solution (Figure 39). These strategic options play to a player's sense of accomplishment. The player feels a sense of pride, as they feel they are outwitting the rest by taking a shortcut to the proper room. Level assets used to populate the various rooms also served to reduce the total amount of possible Steiner points, creating higher intrinsic value for finding one of the limited solutions.
 Figure 39
The final published map went through eight major revisions, resulting in updates to either the grey box or the molecules themselves to achieve the final product. Underpinning each revision was a revised molecule concept that would then be converted into a grey box. As such, each revision had clear objectives and goals and the final product benefited greatly from this, as time was extremely limited.
Conclusion
People like Dan Cook and Chris Crawford look at how people's motivation to play games stems from our need to learn and prove these new gained skills. Raph Koster takes this notion further by being even more specific; people are pattern-finding machines and we take pleasure from games when we identify patterns and pre-empt them. It therefore stands to reason that using the pattern-based approach of molecule design to define play spaces immediately plays to this desire.
There is one main consideration to keep in mind; the player doesn't perceive the game as a planar map; they sense it from their own camera frustum. As such, the scale and "identifiability" of the molecules you want to implement is very much limited by how much of the game world the player can perceive at any one point in the game.
Too often designers create labyrinth type maps, which -- although being easily understand from a planar perspective -- are absolutely impossible to traverse when viewed through the limited perspective of the player. As such, molecules and the patterns that they create need not necessarily be complex in order for them to be "fun" for the player.
Instead, well designed game spaces tend to have a number of nested molecules, rather than a molecule that defines the space as a whole. The practical example created by Nassib Azar is relatively simple from a graphing perspective, however the amount of molecule permutations created by the dynamic game elements create a diverse, yet manageable set of strategies for the players to explore.
It is important to point out the use of graphing theory to conceptualize and analyze game spaces is not a new idea, but rather one that has been discussed in various forms by different authors. The original inspiration for this research came from Raph Koster and his Games are Math presentation, and I would recommend Koster's work to anyone interested in rational approaches to design. Joris Dormans also has a few informative articles that deal with how graphing theory can be a powerful tool for level designers. Dormans' Adventures in Level Design and Level Design as Model Transformation [pdf links] are excellent and display the malleability of this toolset.
|
A valuable perspective to have in the tool bag. Thank you. :cheers:
As a note on further research, there is a good case to be made for the idea that a given dominion space can have a formal, quantifiable difficulty rating assigned to it based on metrics and completion rates -- in fact, multiple axes of analysis could give playstyle differentiators as well. With that, you could at a minimum get a good way to assess your levels' difficulty, and given sufficient data and some AI programming, even in theory build agents that can tell you that same info without needing to spend playtesters on it.
I am fairly sure some of those ideas, as well as some of those in the article, were presented by Andrew McLennan at GDC a few years ago.
I have been taking an interest in some of the 3D engineering applications and how they are used to model and analyze thermal dynamics; specifically things like exhaust flow and heat distributions.
I would really like to try and see if game levels can be analyzed in the same way, basically simulating what would happen under "normal" conditions and leaving the play testers for the emergent stuff :)
I'll be sure to write a follow-up to this if when I figure out how to do this!
I'm not sure if they are aware of it, but the development of Portal 2 heavily depended on the type of level design you are working with here. Specifically, they created individual levels with the idea that certain areas would be linked (either physically or just visually). The advantage they gained by designing
They then used portals to link the areas together. The final step in the level design was to stitch the various pieces together, add bridging geometry where appropriate and remove the portals.
I'm currently working on a project for which I've taken a similar level design strategy as what you mention here. That is, using directed graphs that represent the moment to moment player experience (and not just the level geometry). We too are working in UDK and I've found extensive use of the UTPortal class for this purpose. The directed graphs have been helpful to estimate player performance within a setting thus defining a good baseline for some of the goals and game balance issues well before testing has begun.
Finally, this method lends itself to a fractal-like expansion fairly readily. That is, since each of your nodes is representative of a player experience, it follows that the entire graph is representative of a larger player experience. Those larger player experiences can then, just as easily, be linked in a directed graph. If you were really clever, you could then force a certain consistency to the experience of your game by having the large experience graph be similar to the smaller experience graph which in turn is similar to an instantaneous experience graph. I recently did a study of Cyan's "Myst" along these lines which I would be happy to share with you if you are interested in doing some follow up to this.
This is way too long a response, but you hit upon a combination of subjects I'm intensely interested in. :)
In regards to the math - accessibility of these models was really high on my agenda. Plus, I rely on Jesse Schell's 10th rule of what game designers need to know about math and probability :)
What you mention in regards to your UDK project sounds really interesting. One of my students (http://www.gamenbrain.com/) who used this model created a recursive space death match map. What I really like about it is for all intensive purposes it is a single, arena space. But as you mentioned, the portal class in UDK allows this space to be much, much more.
I'll add more of a reply when I get a chance to use a real keyboard!
This sort of goes in with what you were saying about the edge lengths earlier in the paper which confused me earlier. That is, normally in graph theory we don't care too much about edge lengths, however in computational geometry we do. (More properly, computational geometry falls into computer science, but we are being interdisciplinary here so I'll step a little bit out of my comfort zone.) If the length of an edge represents something like the difficulty of an area in the level setting up a graph this way will help balance the experience. A graph that obeys the Delaunay condition will have a property that all of its triangles will tend towards equilateral (it maximizes the minimum angle of the triangles and the maximum value the smallest angle can have is 60 degrees, which only happens in the equilateral case) and so avoid stretched triangles. Avoiding stretched triangles minimizes long edges, which in turn minimizes inequity in paths through a level. If an area of the game is too hard and optional, players will quickly learn to avoid that area unless you make it worth the time. (For instance, speed runners of Super Metroid always avoid Spore Spawn because killing it takes a long time and it gives a useless reward. So that miniboss would be represented by a long edge and a fairly unattractive node if we were to create a graph of Super Metroid.) That said, there is nothing to prevent a good designer from breaking this rule and creating a truly grueling set of paths if the game design allows for it. (Example there could be the purely optional Red Knight in the first level of Demon's Souls.)
As I'm sure you know because you grouped them, calculating a Voronoi diagram is functionally similar to confirming that a graph obeys Delaunay. That is, connect the centers of the circumcircles you drew and then, where necessary, bisect the outer edge of the triangle (much easier to explain with a drawing). Now, the only thing that springs to mind about how a Voronoi diagram would be useful for level design would be it would start to inform you where level geometry might need to go to restrict player movement and more clearly define the zones of play from your Half-Life 2 example. You can see that Valve did this to an extent by using bridges, tunnels, curved roads and water giving you your figure 12 from figure 11. That said, this feels a little more like something you'd end up doing to fix problems with the pacing of the map after the fact.
I'd be interested to hear more about how you use Voronoi diagrams in level design. I really don't understand it at a deep enough level to do anything great with it.
In regards to games which do this well in 2D space one comes immediately to mind however I haven't played it in about 10 years so I might be remembering it to be better than it was! The game is Another World. It was a really slow paced platformer with rotoscoped animations. The game makes good use of the space by not using scrolling. Instead, each section of the level is represented in a new window. The game space is classified as "Adjacent spaces displayed one room at a time" (Mark Wolf - The Medium of the Video Game).
What is cool about Another world is that each screen is not a node, but rather contains several spatial nodes. For instance, you might be in one screen with two levels, but there is no way to get to the other level in the screen you are currently in. This means that you will need to go to other screens and figure out the spatial relationships for your self. The game play is largely based around this concept, especially in the later levels.
Raymond is also on the money. According to Koster, humans are pattern recognition monsters! We get great pleasure from discovering patterns and using them to preempt risk & reward scenarios. This is why I really like the molecule approach because it immediately lends itself to this human desire.
But I have one little problem with the AOEs and their possible overlap in figs. 10+. The AOE you defined to represent "intensity of play". Meaning, the bigger the circle, the more intense the challenge. But this means that, when you combine it with a physical map like in the HF2 maps, the overlap of AOE doesn't mean anything. The radius of the circle is a measure of play intensity, while the distance between the circles is a measure of physical distance. You can just draw smaller circles without changing their meaning, because you can anyway only compare the AOEs with each other, but not with the edges.
Of course, if you use the AOE (as you probably did here) to show the actual, physical areas of activity (maybe that would be a good name for it: AOA), then your method works.
I hope I made myself clear :)
The article did make me think about the problem of procedurally generated combat maps though and my initial notion involves pitting AI driven teams against each other on a variety of maps generated for their atmosphere and credibility - i.e. the algorithm's sole concern is the creation of, say, multiple war-torn Beirut-style maps. Due to the inevitable asymmetry to these (as a bunch of ruined streets wouldn't happen to have convenient reflectional symmetry for the purposes of deathmatch balance), you would have to limit your battles to Attrition, Bomb, Conquest, Duel, or Espionage with one team being the attackers and the other attempting to hold onto their defensive position. The game profiler could adjust the equipment, armament, transportation and number of players independently for each team in order to rebalance the game if the defenders used their "hill" (or somesuch topographical, or topological, advantage to their strategic advantage), it could make the attackers more numerous, or allow for fewer 'tickets' on the defenders side, or none: letting them get permanently eliminated by only giving them one life, whilst the attackers drew on a substantial pool of respawn tickets, Alamo style, some of which could be taken by deceased defenders who were tired of being neutral observers.
Another, perhaps more pragmatic course is to leverage User Generated Content, something which has already proven itself with the Halo 3 Forge and over seven million maps made for Little Big Planet.