Sample technical presentation document Feel free to add questions if you think that anything is being left out, also feel free to copy from documents that are posted already (for example, many of the answers in this document come from Clement’s behavior documentation and my own). What are you documenting? Behaviors Why is it important to the design of the system? Behaviors allow individual entities interact within the system. An interaction “Fitness” is calculated based on the acting entity’s “Attributes”. This “Fitness” determines the result of the behavior execution. Behaviors also have the ability to modify, create, and delete entities. How is it cool? It allows for completely dynamic entity interaction, it also allows for infinitely complex behavior chaining – this means that a move behavior under certain circumstances can trigger a move responding behavior which can trigger a defend behavior, etc. How is it used (or integrated with the system)? Behaviors can be “installed” on entities by adding them to the SendingBehaviorsTable or the ReactingBehaviorsTable. Various options can be set the behavior so that the client will know how to handle the behavior. An OptionalTag can be passed when the user tries to execute a behavior so that the behavior can exhibit different behaviors within a single class (For example, a barracks would have a BuildBehavior which takes in the unit’s xml file as an OptionalTag). Any interesting implementation details? Because entities can be affected so many ways, we needed to have 3 different kinds of behaviors. They are described below. Sending A sending behavior is the behavior that is executed to get an Entity to actually do something. A sending behavior can be something like attack, move, refuel, etc. The sending behavior is responsible for creating the initial Fitness Reacting A reacting behavior modifies the Fitness that the sending behavior creates. This is used so factors in the environment can affect the sending fitness. For example, a force field may have a DefendReacting Behavior which boosts a troops Defend Behavior fitness. Terrain also has a MoveReacting Behavior that affects any moving Entity’s speed and ability to move. Responding A responding behavior is the behavior that interacts with the sending behavior. For example, Defend is the responding counterpart to Attack. The responding behavior uses the Fitness calculation of its sending behavior counterpart and its own Fitness calculation to determine the “success” of the sending behavior. Responding behaviors can also be affected by reacting behaviors. Any use of special software? Nope. Any use of special design paradigms? OOP Any documents posted with more detail? If so, where? http://www.bandgap.cs.rice.edu/sites/comp410s05/model/Shared%20Documents/ Behaviors%20in%20Tequila.doc