Skip to content

darthdeus/behavior-tree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

behavior-tree for Rust!

Crates.io Crates.io (latest) Crates.io docs.rs GitHub Workflow Status GitHub commit activity GitHub branch checks state

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 or negative 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!

Releases

No releases published

Packages

No packages published

Languages