Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. bracket-lib

bracket-lib

MITRust0.8.7

A modular Rust toolkit for building roguelikes and terminal-based games with multiple rendering backends.

GitHubGitHub
1.7k stars125 forks0 contributors

What is bracket-lib?

Bracket-lib is a modular Rust library originally developed as the Roguelike Toolkit (RLTK), now expanded for broader game development. It provides essential components for creating terminal-based games, roguelikes, and other interactive applications with flexible rendering options including OpenGL/WebGL, WebGPU, Crossterm, and curses.

Target Audience

Rust developers building terminal-based games, roguelikes, or interactive applications who need cross-platform rendering and modular game development components.

Value Proposition

Developers choose bracket-lib for its modular architecture allowing selective use of components, multiple rendering backends for cross-platform compatibility, and seamless migration from RLTK projects through a compatibility wrapper.

Overview

The Roguelike Toolkit (RLTK), implemented for Rust.

Use Cases

Best For

  • Building terminal-based games and roguelikes in Rust with flexible rendering options
  • Developing cross-platform games that need to run on desktop and in browsers via WebAssembly
  • Creating game AI with high-performance pathfinding using A* and Dijkstra map implementations
  • Porting existing RLTK projects to the updated modular library while maintaining compatibility
  • Generating procedural content with noise algorithms ported from Auburn's FastNoise
  • Implementing dice-oriented random number generation for RPG-style game mechanics

Not Ideal For

  • Projects requiring modern 3D graphics or complex shader effects beyond 2D tile rendering
  • Teams needing a full game engine with built-in editors, physics, and asset pipelines
  • Applications focused on rich graphical user interfaces outside of terminal emulation
  • Developers unfamiliar with Rust or preferring higher-level scripting languages like Python or JavaScript

Pros & Cons

Pros

Modular Architecture

The library is split into separate crates like bracket-pathfinding and bracket-noise, allowing developers to pick only needed components without bloat, as outlined in the README's crate breakdown.

Multiple Rendering Backends

Supports OpenGL/WebGL, WebGPU, Crossterm, and curses, enabling cross-platform deployment from desktop to web via WebAssembly, which is highlighted in the feature flags section.

High-Performance Pathfinding

Includes optimized A* and Dijkstra map implementations in the bracket-pathfinding crate, essential for game AI with minimal overhead.

WebAssembly Compatibility

Compiles to WebAssembly with WebGL or WebGPU backends, making it straightforward to port games to browsers, as noted in the key features.

RLTK Migration Support

Provides the rltk wrapper crate to maintain compatibility with existing projects, easing the transition from the older Roguelike Toolkit.

Cons

Breaking Change Frequency

The README alerts users to breaking changes like the crossterm feature rename, indicating an unstable API that can disrupt project updates.

Complex Configuration

Setting up requires managing multiple feature flags and backend-specific tweaks, such as adding resolver = 2 for WebGPU, which adds setup complexity and potential errors.

Incomplete Documentation

The manual is described as 'early work,' forcing users to rely on scattered tutorials or the author's book for comprehensive guidance.

Niche Focus Limitations

Primarily designed for terminal-based games and roguelikes, so it lacks features for broader game development like 3D physics or advanced audio systems.

Frequently Asked Questions

Quick Stats

Stars1,676
Forks125
Contributors0
Open Issues89
Last commit6 months ago
CreatedSince 2019

Tags

#terminal-emulation#crates#opengl#retrogaming#webgpu#modular-library#game-development#wasm#roguelike#rust-crate#crossterm#rust#pathfinding#rust-crates

Built With

c
crossterm
W
WebAssembly
n
ncurses
R
Rust
W
WebGPU
O
OpenGL

Included in

Rust56.6k
Auto-fetched 22 hours ago

Related Projects

BevyBevy

A refreshingly simple data-driven game engine built in Rust

Stars46,524
Forks4,615
Last commit1 day ago
PumpkinPumpkin

Empowering everyone to host fast and efficient Minecraft servers.

Stars7,741
Forks529
Last commit1 day ago
ggezggez

Rust library to create a Good Game Easily

Stars4,636
Forks439
Last commit5 days ago
gdnativegdnative

Rust bindings for Godot 3

Stars3,625
Forks208
Last commit5 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub