beet_ecs_macros

Crates.iobeet_ecs_macros
lib.rsbeet_ecs_macros
version0.0.3
sourcesrc
created_at2024-03-03 23:47:41.910845
updated_at2024-07-14 08:35:08.807646
descriptionA very flexible AI behavior library for games and robotics.
homepagehttps://beetmash.com/docs/beet
repositoryhttps://github.com/mrchantey/beet
max_upload_size
id1161010
size14,888
Peter Hayman (mrchantey)

documentation

https://beetmash.com/docs/beet

README

beet

A modular behavior library for the Bevy Engine.

Crates.io version Download docs.rs docs

Guidebook | API Docs

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:

Hello World

// A demonstration of Fallback control flow
world.spawn(FallbackFlow)
  .with_children(|parent| {
    parent.spawn((
      LogOnRun::("Hello"),
      EndOnRun::failure(),
    ));
    parent.spawn((
      LogOnRun::("World"),
      EndOnRun::success(),
    ));
  })

Examples

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 Versions

bevy beet
0.14 0.0.2
0.12 0.0.1
Commit count: 606

cargo fmt