amethyst / Bracket Lib
Programming Languages
Projects that are alternatives of or similar to Bracket Lib
Welcome to bracket-lib
You can read a tutorial series on writing a Roguelike with this library at: https://bfnightly.bracketproductions.com/rustbook/
What happened to RLTK?
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.
Using bracket-lib
In your Cargo.toml file, include:
[dependencies]
bracket-lib = "0.7"
Feature Flags
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.
Sample Projects
- 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/BobG1983/escape-from-alpha-nine
- https://github.com/Maxgy/blademaster
- https://github.com/Maxgy/text-rts
