#rogue-like #ascii #cp437 #gamedev #terminal

bracket-lib

包含整个bracket-lib(并公开)的元crate。使用它以获得完整的roguelike工具包体验。

4个版本

0.8.7 2022年10月4日
0.8.1 2020年4月29日
0.8.0 2020年4月8日
0.7.0 2020年2月22日

#579 in 游戏开发

Download history 1023/week @ 2024-04-22 932/week @ 2024-04-29 806/week @ 2024-05-06 994/week @ 2024-05-13 1028/week @ 2024-05-20 1204/week @ 2024-05-27 1144/week @ 2024-06-03 744/week @ 2024-06-10 878/week @ 2024-06-17 1017/week @ 2024-06-24 313/week @ 2024-07-01 644/week @ 2024-07-08 1080/week @ 2024-07-15 988/week @ 2024-07-22 853/week @ 2024-07-29 831/week @ 2024-08-05

3,887 每月下载量
用于 5 crates

MIT 许可证

5MB
24K SLoC

欢迎来到bracket-lib

您可以在以下位置阅读使用此库编写Roguelike的教程系列: https://bfnightly.bracketproductions.com/rustbook/

Bracket-lib 是我的书 Hands-on Rust 的主要支持库。请考虑查看我的书籍。

已经开始编写手册的早期工作。您可以在 manual 文件夹中找到它,或 在线阅读

重大变更警告:如果您直接使用 bracket-terminal,则 crossterm 功能现在为 cross_term。对于 bracket-librltk,它仍然是 crossterm

重要:如果您正在运行 webgpu 后端,您需要将 resolver = 2 添加到您的 Cargo.toml 文件中。WGPU需要它进行平台选择。

RLTK怎么了?

就是 RLTK,由于它越来越多地被用于Roguelike之外,所以被重命名。它还已经被分成多个crate,以便您可以轻松选择所需的特性。

  • rltk crate 包装了 bracket-lib 并在 rltk::rltk::prelude 命名空间中重新导出。这保留了与所有现有RLTK项目的兼容性。
  • bracket-algorithm-traits 公开了其他crate中各种算法系统所需的特性。
  • bracket-color 是我的RGB/HSV颜色管理系统。
  • bracket-geometry 公开各种几何原语和辅助工具。支持其他crate。
  • bracket-noise 是将 Auburn的FastNoise 端口移植到Rust。
  • bracket-pathfinding 提供了高性能的A*(A-Star)路径查找系统,以及Dijkstra图。
  • bracket-random 是一个面向骰子的随机数生成器,包括解析RPG风格的骰子字符串,例如 3d6+12

使用 bracket-lib

在您的 Cargo.toml 文件中,包含以下内容

[dependencies]
bracket-lib = "~0.8"

功能标志

有一些功能标志旨在帮助与其他系统集成

  • specs 告诉各种 bracket-lib 子系统将重要原语作为应用Specs的 Component 类型导出。
  • serde 告诉各种 bracket-lib 子系统支持使用 Serde 进行序列化/反序列化。

性能

  • threaded 在某些子系统上启用多线程。

终端模式

默认情况下,bracket-lib 在OpenGL模式下运行(如果检测到您正在编译为 wasm32-unknown-unknown,则使用WebGL)。如果您想使用其他渲染后端,请 禁用默认功能 并应用以下功能标志之一

  • webgpu 使用 wgpu 系统作为后端,支持Vulkan、Metal和WebGPU。
  • crossterm 使用出色的 Crossterm 终端库。
  • curses 根据您的平台使用 pancursesncursespdcurses 进行支持。

示例项目

依赖项

~6–24MB
~316K SLoC