A second application of test trees is used to reflect actual tree structures of features that are implemented by the game. Dawn of War has such structures for the tech trees of each race. These trees define the dependency rules for which units, vehicles, structures, and abilities can be generated. For example, before the Eldars can produce Howling Banshee units, they must first construct an Aspect Portal and upgrade the structure with the Howling Banshee Aspect Stone. Other units can be produced immediately, such as the Rangers. These trees can be quite complex, with dependencies between multiple structures, upgrades, and research items. Test these trees by following the various possible paths to successfully construct each item. Figure 13.3 shows the Aspect Portal tech tree for the Eldar race.
Another example of this type of tree is the job trees defined for each of the character races in Final Fantasy Tactics Advance (FFTA). Characters must develop a certain number of skills at one or more jobs before new job choices and their corresponding skills become available. For these kinds of trees think of the string of lights on a Christmas tree ‚ the ones that won't light up if any of the individual lights is faulty. In this case, the job won't become available if any of the preconditions is not met. You find the faulty light by replacing each one until the string lights up again. Likewise, there should be a set of tests for this tree that leaves out each precondition one at a time, plus a test where they are all satisfied.
The new settings and behaviors should be checked each step along the way. In addition to checking that the job is available at the end of the tree, also check that it does not become available prematurely before all of the necessary conditions have been met.
Most of the FFTA job paths are straightforward. The Blue Mage and Illusionist jobs are not available until you require your character to learn abilities from two other jobs ‚ White Mage and Black Mage. These job trees for Human characters are shown in Figure 13.4.
Define the tree feature tests for a particular job by providing the test values for each of the nodes along the tree branches. Tables 13.1 and 13.2 show the test case you should end up with for the trees in Figure 13.4.
White Mage Abilities | Black Mage Abilities | Blue Mage Available |
---|---|---|
| 1 | NO |
1 |
| NO |
1 | 1 | YES |
White Mage Abilities | Black Mage Abilities | Illusionist Available |
---|---|---|
2 | 5 | NO |
3 | 4 | NO |
3 | 5 | YES |
Many other feature trees exist within games . Here is a list of other places you might find them:
Technology trees
Advancing jobs, careers, or skills
Progressing through tournaments
Game option menu structures
Adding or upgrading spells, abilities, or superpowers
Increasing complexity and types of skills needed to craft or cook items
Earning new ranks, titles, trophies, or medals
Unlocking codes, upgrades, or powerups
Unlocking new maps, environments, or race courses
Unlocking better cars , outfits, or opponents
One situation that is especially interesting to test is when different menu trees or tree paths can affect the same value, ability, or game element. Such values should be set and checked by all of the possible means (paths) provided by the game. For example, the Dawn of War Game Options that are set in Skirmish mode also become the values used in Multiplayer, LAN, Online, or Direct Host mode.