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 游戏开发
3,887 每月下载量
用于 5 crates
5MB
24K SLoC
欢迎来到bracket-lib
您可以在以下位置阅读使用此库编写Roguelike的教程系列: https://bfnightly.bracketproductions.com/rustbook/
Bracket-lib 是我的书 Hands-on Rust 的主要支持库。请考虑查看我的书籍。
已经开始编写手册的早期工作。您可以在 manual 文件夹中找到它,或 在线阅读。
重大变更警告:如果您直接使用 bracket-terminal,则 crossterm 功能现在为 cross_term。对于 bracket-lib 和 rltk,它仍然是 crossterm。
重要:如果您正在运行 webgpu 后端,您需要将 resolver = 2 添加到您的 Cargo.toml 文件中。WGPU需要它进行平台选择。
RLTK怎么了?
这 就是 RLTK,由于它越来越多地被用于Roguelike之外,所以被重命名。它还已经被分成多个crate,以便您可以轻松选择所需的特性。
rltkcrate 包装了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根据您的平台使用pancurses对ncurses或pdcurses进行支持。
示例项目
- 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/Maxgy/blademaster
- https://github.com/Maxgy/text-rts
依赖项
~6–24MB
~316K SLoC