9 releases
0.1.0 | Oct 30, 2021 |
---|---|
0.0.8 | Oct 14, 2021 |
0.0.6 | Sep 30, 2021 |
#1742 in Game dev
28 downloads per month
27KB
552 lines
behavior-tree
for Rust!
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
.
Other behavior tree crates
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.
Who uses this?
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!
Dependencies
~550–780KB
~12K SLoC