21 个重大版本发布

0.22.0 2024年7月6日
0.20.1 2024年4月1日
0.20.0 2024年3月19日
0.17.0 2023年11月24日
0.2.0 2022年6月9日

207游戏开发 中排名

Download history 168/week @ 2024-05-05 4/week @ 2024-05-12 9/week @ 2024-05-19 1/week @ 2024-06-02 1/week @ 2024-06-09 94/week @ 2024-06-30 133/week @ 2024-07-07 2/week @ 2024-07-14 9/week @ 2024-07-21 179/week @ 2024-07-28 11/week @ 2024-08-04

每月下载量 199

MIT/Apache

215KB
4K SLoC

Build Status Latest Version Rust Documentation

Bevy YOLECK - 您自己的关卡编辑器创建套件

Yoleck 是一个库,它使使用 Bevy 游戏引擎构建的游戏能够作为其自己的关卡编辑器。

功能

  • 相同的可执行文件可以启动游戏模式或编辑模式,具体取决于应用程序添加的插件。
  • 编写基于可序列化结构的系统以创建实体 - 使用相同的系统来加载关卡和在编辑器中可视化它们。
  • 使用 egui 小部件编辑这些结构进行实体编辑。
  • 支持提供更多视觉编辑的外部插件。
    • 一个简单的此类插件 - Vpeol 包含在库中。它提供基本的实体选择、鼠标拖动定位和基本的相机控制。它有两个带有功能标志的变体 - vpeol_2dvpeol_3d
  • 一个用于更多视觉编辑的旋钮机制。
  • 在编辑器内测试关卡。
  • 使用 Shift 键在编辑器中选择多个实体。

示例

文件格式

Yoleck将关卡保存为具有.yol扩展名的JSON文件。一个.yol文件的最顶层是一个包含三个值的元组(实际上是JSON数组)

  • 文件元数据 - 例如,Yoleck版本。
  • 关卡数据(占位符 - 目前为空对象)
  • 实体列表。

每个实体是两个值的元组

  • 实体元数据 - 例如,其实例类型。
  • 实体组件 - 这是由用户定义的结构。

使用元组而不是对象的原因是为了确保顺序 - 确保在数据之前可以读取元数据。这很重要,因为需要元数据来解析数据。

Yoleck在.yol文件所在的同一目录中生成另一个名为index.yoli的JSON文件。此文件的目的让游戏知道可用的关卡(例如,在WASM中,资源服务器无法查看目录内容)。索引文件包含一个包含两个值的元组

  • 索引元数据 - 例如,Yoleck版本。
  • 对象列表,每个对象包含相对于索引文件的关卡文件的路径。

版本

bevy bevy-yoleck bevy_egui
0.14 0.22 0.28
0.13 0.21 0.27
0.13 0.20 0.26
0.13 0.19 0.25
0.12 0.18 0.24
0.12 0.16, 0.17 0.23
0.11 0.15 0.22
0.11 0.13 - 0.14 0.21
0.10 0.7 - 0.12 0.20
0.9 0.5, 0.6 0.19
0.9 0.4 0.17
0.8 0.3 0.15
0.7 0.1, 0.2 0.14

许可证

在以下任一许可证下许可

任由您选择。

贡献

除非您明确声明,否则您提交给包含在作品中的任何贡献,如Apache-2.0许可证中定义的,将按照上述方式双许可,不附加任何额外条款或条件。

依赖关系

~37–75MB
~1.5M SLoC