Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 4 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ pip install bonsai-bt

See [`bonsai-py/`](bonsai-py/) for examples.

## Example of use

See [Examples](examples/README.md) folder.

## What is a Behavior Tree?

A _Behavior Tree_ (BT) is a data structure in which we can set the rules of how certain _behavior's_ can occur, and the order in which they would execute. BTs are a very efficient way of creating complex systems that are both modular and reactive. These properties are crucial in many applications, which has led to the spread of BT from computer game programming to many branches of AI and Robotics.
Expand Down Expand Up @@ -79,16 +83,3 @@ See the `Behavior` enum for more information.
To make sure that the behavior tree is always responsive, it is important that the actions that are created executes instantly so that they do not block the tree traversal. If you have long-running tasks/functions that can take seconds or minutes to execute - either `async` or `sync` - then we can dispatch those jobs into background threads, and get status of the task through a channel.

see *async drone* example in the `/examples` folder for more details.

## Example of use

See [Examples](examples/README.md) folder.

## Similar Crates

Bonsai is inspired by many other crates out there, here's a few worth mentioning:

* [ai_behavior](https://github.com/PistonDevelopers/ai_behavior) (bonsai is a continuation of this crate)
* [aspen](https://gitlab.com/neachdainn/aspen)
* [behavior-tree](https://github.com/darthdeus/behavior-tree)
* [stackbt](https://github.com/eaglgenes101/stackbt)
6 changes: 6 additions & 0 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Examples

The examples below are minimal, made-up scenarios to help you get going. For real-world usage of `bonsai-bt` in the wild, see:

* [utahrobotics/utah-lunabotics-2026](https://github.com/utahrobotics/utah-lunabotics-2026) — orchestrates core autonomy on a lunar rover. The team placed 3rd out of 50 in the autonomy challenge at [NASA Lunabotics 2026](https://www.nasa.gov/learning-resources/lunabotics-challenge/).
* [catornot/bp-ort](https://github.com/catornot/bp-ort) — NPC plugins for Titanfall 2 mod servers (Northstar). [Live demo](https://www.youtube.com/watch?v=uT3aAuB4ej4&t=60s).
* [AnotherlandServer/anotherland](https://github.com/AnotherlandServer/anotherland) — NPC behaviors for the Anotherland MMORPG.

`cargo build --package examples`

## Game NPC AI console application
Expand Down
Loading