Skip to content

katharostech/bevy_retrograde

Repository files navigation

Bevy Retrograde

Crates.io Docs.rs Build Status lines of code Katharos License

( Screenshot of Bounty Bros. game made with Bevy Retrograde and Skip'n Go )

bounty bros game screenshot

⚠️ Project Status - No Longer Developed: Bevy Retrograde is no longer under development. Development efforts have been moved to it's spiritual successor, the Bones Framework, which has similar goals, but is not a Bevy plugin. See this comment for more context.

Bevy Retrograde is an opinionated plugin pack for the Bevy game engine with tools to help you make 2D games!

Bevy Retrograde is not specific to pixel-art games, but it does include some features that would be particularly useful for pixel games. The ultimate goal is to act as an extension to Bevy that gives you common tools necessary to make a 2D game such as map loading, physics, UI, save-data, etc. Not all of the features we want to add are implemented yet, but we will be expanding the feature set as we developer our own game with it.

License

Bevy Retrograde LDtk is licensed under the Katharos License which places certain restrictions on what you are allowed to use it for. Please read and understand the terms before using Bevy Retrograde for your project.

Development Status

Bevy Retrograde is in early stages of development. The API is not stable and may change dramatically at any time.

We have just made a major update. This update removed ~75% of Bevy Retro ( that’s good! ) by updating to Bevy 0.7, and:

  • Replacing our custom renderer with Bevy’s
  • Replacing our custom map loader with bevy_ecs_ldtk
  • Replacing our custom RAUI UI renderer with bevy_egui

Now Bevy Retrograde mostly includes some existing libraries and provides small utilities on top such as the 9-patch style UI addtions for egui.

Since it’s been so long since our last update we want to get another release out soon, just to get everything working again on top of the latest crates. We are just waiting on a tilemap rendering fix to get merged before we publish an 0.3.0 release.

After that we plan to re-visit what extra features we might want, such as an easier way to setup the 2D camera, and a save data system, and we will look at polishing our integrations and utilities where appropriate.

See also Supported Bevy Version below.

Features & Examples

Check out our examples list to see how to use each Bevy Retrograde feature:

  • Supports web and desktop out-of-the-box
  • LDtk map loading and rendering using bevy_ecs_ldtk.
  • An integration with the egui UI library with extra 9-patch style widgets.
  • Text rendering of bitmap fonts in the BDF format
  • Physics and collision detection powered by Rapier with automatic generation of convex collision shapes from sprite images.
  • Sound playing with bevy_kira_audio.

Supported Bevy Version

bevy bevy_retrograde
0.7 master ( 0.3 release comming soon! )
0.6
0.5 0.1, 0.2

Cargo.toml:

[dependencies]
bevy = { version = "0.7", default-features = false }
bevy_retrograde = { git = "https://github.com/katharostech/bevy_retrograde.git" }