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