ABSTRACT

To assist in the demonstration of the components that comprise a behavior tree it is first useful to see how such a tree might be structured. The concept of a behavior is the most essential part of a behavior trees. The easiest way to think of a behavior from a programming perspective is an abstract interface that can be activated, run, and deactivated. At the leaf nodes of the tree, actions and conditions provide specific implementations of this interface. In a behavior tree, the leaf nodes have the responsibility of accessing information from the world and making changes to the world. Leaf behaviors that make such changes are called Actions. Branches with multiple children in a behavior tree are called composite behaviors. This follows the composite pattern in software engineering, which specifies how objects can be assembled together into collections to build complexity.