Game Development Reference
Data Dictionary Application
If you are using SmartDraw to create and maintain your TFDs, you can do this literally
by highlighting the text for an event, action, or state and selecting Insert Hyperlink
from the Tools pull-down menu. Then manually browse for a text or HTML file that
contains the description of the primitive. If you use HTML files for the description,
you can also export your diagram to make your test accessible as a Web page. Do this
by selecting Publish to the Web from the File menu.
It is up to you to decide how formal your definitions should be. In small teams intimate
with the product, the TFD by itself may be sufficient if you can trust the person running
the test (Rule 2…) to remember and consistently apply all of the details of each primitive.
For large teams, especially when new people are moving in and out of the test team
during the course of the project, the data dictionary will provide more consistent and
thorough checking, as well as better adherence to the intent of the test. You may also
want to keep TFD use informal in early development stages until the development
team better understands how they really want the game to behave. Once the game sta-
bilizes, capture that information in the data dictionary.
Data Dictionary Reuse
The data dictionary can also be an important tool for reusing your TFDs for different
games or game elements. For example, the Ammo TFD in Figure 11.13 refers abstractly
to “Gun�? and “Ammo.�? Most games involving weapons provide multiple types of
weapons and ammo that is specific for each. You could cover this by making copies of
the TFD for each of the different weapon types, changing the event, action, and state
names to match. An alternative is to keep a generic TFD and then apply different data
dictionaries to interpret the TFD specifically for each weapon and ammo type.
An example for Unreal Tournament would be to use a single TFD but have different
data dictionaries for the various weapon/ammo pairs such as Flak Cannon/Flak
Shells, Rocket Launcher/Rocket Pack, Shock Rifle/Shock Core, and so on. Each data
dictionary could elaborate on the different audio, visual, and damage effects associat-
ed with each pair.
Data Dictionary Example
Build the data dictionary by defining each of the elements in the diagram. The “do�?
items (events) are written normally. The “check�? items (actions and states) should be
written in list form with a leading dash to visually separate them from the “do�? items.
You can also use an empty box character ( ) that can be checked off as the test is run.
This is good for providing a physical record of what the tester saw.