Rust开发游戏三年后吐槽:上下文不灵活

💡 原文中文,约3500字,阅读约需9分钟。
📝

内容提要

这篇文章详细阐述了一位游戏开发者使用Rust进行游戏开发的经历和决定停止使用Rust。作者提到了Rust学习曲线、借用检查器、重构和迭代速度、间接性、ECS、泛型系统、全局状态、GUI开发、编译时间、生态系统和炒作等问题。作者认为Rust在游戏开发中上下文不灵活,对全局状态厌恶,生态系统建立在炒作上。作者还提到了一些积极的方面和未来计划。

🎯

关键要点

  • 作者决定停止使用Rust进行游戏开发,认为Rust不适合他们的需求。
  • Rust的学习曲线陡峭,经验并未消除语言中的问题。
  • 借用检查器在不方便时强制重构,影响代码编写流程。
  • Rust的静态检查特性与游戏开发的快速迭代需求相冲突。
  • Rust倾向于通过增加间接层解决问题,牺牲开发者舒适性。
  • ECS在Rust中的使用主要是为了解决借用检查器的问题。
  • 过度的泛型系统导致游戏玩法缺乏特定体验。
  • Rust社区对全局状态的厌恶影响游戏开发的便利性。
  • Rust生态系统缺乏优秀的游戏GUI解决方案。
  • 尽管编译时间有所改善,但过程宏仍然是个问题。
  • Rust游戏开发生态系统建立在炒作而非实际项目上。
  • 作者提到Rust的性能和特质系统等积极方面。
  • 未来计划是将Comfy游戏引擎的渲染器移植到Macroquad。
  • 作者的新游戏《Unrelaxing Quacks》利用Rust实现高性能。
  • 上下文对象在Rust中不够灵活,导致开发者面临许多问题。
  • 共享所有权是Rust的替代方案,但并不总是有效。
  • 创建上下文结构体可以解决部分借用问题,但增加了复杂性。
  • Rust的类型系统限制了开发者的灵活性,影响游戏开发效率。

延伸问答

为什么作者决定停止使用Rust进行游戏开发?

作者认为Rust不适合他们的需求,主要是因为上下文不灵活和借用检查器的限制影响了开发效率。

Rust的学习曲线对游戏开发有什么影响?

Rust的学习曲线陡峭,尽管经验丰富,但许多问题依然存在,影响了开发者的生产力。

Rust的借用检查器如何影响代码编写流程?

借用检查器在不方便时强制重构,干扰了自然的代码编写流程,影响了快速迭代。

Rust在游戏开发中有哪些生态系统的缺陷?

Rust生态系统缺乏优秀的游戏GUI解决方案,并且建立在炒作而非实际项目上。

作者对Rust的泛型系统有什么看法?

作者认为过度的泛型系统导致游戏玩法缺乏特定体验,使得游戏开发变得无聊。

作者未来的游戏开发计划是什么?

作者计划将Comfy游戏引擎的渲染器移植到Macroquad,并开发新游戏《Unrelaxing Quacks》。

➡️

继续阅读