Skip to content

ItsDoot/bevy_observed_utility

Repository files navigation

bevy_observed_utility

A state-of-the-art utility AI library for Bevy, built using ECS observers, with a focus on ergonomics and correctness.

See the documentation for a complete walkthrough example of using the library.

Get Started

[dependencies]
bevy_observed_utility = "0.1.0"

Features

  • Minimal boilerplate: Add utility AI to pre-existing entities with little ceremony.
  • Highly expressive: Build scoring hierarchies for whatever occasion, as complex or as simple as needed.
  • Order-correct scoring: Hierarchies score their children before their parents.
  • Familiar design: Reuses standard Parent/Children hierarchy components to build actor entities that select actions based on their child score entities.
  • Pay-for-what-you-use performance: Scoring and Picking variants' observers are only registered when they're spawned for the first time.
  • Game flow agnostic: Works well with both real-time and turn-based game simulation.

Design Goals

In order of priority:

  • Correctness
    • Scoring entity trees are scored in depth-first post-order traversal, ensuring that all children are scored before their parents.
  • Ergonomics:
    • Adding scoring, picking, and actions to pre-existing entities should have little boilerplate.
  • Modularity:
    • Adding new kinds of scoring and picking should be easy.
    • Adding different ways of handling actions should be easy.
    • Both turn-based and real-time games should be supported.
  • Performance:
    • Pay only for what you use: Scoring and picking observers are only added if they are used.
    • Scoring and picking should be reasonably fast. Action performance is up to the user.

Lifecycle Visualized

lifecycle

License

bevy_observed_utility is dual-licensed under either:

  • MIT License
  • Apache License, Version 2.0

at your option.

About

Ergonomic and Correct Utility AI for Bevy Engine

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages