All Projects → amethyst → Bracket Lib

amethyst / Bracket Lib

Licence: mit
The Roguelike Toolkit (RLTK), implemented for Rust.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Bracket Lib

rogue.js
JavaScript porting of original Rogue source code using Emscripten
Stars: ✭ 33 (-94.77%)
Mutual labels:  roguelike, retrogaming
Rust Search Extension
🦀 The ultimate search extension for Rust
Stars: ✭ 540 (-14.42%)
Mutual labels:  crates
Webmsx
WebMSX - Online MSX Emulator
Stars: ✭ 269 (-57.37%)
Mutual labels:  retrogaming
Rigelengine
A modern re-implementation of the classic DOS game Duke Nukem II
Stars: ✭ 393 (-37.72%)
Mutual labels:  retrogaming
Ra 1993
Development content accidentally shipped on a certain early DOS CD-ROM game from 1993
Stars: ✭ 295 (-53.25%)
Mutual labels:  retrogaming
Cdogs Sdl
Classic overhead run-and-gun game
Stars: ✭ 422 (-33.12%)
Mutual labels:  retrogaming
Ggez
Rust library to create a Good Game Easily
Stars: ✭ 3,120 (+394.45%)
Mutual labels:  crates
Zircon
Zircon is an extensible and user-friendly, multiplatform tile engine.
Stars: ✭ 552 (-12.52%)
Mutual labels:  roguelike
Cargo Deny
❌ Cargo plugin for linting your dependencies 🦀
Stars: ✭ 533 (-15.53%)
Mutual labels:  crates
Game
⚔️ An online JavaScript 2D Medieval RPG.
Stars: ✭ 388 (-38.51%)
Mutual labels:  roguelike
Rustrogueliketutorial
Roguelike Tutorial in Rust - using RLTK
Stars: ✭ 377 (-40.25%)
Mutual labels:  retrogaming
Roguesharp
A .NET Standard class library providing map generation, path-finding, and field-of-view utilities frequently used in roguelikes or 2D tile based games. Inspired by libtcod
Stars: ✭ 316 (-49.92%)
Mutual labels:  roguelike
Lambdahack
Haskell game engine library for roguelike dungeon crawlers; please offer feedback, e.g., after trying out the sample game with the web frontend at
Stars: ✭ 439 (-30.43%)
Mutual labels:  roguelike
Awesome One Person Games
🎮 A curated list of successul games, made (quite) entirely by a lone gamedev.
Stars: ✭ 276 (-56.26%)
Mutual labels:  retrogaming
Roguelikedevresources
A curated list of roguelike development resources
Stars: ✭ 545 (-13.63%)
Mutual labels:  roguelike
Rewtro
Papercraft videogame cartridges you can print and pirate with a copy machine.
Stars: ✭ 267 (-57.69%)
Mutual labels:  retrogaming
Ludo
A libretro frontend written in golang
Stars: ✭ 366 (-42%)
Mutual labels:  retrogaming
Octo
A Chip8 IDE
Stars: ✭ 419 (-33.6%)
Mutual labels:  retrogaming
Dungeontemplatelibrary
🌏: Dungeon free resources (terrain & roguelike generation)
Stars: ✭ 595 (-5.71%)
Mutual labels:  roguelike
Prettytable Rs
A rust library to print aligned and formatted tables
Stars: ✭ 552 (-12.52%)
Mutual labels:  crates

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.

  • rltk crate wraps bracket-lib and re-exports in the rltk:: and rltk::prelude namespace. This preserves compatibility with all existing RLTK projects.
  • bracket-algorithm-traits exposes the traits required for the various algorithm systems in other crates.
  • bracket-color is my RGB/HSV color management system.
  • bracket-geometry exposes various geometric primitives and helpers. Supports other crates.
  • bracket-noise is a port of Auburn's FastNoise to Rust.
  • bracket-pathfinding provides a high-performance A* (A-Star) pathing system, as well as Dijkstra maps.
  • bracket-random is a dice-oriented random number generator, including parsing of RPG-style dice strings such as 3d6+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:

  • specs tells various bracket-lib sub-systems to export important primitives as having Specs' Component type applied.
  • serde tells various bracket-lib sub-systems to support using Serde for serialization/de-serialization.

Performance:

  • threaded enables 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_vulkan for Amethyst support, in Vulkan mode.
  • amethyst_engine_metal for Amethyst support, in Metal mode.
  • crossterm to use the excellent Crossterm terminal library.
  • curses to use pancurses for ncurses or pdcurses support depending upon your platform.

Sample Projects

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].