Game Development Reference
Game players have tendencies and patterns of use that can be incorporated into game
tests for the purpose of testing the game the way players play the game. The point of
doing that is to find and remove the bugs that would show up when the game is played
in those ways. If you are successful, those players will not find any bugs in your game.
That's good for them and good for you.
When you sell millions of copies of your game, “rare�? situations can happen a num-
ber of times over the life of a title. Tests based on inverted usage profiles can empha-
size and expose those rare defects in your game.
1. What type of player are you? If you do not match any of the types listed in
this chapter, give your type a name and describe it. Now think of someone
else you know and find their player type. Describe a scenario where you
would expect you and your friend to play the game differently. How are the
game functions, features, and elements used differently by your two styles?
2. Identify and list each pair of values that is missing from the Cleanroom
combinatorial table in Figure 12.14. Explain why they are not necessary and
why they may not even be desirable in this application.
3. Is it possible to have the same exact test case appear more than once in a
Cleanroom test set? Explain.
4. Create a set of tables with the inverted Casual profile usage probabilities for
each of the HALO Advanced Settings parameters.
5. Generate six Cleanroom combinatorial tests from the inverted usage tables
you produced in Exercise 4. Use the same random number set that was used
to generate the combinatorial tests shown in Figure 12.14. Compare the
new tests to the original ones.
6. Modify the TFD from Figure 12.16 to incorporate the inverted usages in
Figure 12.28. Round the usage values to the nearest whole percentage.
Make sure the total probabilities of the flows exiting each state add up to
100. If not, adjust your rounded values accordingly.
7. Generate a path for the TFD you produced in Exercise 6. List the flows,
actions, and states along your path using the same format shown earlier in
this chapter. Compare the new path to the original one.