Working with Behaviors
Behaviors are one of the most important aspects of DART. If you have ever used a traditional video-based simulator, you know that a scenario is strictly limited to actions that have been pre-recorded. This limits interactivity, random events, and much of the value that could be realized from repeated training.
Behaviors, as implemented in the DART simulator, are only possible with an interactive 3D system and will allow you to create situations that are more realistic and unpredictable. And because they can be truly random, courses can be different each time they are run.
Understanding Triggers and Actions
Behaviors are made of triggers and actions, which work together to make things happen automatically. A trigger is like a starting point that sets off an action. An action is a specific task that gets completed automatically in response to a trigger.
Think of it like this: when you turn on a light switch (trigger), it sends a signal to the light bulb (action) to turn on. Without the trigger, the light bulb wouldn't know to turn on. Without the action, nothing would happen even if the trigger was there.
Triggers and actions can be used in many ways. For example, you could set a trigger to cause a target to fall when hit. The trigger would detect the hit and send a signal to the action, which would rotate the target 90 degrees. Or, you could set up a trigger to end a stage once a certain score is reached. The trigger would detect the qualifying score and send a signal to the action, which would advance the course to the next stage.
If that were all behaviors did they would be pretty amazing, but DART MAX includes two capabilities that make them exponentially more useful; randomness and stacking.
Behaviors are Random
Legacy simulators suffered from predictability. If nothing about a course ever changes, it becomes easy to anticipate what will happen next and respond based on memory and not what is happening in front of you. Adding randomness to behaviors eliminates this concern.
Let’s look at a simple example of a random behavior using a trigger called Any Shot. This checks for shots fired by a trainee whether they hit an object or not. In this example, the Low Shot Counter and High Shot Counter are both set to 2. This means that as soon as a second shot is fired, the associated action(s) would take place.
What do you think would happen if we changed the value of the High Shot Count to 10?
In this case, the trigger will occur at a random point between the 2nd and 10th shots. Even the designer of the course cannot know exactly when the trigger will occur, making it impossible for the trainee to react based on how the course may have played out previously.
Behaviors are Stackable
Another thing that makes behaviors exceptionally powerful is the ability to group them together. This allows an object (such as a target or human character) to check for multiple triggers or execute multiple actions from a single trigger. In the example below, a single trigger causes this character to execute three actions; stop any movement, hold up his hands, and say the phrase “I give up! Don’t shoot!”.
Wrapping Up
Behaviors are like building blocks; they’re easy to use and with a little practice you’ll be able to build amazing courseware that would be impossible on any other system.
Let’s practice using behaviors with a basic example.