GSoC/GCI Archive
Google Summer of Code 2009 Portland State University

Behavior Tree Library and Testbench for AI Programming

by Nisarg Kothari for Portland State University

I will write a thoroughly documented library for behavior trees, with usage examples. Behavior trees are a method of programming AI by creating a directed acyclic graph (DAG) where branch nodes evaluate the current condition of the agent and make decisions, and leaf nodes represent the action that was decided upon. This is a flexible, scalable, and modular system for implementing many different types of behavior. Behavior trees were used to write the Halo 2 AI, where they were successfully used to manage on the order of 50 behaviors per character.