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,以便您可以轻松选择所需的特性。
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
根据您的平台使用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