Skip to content

Search

Balaur

一款确定性的 2D 与 3D 游戏引擎。场景使用 TOML,脚本使用 Balaur Script 并可在毫秒内重新加载,相同的输入在所有平台上都会得到相同的画面。

默认即确定性。

面向多人游戏。 固定 60 Hz tick。录制输入并回放整个会话。HTTP、WebSockets 和 WebTransport。

实时设计。

面向关卡设计。 放置、移动和缩放。查看属性。按下运行键即可开始游戏。

脚本即时重新加载。

面向程序员。 Balaur Script 采用 Rust 语法并支持 async/await。支持断点的热重载。用 Rust 或 C 编写插件。

2D 和 3D 动画。

面向动画师。 使用骨骼和绘制的权重进行网格蒙皮。通过双骨骼 IK 和注视约束摆姿势。从 glTF 导入 3D 骨架。
场景上的两个 2D 光源,各个形状作为遮挡物投射出阴影

光照、阴影和着色器。

面向美术师。 2D 光源和遮挡物。用 WESL 编写材质。后处理、粒子、瓦片地图、精灵和网格。

一个引擎,应有尽有。

十二项内容,每项一句话。详细版本见功能。
  • 节点与场景 附带脚本的节点树,保存为 TOML。
  • Balaur Script Rust 语法、静态类型、async/await,以及编辑器内置的调试器。
  • 即时热重载 保存脚本,新代码在毫秒内生效。
  • 确定性,始终开启 在所有平台上,相同的输入,相同的输出。
  • 2D 和 3D 物理 两者底层均为 Rapier,以固定 60 Hz tick 步进。
  • 渲染 2D 和 3D。
  • 动画与骨架 片段和补间动画、带蒙皮多边形的 2D 骨骼、来自 glTF 的 3D 骨架、双骨骼 IK。
  • 编辑器 它本身就是一个 Balaur 项目:场景树、检查器、操纵器、时间轴、绑定工具、编辑器内运行。
  • 网络 HTTP、WebSockets 和 WebTransport,支持压缩。
  • 所有平台 桌面:Windows、macOS 和 Linux。移动端:iOS、Android。还有 Web。
  • 导出 脚本、场景和资源打包进单个可执行文件,每个平台一个。
  • 使用 Rust 构建 使用 Rust 编写,复用流行的库:Rapier、wgpu、egui、rodio、wasmtime。

今天就开始。

免费开源,MIT 许可。下载编辑器,打开一个示例,改点什么。