Behavior Tree Editor for State Machines and Sequences

Behavior Trees:

One of the primary goals of game AI is finding a simple and scalable solution for editing logic. Finite state machines have the advantage of being quite simple, but for large systems you’ll need a hierarchical FSM to provide reusable transitions between states.
Such HFSMs are certainly a popular way for making scalable logic. However, they do not provide any modularity for states; you can’t reuse states to provide logic for different goals or situations without rewiring them. Behavior trees (BT) on the other hand take a different approach…

Behavior Trees in V3D

Behavior Trees in V3D are at early stage of development, but the main functionality is already implemented. There is possibility to create simple behavior trees and to establish them to entities on scene.

The editor of behavior trees looks like:

Existing behavior trees are located in asset library:

Behavior trees give the chance to work on a low level and to use the embedded scripts. But later, when the library of BT elements will be expanded, the need to use scripts to be minimized.


Behavior Trees using:

  1. Create a new Behavior Tree in Asset Explorer. (in the context menu: Add Asset-> Base Types-> BehaviorTreeScript)
  2. Open in the editor (double click on Asset).
  3. Add Sequence. In Sequence add two Move tasks. Set targets for the Move tasks (edit Move parameters).
  4. Save and drag drop the Behavior Tree script onto entity.
  5. Or choose entity in the list, in the top panel of the editor and to start script.

In future:

  • Better integration with Architect.
  • Support for all behaviors, actions, commands from the Asset Library.
  • Support for parameterized BT.
  • Random selector.
  • Information in the Output window for behavior debugging.
  • The palette of nodes. Drag and drop. (drag and drop between the nodes supported)
  • Advanced Behavior Trees (prioritized selectors, impulses, stimulus )

Additional Links:

Behavior Tree Tutorials:

http://aigamedev.com/articles/?tx_ttnews[cat]=17&cHash=93c15cd059

Complex Behavior Trees in Halo 2:

http://www.gamasutra.com/gdc2005/features/20050311/isla_01.shtml

The Spore Behavior Tree AI System:

http://chrishecker.com/My_Liner_Notes_for_Spore/Spore_Behavior_Tree_Docs

Artificial Intelligence for Games (Ian Millington,John Funge):

http://books.google.ru/books?id=1OJ8EhvuPXAC&lpg=PA370&ots=iSWLtgTWxz&dq=behavior%20trees%20Artificial%20Intelligence%20for%20Games&pg=PA334#v=onepage&q=behavior%20trees%20Artificial%20Intelligence%20for%20Games&f=false
 
References describing Hierarchical Behavior Trees

http://aigamedev.com/open/articles/bt-overview/
http://aigamedev.com/open/articles/behavior-trees-part1/
http://aigamedev.com/open/articles/behavior-trees-part2/
http://aigamedev.com/open/articles/behavior-trees-part3/

 


love