LogLog 游戏

主要观点:作者多年使用 Rust 进行游戏开发,总结了诸多经验与问题,包括语言特性对开发的限制、生态系统的不足等,最终决定放弃将 Rust 作为主要的游戏开发工具。
关键信息

  • Rust 语言的优点如编译后运行良好、性能较好、枚举实现好、Rust 分析器等,但也存在诸多问题如借用检查器强制重构、动态借用检查导致意外崩溃、上下文对象不够灵活等。
  • 对于 ECS 的不同看法,认为其被过度推崇,很多所谓 ECS 的好处其实是生成式区域的优势,且 ECS 不一定适用于所有游戏开发场景。
  • 强调游戏开发需要快速迭代和原型制作,而 Rust 的一些特性如严格的类型系统等不利于此,如热重载在游戏开发中非常重要但 Rust 实现不佳。
  • 指出 Rust 游戏开发生态系统存在 hype 现象,一些项目虽有亮点但实际使用中存在诸多问题,如 Bevy 的 UI 系统、Rapier 物理引擎等。
  • 作者的游戏开发历程及对不同工具和语言的尝试,最终决定将 Comfy 的渲染器移植到 Macroquad 以获得更多优势。
    重要细节
  • 详细阐述了 Rust 语言在游戏开发中的各种问题,如借用检查器在不方便的时间强制重构、动态借用检查导致的运行时崩溃、上下文对象传递的限制等,并通过具体代码示例说明。
  • 对 ECS 进行了分类和分析,包括作为动态组合、动态数组结构、解决借用检查器问题、创建生成式区域等不同方面,指出其在 Rust 游戏开发中的复杂性和局限性。
  • 强调热重载在游戏开发中的重要性,通过对比不同语言和平台的热重载实现,说明 Rust 目前热重载的不足。
  • 描述了 Rust 游戏开发生态系统中的各种项目,如 Bevy、Macroquad、Fyrox 等,分析它们的优缺点和在社区中的地位。
  • 介绍了作者自己的游戏开发经历,包括使用不同引擎和语言开发的游戏,以及对 Comfy 项目的发展和未来规划。
阅读 58
0 条评论