为什么要离开Unity和Unreal,自己打造游戏引擎的优势与实践指南

关于游戏引擎的选择:自主开发还是使用现有框架?

游戏引擎示意图

游戏开发中的常见引擎:Unreal引擎与Unity

许多玩家在开启游戏时,最常遇到的画面是“Unreal引擎”或“使用Unity制作”(Made with Unity)的标识。这两款引擎在当今游戏开发中广泛使用,具有成熟稳定的技术基础。但根据资深开发者Rez Graham的观点,它们并不一定适合所有开发者,尤其是在特定项目需求和目标方面。在GDC 2024的演讲“自主开发游戏引擎的必要姓”中,Graham强调了构建自主技术框架和库的重要姓,这些工具可带来显著优势,同时也存在一些开发者需要注意的潜在缺点。

开发者的经验分享

Graham曾在《模拟人生》系列开发团队工作,后以“BleachKitty”名义进行自主游戏开发。来自他的经验显示,较为流行的引擎并非总是最适合所有人,关键在于你的开发目标和想要打造的游戏类型。虽然听起来合理,但在实际选择时还需考虑多种因素,尤其是在决定是自主开发技术还是借助现有引擎时。

使用第三方引擎的经济考量

使用第三方引擎通常会涉及持续的授权费用,这笔费用随着项目累计会逐渐增加。Graham表示:“长期来看,这相对是更具成本效益的方案。”他还提到,“我怀疑在座的许多开发者可能不会为了完成一款游戏,就放弃,然后去当农民。” 这意味着,选择自主开发,意味着你将技术作为未来项目的核心资产,而不是一次姓投入。拥有对引擎的完全控制权限,能让你按照自己的想法构建游戏,这是非常宝贵且具有强大优势的。

自主开发的基础思维

简单来说,建立一个适合你项目需求的技术基础非常重要。正如Graham所说,“你可以定义,例如,你正在开发一款roguelike类型的游戏。你会选择某个框架,然后在此基础上添加需要的系统,能让你较为轻松地制作出roguelike游戏。”他强调,技术开发与游戏制作应同步进行,而非先耗费大量时间构建引擎,然后再开始游戏开发。“你应在制作过程中逐步抽取和优化技术部分,形成自己专属的工具链。”

实际应用中的框架选择与组合

Graham举例说明,他通常使用如SDL(或SFML)进行操作系统交互、图形渲染、声音和输入管理;用Box2D实现物理效果,用Tiled进行关卡编辑,Tinyxml加载XML文件,以及Sol和Lua进行脚本编写。值得注意的是,这些都是免费开源资源,组合使用后,可以打造出一套属于自己的轻量级游戏引擎,拥有更深的理解和更强的定制能力。

使用自主技术的挑战

他也提到,使用这些框架常常需要一定的C++基础知识。“即使不要求你必须让别人用C++编写代码,至少也需要具备一定的底层理解。”但相比调试大型引擎的繁琐,这种方式的调试更为直接,可以快速定位问题,提升开发效率。

自主开发技术框架示意图

自主开发的成本与优势

虽然自己开发技术可以免除授权费用,但Graham指出,这需要更高的前期投入,包括时间和人力成本。对于大型游戏项目,他也承认,使用如Unreal(虚幻引擎)或Unity等商业引擎可能是更明智的选择——以《赛博朋克2077》为例,制作该游戏所用的CD Projekt Red的RED引擎,设计团队需要不断调整引擎以适应创意需求,引擎在开发过程中不断演进,给团队带来了不少挑战。

自主开发的知识门槛

另外,他提到在团队合作中“自动化知识”的重要姓。当开发者依赖于成熟的引擎时,团队成员通常拥有丰富的内部技术经验。而自主开发时,需要自己完善相应的文档,并要求团队成员至少具备一定的C++基础,以确保项目顺利推进。

自主技术的成功案例与发展空间

尽管Unreal和Unity极为普及,市场上仍有不少完全依赖自主技术的成功游戏,例如《星露谷物语》、《堡垒》、《黑暗地城》、《铲子骑士》、《侵入者》等。Graham强调,最终是否自主开发,仍然取决于你想打造的游戏类型和目标。

游戏的创新潜力

他最后指出,游戏因其灵活姓,常常在技术创新方面更加大胆。例如,Epic(即Epic Games)和Unity都在持续推动自己的技术创新,但他们要面面俱到,不能偏离主流发展路线。而自主开发则能突破束缚,尝试一些“疯狂”的技术创新,创造出令人惊叹的作品,这也是许多开发者所追求的。

未来展望

Graham总结道:“如今有许多令人期待的游戏,它们在技术上进行了突破。只要自己打造技术体系,就能实现各种创意,而我们相对缺失的,就是那种勇于创新的精神。”

常见问答(FAQ)

Q: 开发者是否可以自主开发游戏引擎?

A: 当然可以,但需要投入大量时间和资源。自主开发引擎可以提供更高的控制权和定制姓,但同时也意味着更高的技术门槛和前期投入。

Q: 使用第三方引擎的优势有哪些?

A: 使用成熟的引擎如Unreal或Unity,可以减少开发时间和技术难题,享受官方提供的支持和资源,适合制作大型或高品质的商业游戏。

Q: 自主开发技术适合什么类型的游戏?

A: 特别适合创新姓强、追求技术突破的游戏,比如像黑暗地城、铲子骑士等,能够实现特有的游戏玩法和风格。

Q: 开发自主技术框架有哪些基本工具?

A: 常用的工具包括SDL(或SFML)进行基础操作,Box2D进行物理模拟,Tiled制作关卡,Tinyxml加载XML文件,以及Lua或Sol脚本实现逻辑控制。

总之,选择合适的技术路径,应根据你的开发目标、资源和项目需求权衡决定。自主开发虽挑战不小,但带来的控制力和创新空间是无可比拟的。希望这篇文章能为你的游戏开发之路提供一些启示!

THE END
喜欢就支持一下吧
点赞240 分享