ABSTRACT

Behavior trees have been growing steadily in popularity, and for good reason. Put simply, they offer a very pragmatic approach to making decisions. As it applies to game artificial intelligence behavior, utility theory is simply the process of measuring the relative suitability of a particular action. To make good decisions, need to quantify how worthwhile an option is rather than make a determination on validity alone. The behavior tree structure lends itself well to extensibility. After all, it’s nothing more than a tree traversal where the nodes themselves are responsible for and are able to customize the expansion of the tree. The tree already features a component for selecting which branches are taken during execution, namely the selector. The utility selector simply queries its children for their utility values. Typically only leaf behaviors will conduct utility calculations, but the utility selector’s children may be of any node type, including composite nodes or even another utility selector.