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 在 游戏开发 中排名
每月下载量 199 次
215KB
4K SLoC
Bevy YOLECK - 您自己的关卡编辑器创建套件
Yoleck 是一个库,它使使用 Bevy 游戏引擎构建的游戏能够作为其自己的关卡编辑器。
功能
- 相同的可执行文件可以启动游戏模式或编辑模式,具体取决于应用程序添加的插件。
- 编写基于可序列化结构的系统以创建实体 - 使用相同的系统来加载关卡和在编辑器中可视化它们。
- 使用 egui 小部件编辑这些结构进行实体编辑。
- 支持提供更多视觉编辑的外部插件。
- 一个简单的此类插件 - Vpeol 包含在库中。它提供基本的实体选择、鼠标拖动定位和基本的相机控制。它有两个带有功能标志的变体 -
vpeol_2d
和vpeol_3d
。
- 一个简单的此类插件 - Vpeol 包含在库中。它提供基本的实体选择、鼠标拖动定位和基本的相机控制。它有两个带有功能标志的变体 -
- 一个用于更多视觉编辑的旋钮机制。
- 在编辑器内测试关卡。
- 使用 Shift 键在编辑器中选择多个实体。
示例
- WASM 示例 - 由于是 WASM,您无法保存关卡,但可以编辑关卡并运行测试
-
2D 编辑器: https://idanarye.github.io/bevy-yoleck/demos/example2d
https://user-images.githubusercontent.com/1149255/228007948-31a37b3f-7bd3-4a36-a3bc-4617d359c7c2.mp4
-
3D 编辑器: https://idanarye.github.io/bevy-yoleck/demos/example3d
https://user-images.githubusercontent.com/1149255/228008014-825ef02e-2edc-49f5-a15c-1fa6044f84de.mp4
-
动态加载多个关卡并卸载它们: https://idanarye.github.io/bevy-yoleck/demos/doors_to_other_levels
https://github.com/idanarye/bevy-yoleck/assets/1149255/590beba4-2ca5-4218-af52-143321bb5946
此示例的 WASM 版本仅包含游戏玩法。要查看编辑器的样子,请克隆/下载仓库并运行
cargo run --example doors_to_other_levels --features vpeol_2d,bevy/png
-
- 示例游戏
- 从 https://aeon-felis.itch.io/danger-doofus 下载二进制文件
- 在 https://github.com/idanarye/sidekick-jam-entry-danger-doofus 查看代码
- 使用
--editor
运行可执行文件以使用 Yoleck 编辑游戏关卡。
文件格式
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 License,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任由您选择。
贡献
除非您明确声明,否则您提交给包含在作品中的任何贡献,如Apache-2.0许可证中定义的,将按照上述方式双许可,不附加任何额外条款或条件。
依赖关系
~37–75MB
~1.5M SLoC