1 个不稳定版本
0.0.0 | 2023年2月15日 |
---|
#25 在 #lets
8KB
Bevy Roguelike Toolkit (BRLTK)
Bevy的鲁格莱克工具包
BRLTK 允许您使用各种鲁格莱克库与 Bevy 结合。目前,它支持 doryen-rs、bracket-lib 和 bevy_ascii_terminal
兼容的 Bevy 版本
主分支与最新的 Bevy 发布版兼容
BRLTK
版本的兼容性
BRLTK |
bevy |
---|---|
0.1.0 |
0.9 |
入门指南
使用 doryen-rs
后端
App::build()
// Add the `BRLTKPlugin` to Bevy.
.add_plugin(BRLTKPlugin::with_backend(DoryenBackend {
// here are all the available options.
// better practice is to use default values (see other examples)
app_options: DoryenAppOptions {
console_width: CONSOLE_WIDTH,
console_height: CONSOLE_HEIGHT,
screen_width: CONSOLE_WIDTH * 8,
screen_height: CONSOLE_HEIGHT * 8,
window_title: String::from("my roguelike"),
font_path: String::from("terminal_8x8.png"),
vsync: true,
fullscreen: false,
show_cursor: true,
resizable: true,
intercept_close_request: false,
max_fps: 60,
},
..Default::default()
}))
// Add your Bevy systems like usual. Excluding startup systems, which
// only run once, these systems are run during Doryen's update phase;
// i.e. 60 times per second.
.add_startup_system(init)
.add_system(input)
// The `RenderSystemExtensions` trait lets you add systems that should
// be run during Doryen's render phase.
.add_doryen_render_system(render)
.run();
使用 bracket-lib
后端
⚠️(默认插件对于 bracket-lib
后端是必需的)⚠️
App::build()
.add_plugins(DefaultPlugins)
// Add the `BRLTKPlugin` to Bevy.
.add_plugin(BRLTKPlugin::with_backend(
BracketLibBackend::simple_80x50()
.with_named_color("blue", BLUE)
.with_named_color("pink", Color::PINK),
))
.insert_resource(State {
y: 0,
going_down: true,
})
.add_system(tick)
.run();
一旦设置完毕,您可以通过克隆此仓库并运行以下命令快速尝试 示例
# Switch to the correct version (latest release, default is main development branch)
git checkout latest
# Runs the "basic_doryen" example
cargo run --example basic_doryen
or
# Runs the "basic_bracket" example
cargo run --example basic_bracket
使用的库
Bevy 的实现得益于这些基础技术的辛勤工作
- bevy:一个令人耳目一新的简单数据驱动游戏引擎,用 Rust 构建
- doryen-rs:Rust 中的 Ascii 鲁格莱克库,具有本地和 wasm 支持
- bracket-lib:bracket-lib 是 bracket-套件的一个包装器,最初为鲁格莱克开发(作为 RLTK)而设计,后来转变为通用用途的包。
- bevy_ascii_terminal:一个简单的 ascii 终端,集成到 bevy 的 ecs 框架中。
感谢和替代方案
此外,我还要感谢 Jice 及其库 doryen-rs,它为构建此工具包提供了框架。此包使用 doryen-rs
的修改版本来提供更类似 Bevy 的接口。
我还要感谢 alexschrod,他早在 bevy 0.5 时就开始了此实现,这使我能够分叉仓库并继续工作。
并且,像往常一样,特别感谢 thebracket 及其 bracket-lib 游戏引擎,它开启了我对鲁格莱克世界的探索。他是此项目的灵感来源。
许可证
BRLTK 是免费、开源且许可宽松的!此仓库中的所有代码都采用以下两种许可中的任意一种
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache许可证,版本2.0(《LICENSE-APACHE》或http://www.apache.org/licenses/LICENSE-2.0)
这意味着您可以选择您喜欢的许可证!这种双重许可方法在Rust生态系统中被视为事实标准,并且存在很好的理由来包含两者。
包含在此存储库中(用于我们的示例)的资产通常属于不同的开源许可证,但大多数可用于商业用途。
有关这些文件的许可证详细信息,请参阅CREDITS.md。
贡献
除非您明确说明,否则您根据Apache-2.0许可证定义的,有意提交以包含在工作中的任何贡献,都应如上所述双重许可,无需附加条款或条件。