USE AT YOUR OWN RISK. This crate is under heavy development at the moment and a lot of the APIs will change often and without any notice. Performance is also terrible right now.
Implemented nodes:
- Sequence - execute child nodes in a sequence until one of them fails.
- Select - execute child nodes in a sequence until one of them succeeds.
- While - execute a child node only when a condition is true.
- Wait - constant time delay.
- RandomWait - random time delay with a defined max.
- Action - generic user-defined action.
- StatefulAction - generic user-defined action which manages its own state in addition to the tree-wide Blackboard.
- Cond - checks a condition and executes either the
positive
ornegative
child.
Almost all of the behaviors have test coverage including a few of the edge cases, but it is by no means exhaustive yet.
There are a few quirks that need to be figured out, especially with respect to debugging/visualization, which will be stabilized before version 0.1
.
There are a few other crates that implement behavior trees (listed below). This library is inspired by all of them, as well as the Behavior Tree Starter Kit from Game AI Pro.
The code was originally extracted from BITGUN, which continues to use it as it's being developed open source. If you're using this crate in your game do open a PR so we can list your game here as well!