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的类型系统限制了开发者的灵活性,影响游戏开发效率。
➡️

继续阅读