我已经在 Steam 上发布了两款游戏,使用 Bevy 引擎,分别是2022年的 Molecoole 和最近的 Weather Dragger。
我已经在游戏开发领域工作了7年多,使用过各种引擎,包括在-house C++ 引擎、Unity、Godot 和游戏竞赛。最近,我倾向于使用 Bevy。
我学到的一个东西是,对于大多数独立游戏来说,引擎的选择并不像人们想象的那样重要。工作流程和代码结构才是真正重要的。
Bevy经常被批评没有编辑器,但我认为这实际上是一种优势。虽然我仍然使用工具如 Tiled、LDtk 和 Blender 进行内容创建,但我更喜欢将核心游戏逻辑放在代码中,而不是在编辑器中绑定场景或预设。
这使得搜索、重构和扩展变得更加容易。字体、摄像机设置、UI 值——只需将它们集中起来并进行一次更改即可。我还使用 spawn 函数来创建实体,如敌人或建筑,这实际上是替代预设的有效方法,但仍然是完全代码驱动的。
对于独立项目来说,我并不认为你需要一个大型编辑器工作流程。大多数情况下,主要的例外是与喜欢使用视觉工具的艺术家密切合作——即使这样,外部工具也可以覆盖它。
Bevy 的 ECS 也使得合作变得更加顺畅。小型、孤立的系统意味着减少了合并冲突和并行工作的难度。
如果你还没有尝试过,完全在代码中构建一个小游戏是一种非常有用的练习。它很快就会显示出你实际上依赖于编辑器工作流程的哪些部分,以及你不依赖的哪些部分。
以下是一些来自我较小的 Bevy 项目的例子(每个游戏的开发时间均小于一个月):
- Bean Football - 不需要“地图”——只是通过代码添加了边界
- The End is Bean - 所有资源都通过代码放置
- Bean Defender - 使用 Blender 场景与 Bevy 构建
最后:crate 生态系统是非常棒的。 tweening、粒子、导航、文本动画——有很多免费的开源工具可供选择。
所以,yeah:使用 Bevy——参与游戏竞赛,并不要害怕尝试新东西!
评论 (0)