1 个不稳定版本

0.0.0 2023年2月15日

#25#lets

Apache-2.0 OR MIT

8KB

Bevy Roguelike Toolkit (BRLTK)

Bevy的鲁格莱克工具包

BRLTK 允许您使用各种鲁格莱克库与 Bevy 结合。目前,它支持 doryen-rsbracket-libbevy_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 是免费、开源且许可宽松的!此仓库中的所有代码都采用以下两种许可中的任意一种

这意味着您可以选择您喜欢的许可证!这种双重许可方法在Rust生态系统中被视为事实标准,并且存在很好的理由来包含两者。

包含在此存储库中(用于我们的示例)的资产通常属于不同的开源许可证,但大多数可用于商业用途。

有关这些文件的许可证详细信息,请参阅CREDITS.md

贡献

除非您明确说明,否则您根据Apache-2.0许可证定义的,有意提交以包含在工作中的任何贡献,都应如上所述双重许可,无需附加条款或条件。

无运行时依赖项