Bevy Roguelike Toolkit (BRLTK)
An opinionated rougelike toolkit for bevy
BRLTK lets you use Bevy with various roguelike libraries. Currently, it supports doryen-rs, bracket-lib, and bevy_ascii_terminal
Compatible Bevy versions
The main branch is compatible with the latest Bevy release
Compatibility of BRLTK
versions:
BRLTK |
bevy |
---|---|
0.1.0 |
0.9 |
Getting Started
Using doryen-rs
backend:
// Add the `BRLTKPlugin` to Bevy.
.add_plugin
// Add your Bevy systems like usual. Excluding startup systems, which
// only run once, these systems are run during Doryen's update phase;
// i.e. 60 times per second.
.add_startup_system
.add_system
// The `RenderSystemExtensions` trait lets you add systems that should
// be run during Doryen's render phase.
.add_doryen_render_system
.run;
build
Using bracket-lib
backend:
⚠️(Default Plugins are required for the bracket-lib
backend)⚠️
.add_plugins
// Add the `BRLTKPlugin` to Bevy.
.add_plugin
.insert_resource
.add_system
.run;
build
Once set up, you can quickly try out the examples by cloning this repo and running the following commands:
# Switch to the correct version (latest release, default is main development branch)
# Runs the "basic_doryen" example
# Runs the "basic_bracket" example
Libraries Used
Bevy is only possible because of the hard work put into these foundational technologies:
- bevy: a refreshingly simple data-driven game engine built in Rust
- doryen-rs: Ascii roguelike library in rust with native and wasm support
- bracket-lib: bracket-lib is a wrapper of the bracket- set of crates designed initally for roguelike development (as RLTK) and later transitioned into a general use crate.
- bevy_ascii_terminal: A simple ascii terminal integrated into bevy's ecs framework.
Thanks and Alternatives
Additionally, I would like to thank the Jice and his library doryen-rs for providing the bones to build this toolkit. This crate uses a modified version of doryen-rs
to provide a more bevy-like interface.
I would also like to thank alexschrod who started this implementation back in bevy 0.5, which allowed me to fork the repository and continue the work.
And as always, a special shoutout to thebracket for his bracket-lib game engine which began my journey into the world of roguelikes. He is my inspiration for this project.
License
BRLTK is free, open source and permissively licensed! All code in this repository is dual-licensed under either:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.
The assets included in this repository (for our examples) typically fall under different open licenses, but most are free for commercial use.
See CREDITS.md for the details of the licenses of those files.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.