Update README

This commit is contained in:
Serhii Snitsaruk 2023-09-13 11:44:56 +02:00
parent 9da55981d1
commit 65bd2dbb48
1 changed files with 14 additions and 9 deletions

View File

@ -14,7 +14,7 @@ A Behavior Tree (BT) is a powerful hierarchical structure used to model and cont
## Features ## Features
- Behavior Trees (BT): - **Behavior Trees (BT):**
- Use the `BTPlayer` node to execute `BehaviorTree` resources. - Use the `BTPlayer` node to execute `BehaviorTree` resources.
- Easily create, edit, and save `BehaviorTree` resources within the editor. - Easily create, edit, and save `BehaviorTree` resources within the editor.
- Combine and nest tasks in a hierarchy to create complex behaviors. - Combine and nest tasks in a hierarchy to create complex behaviors.
@ -23,23 +23,28 @@ A Behavior Tree (BT) is a powerful hierarchical structure used to model and cont
- Built-in class documentation. Check out the `BehaviorTree` and `BTTask` class documentation to get started. - Built-in class documentation. Check out the `BehaviorTree` and `BTTask` class documentation to get started.
- Utilize the `Blackboard` for seamless data sharing between tasks. - Utilize the `Blackboard` for seamless data sharing between tasks.
- Use the `BTSubtree` task to execute a tree from a different resource file, promoting organization and reusability. - Use the `BTSubtree` task to execute a tree from a different resource file, promoting organization and reusability.
- Blackboard scopes separate namespaces of variables from subtrees, and enable advanced techniques like sharing data among agents in a group. - Blackboard scopes separate namespaces of variables from subtrees and enable advanced techniques like sharing data among agents in a group.
- Visual Debugger: Inspect the execution of any BT in a running scene to identify and troubleshoot issues. - Visual Debugger: Inspect the execution of any BT in a running scene to identify and troubleshoot issues.
- Evaluate the performance of your trees with custom performance monitors. - Evaluate the performance of your trees with custom performance monitors.
- Hierarchical State Machine (HSM)
- Extend `LimboState` class to implement state logic. - **Hierarchical State Machine (HSM):**
- `LimboHSM` node serves as a state machine that manages `LimboState` instances and transitions. - Extend the `LimboState` class to implement state logic.
- The `LimboHSM` node serves as a state machine that manages `LimboState` instances and transitions.
- `LimboHSM` is a state itself and can be nested within other `LimboHSM` instances. - `LimboHSM` is a state itself and can be nested within other `LimboHSM` instances.
- Event-based: Transitions are associated with events, and are triggered by the state machine when the relevant event is dispatched, allowing for better decoupling of transitions from state logic. - Event-based: Transitions are associated with events and are triggered by the state machine when the relevant event is dispatched, allowing for better decoupling of transitions from state logic.
- Combine state machines with behavior trees using `BTState` for advanced reactive AI. - Combine state machines with behavior trees using `BTState` for advanced reactive AI.
- Delegation: Instead of extending `LimboState`, utilize vanilla `LimboState` and delegate implementation to provided callback functions. Perfect for game jams and quick prototyping. - Delegation: Instead of extending `LimboState`, utilize the vanilla `LimboState` and delegate implementation to provided callback functions. Perfect for game jams and quick prototyping.
- 🛈 Note: Currently, state machine transition setup and initialization must be done through code as there is no GUI editor for state machines. - 🛈 Note: Currently, state machine transition setup and initialization must be done through code as there is no GUI editor for state machines.
- **Tested:** Behavior tree tasks and HSM have been covered by unit tests.
## How to Get Started ## How to Get Started
You have two options to start using this module: You have two options to start using this module:
1. Download precompiled builds: Navigate to "Actions → All Builds" and scroll down until you find the "Artifacts" section. 1. Download precompiled builds:
- For the most recent builds, navigate to "Actions → All Builds" and scroll down until you find the "Artifacts" section.
- For release builds, check "Releases" for download links.
2. Compile the module on your own (refer to the next section). 2. Compile the module on your own (refer to the next section).
## Compiling ## Compiling
@ -62,9 +67,9 @@ All contributions are welcome! Feel free to open issues with bug reports and fea
Features and improvements that may be implemented in the future: Features and improvements that may be implemented in the future:
- ~~Providing precompiled builds for download.~~ 🗸 - ~~Providing precompiled builds for download.~~ 🗸
- ~~Tests and CI.~~🗸
- Creating a non-trivial demo project to showcase the capabilities of LimboAI. - Creating a non-trivial demo project to showcase the capabilities of LimboAI.
- Exploring the execution history of Behavior Trees in the Visual Debugger. - Exploring the execution history of Behavior Trees in the Visual Debugger.
- Tests and CI.
- Expanding the library of tasks that can be optionally included in the build. - Expanding the library of tasks that can be optionally included in the build.
- Implementing an ignore list for tasks that users may want to hide in the task panel. - Implementing an ignore list for tasks that users may want to hide in the task panel.
- GUI editor for state machines. - GUI editor for state machines.