You can read a tutorial series on writing a Roguelike with this library at: https://bfnightly.bracketproductions.com/rustbook/
Bracket-lib is the primary support library for my book, Hands-on Rust. Please consider checking out my book.
Early work has begun on writing a manual. You can find it in the manual folder, or read it online.
This is RLTK, renamed because it is increasingly finding usage outside of just Roguelikes. It's also been divided into a number of crates, to make it easy to pick-and-choose the features you need.
rltkcrate wrapsbracket-liband re-exports in therltk::andrltk::preludenamespace. This preserves compatibility with all existing RLTK projects.bracket-algorithm-traitsexposes the traits required for the various algorithm systems in other crates.bracket-coloris my RGB/HSV color management system.bracket-geometryexposes various geometric primitives and helpers. Supports other crates.bracket-noiseis a port of Auburn's FastNoise to Rust.bracket-pathfindingprovides a high-performance A* (A-Star) pathing system, as well as Dijkstra maps.bracket-randomis a dice-oriented random number generator, including parsing of RPG-style dice strings such as3d6+12.
In your Cargo.toml file, include:
[dependencies]
bracket-lib = "0.7"There are a few feature flags designed to aide integration with other systems:
specstells variousbracket-libsub-systems to export important primitives as having Specs'Componenttype applied.serdetells variousbracket-libsub-systems to support usingSerdefor serialization/de-serialization.
Performance:
threadedenables multi-threading on some sub-systems.
Terminal mode:
By default, bracket-lib runs in OpenGL mode (or WebGL if it detects that you are compiling for wasm32-unknown-unknown). If you want to use other rendering back-ends, disable default features and apply one of the following feature flags:
amethyst_engine_vulkanfor Amethyst support, inVulkanmode.amethyst_engine_metalfor Amethyst support, inMetalmode.crosstermto use the excellentCrosstermterminal library.cursesto usepancursesforncursesorpdcursessupport depending upon your platform.
- https://github.com/Micutio/innit
- https://github.com/amethyst/shotcaller
- https://github.com/bofh69/rouge
- https://github.com/carsin/miners
- https://github.com/baszalmstra/my-little-robots
- https://github.com/Havegum/Terrain-Generator
- https://github.com/Bobox214/rs-gliphus
- https://github.com/Maxgy/blademaster
- https://github.com/Maxgy/text-rts