amethyst / bracket-lib

The Roguelike Toolkit (RLTK), implemented for Rust.
MIT License
1.54k stars 111 forks source link
amethyst-support cp437 crates retrogaming rltk roguelike rust-crate rust-crates

Welcome to bracket-lib

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.

BREAKING CHANGE ALERT: The crossterm feature is now cross_term if you are using bracket-terminal directly. It's still crossterm for bracket-lib and rltk.

IMPORTANT: If you are running the webgpu backend, you need to add resolver = 2 to your Cargo.toml file. WGPU requires it for platform selection.

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.

Using bracket-lib

In your Cargo.toml file, include:

[dependencies]
bracket-lib = "~0.8"

Feature Flags

There are a few feature flags designed to aide integration with other systems:

Performance:

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:

Sample Projects