游戏引擎
Bevy
可以实现 100% Rust 实现.
- 生态小.
- 生态不稳定: 由于 Bevy 还在激进的开发中, 每次更新都会带来大量的 Breaking changes. 不仅使得升级游戏本身需要不小工作量, 且还需要等待 Bevy 相关的第三方完成更新. 许多第三方难以坚持维护, 导致无法在最新的 Bevy 上使用. 所以采用 Bevy 相关的第三方需要十分谨慎, 或者自行实现相关功能.
- UI 实现困难: Bevy 提供的 UI 相关的 API 难以使用, 且需要大量的代码来实现简单的 UI.
- 基础功能缺失: 比如 Bevy 不具有播放 Sprite 动画的功能, 需要开发者自己实现. 现在的 Bevy 相较于游戏引擎, 称之为游戏框架更为合适.
- 渲染性能不如 Godot: 虽然 Bevy 使用 Rust 进行编写, 并采用 ECS 框架, 但相较于成熟的 Godot 来说, 并不一定能带来更好的性能表现.
- 缺乏移动端支持: Bevy 声称对移动端 (Android 和 iOS) 的基础的支持, 但我尝试将其在移动端上运行的努力均已失败告终.
Godot
可以通过 gdext 来创建拓展, 供 Godot 调用. 无法或难以实现 100% Rust, 可能需要借助 GDScript 作为胶水语言.
- 技术栈复杂: 需要开发者同时掌握 Godot 开发和 Rust 编程语言相关知识.
- 缺乏移动端支持: Godot 本身支持手机端, 但 Rust 绑定暂不支持.