mirror of
https://github.com/flame-engine/flame.git
synced 2025-10-30 08:27:36 +08:00
The following 25 packages will be updated: ``` Package Name Current Version Updated Version Update Reason jenny 1.3.2 1.3.3 manual versioning flame 1.26.1 1.27.0 updated with minor changes flame_3d 0.1.0-dev.8 0.1.0-dev.9 updated with minor changes flame_forge2d 0.18.3 0.18.3+1 updated with patch changes flame_isolate 0.6.2+8 0.6.2+9 updated with patch changes flame_lint 1.2.3 1.3.0 updated with minor changes flame_rive 1.10.11 1.10.12 updated with patch changes flame_texturepacker 4.1.8 4.1.9 updated with patch changes flame_tiled 2.0.3 3.0.0 updated with major changes flame_behavior_tree 0.1.3+8 0.1.3+9 dependency was updated flame_test 1.18.2 1.18.3 dependency was updated flame_oxygen 0.2.3+8 0.2.3+9 dependency was updated flame_sprite_fusion 0.1.3+8 0.1.3+9 dependency was updated flame_fire_atlas 1.8.3 1.8.4 dependency was updated flame_audio 2.11.2 2.11.3 dependency was updated flame_spine 0.2.2+8 0.2.2+9 dependency was updated flame_bloc 1.12.9 1.12.10 dependency was updated flame_kenney_xml 0.1.1+8 0.1.1+9 dependency was updated flame_lottie 0.4.2+8 0.4.2+9 dependency was updated flame_markdown 0.2.4+1 0.2.4+2 dependency was updated flame_console 0.1.2+4 0.1.2+5 dependency was updated flame_noise 0.3.2+8 0.3.2+9 dependency was updated flame_riverpod 5.4.11 5.4.12 dependency was updated flame_svg 1.11.8 1.11.9 dependency was updated flame_network_assets 0.3.3+8 0.3.3+9 dependency was updated ```
This package provides a simple and easy to use behavior tree API in pure dart.
Behavior tree is a very common way of implementing AI behavior in game and robotics. Using this, you can break-down a complex behavior of an in game AI, into multiple smaller nodes.
Features
- Nodes
- Composite
- Sequence: Continues execution until one of the children fails.
- Selector: Continues execution until one of the children succeeds.
- Decorator
- Inverter: Flips the status of the child node.
- Limiter: Limits the number of ticks for child node.
- Task
- Task: Executes a given callback when ticked.
- AsyncTask: Executes an async callback when ticked.
- Condition: Checks a condition when ticked.
- Composite
Getting started
Add this package to your dart project using,
dart pub add behavior_tree
Usage
- Create a behavior tree.
final treeRoot = Sequence(
children: [
Condition(() => isHungry),
Task(() => goToShop()),
Task(() => buyFood()),
Task(() => goToHome()),
Task(() => eatFood()),
]
);
- Tick the root node to update the tree.
final treeRoot = ...;
treeRoot.tick();