Crates.io | beet_ecs_macros |
lib.rs | beet_ecs_macros |
version | 0.0.3 |
source | src |
created_at | 2024-03-03 23:47:41.910845 |
updated_at | 2024-07-14 08:35:08.807646 |
description | A very flexible AI behavior library for games and robotics. |
homepage | https://beetmash.com/docs/beet |
repository | https://github.com/mrchantey/beet |
max_upload_size | |
id | 1161010 |
size | 14,888 |
Beet is behavior expressed as entity trees, using Observers for control flow. The entity-based approach is very flexible and allows for multiple behavior paradigms to be used together as needed.
Currently implemented paradigms:
// A demonstration of Fallback control flow
world.spawn(FallbackFlow)
.with_children(|parent| {
parent.spawn((
LogOnRun::("Hello"),
EndOnRun::failure(),
));
parent.spawn((
LogOnRun::("World"),
EndOnRun::success(),
));
})
The examples for beet are scene-based, meaning each example provides a scene for a common base app. As Bevy scene workflows are a wip, there are a few Placeholder
types used for not-yet-serializable types like cameras, asset handles etc.
Most examples rely on assets that can be downloaded with the following commands, or manually from here.
curl -o ./assets.tar.gz https://storage.googleapis.com/beet-misc/assets.tar.gz
tar -xzvf ./assets.tar.gz
rm ./assets.tar.gz
bevy |
beet |
---|---|
0.14 | 0.0.2 |
0.12 | 0.0.1 |