APP STORE 独家

脚手架上的侦探

游戏引擎工程师诺诺:不断修 bug 的游戏人生

2018 年,上海交通大学计算机学院软件工程专业的学生诺诺,玩起了《塞尔达传说:旷野之息》,玩到近乎百分百全收集,走遍了地图的每一个角落。玩无可玩之后,诺诺开始关注游戏之外的东西,特别是任天堂传奇总裁岩田聪的著名演讲《玩家之心》。

尽管地域不同,语言不通,但是我们有一颗相同的玩家之心――这个理念深深打动了诺诺。她希望有一天自己也能以玩家之心,做出感动别人的游戏。

诺诺现在是《明日方舟:终末地》的游戏引擎工程师, 她向我们讲述了这个普通玩家几乎不会关注却又非常重要的领域。

就像是侦探破案。
null

App Store 编辑:游戏引擎工程师,这个职业对于很多人来说非常陌生。可以介绍一下你的工作吗?

诺诺:如果把一款游戏比作一栋大楼,我们的策划、开发、美术同事等等像是造房子的人,而我所在的引擎开发队伍则是搭建脚手架的人。搭好脚手架,提供好工具,其他同事才能把房子搭好。

同时,这个脚手架最好不要被玩家察觉到。比如游戏里玩家搭建工厂流水线,里面有很多动态的建筑和设备,其实是很容易卡顿或者出 bug 的。我们工作的一部分,就是不断优化、迭代技术方案,尽量提升性能、节省内存占用,并且让动画看起来是丝滑流畅的,不影响玩家沉浸布置产线这件事。

工厂建设是这款游戏的重要玩法。

App Store 编辑:可以说说你遇到的印象深刻的 bug 吗?

诺诺:之前有一个 bug,你知道工厂玩法中据点升级的时候会播放动画对吧?测试时发现动画中高处的核心会胡乱抖动。我们就去检查,模型看起来是好的,所有数据看起来也是好的,但是那个东西就是在那里抖来抖去。

我就拿了一大叠 A4 纸,在上面写各种原因,就像是侦探破案,把所有的线索贴在墙上,一个个去找,查起来是很痛苦的。好在最后这个 bug 查出来了,是图片精度的问题。

玩家了不起,但我们得修 bug 了。
null

App Store 编辑:说到 bug,《明日方舟:终末地》提供了很多建造工具,很多玩家在里面玩出了意外效果。作为引擎工程师,你怎么看?

诺诺:看到玩家喜欢我们做的游戏,真的很有成就感。很多玩家真的很天才,之前有个玩家走位卡到空气墙的外面,把工厂的滑索搭过去,进入了一片还没有开放的区域。我当时就想,哇,还能这么玩!我们跟着玩家的视角,又重新认识了一遍我们做的游戏,很新奇也很快乐。

不过也有一点点害怕,因为玩家爬到了我们预料之外的地方,我们也不知道会发生什么。玩家了不起,但是我们回去就得修 bug 了。

玩家可以使用各种工具,充分发挥想象力。

App Store 编辑:你最喜欢这款游戏的哪个玩法?

诺诺:是工厂。比如我现在要去做一个高级的药品产线,它的生产链条其实很长,我会去算一遍需要多少材料,才能让整个生产线没有任何一个机器在停,所有东西都是刚好跑起来。然后我就去排线,如果流水线都搭得很漂亮,没有乱七八糟的交叉,所有东西都流畅运行,就会感觉太爽了。

这个时候我就算退出游戏,去干别的事情,突然想到在游戏里这个工厂还在很规整地跑,我就觉得很舒服。

最重要的是持续学习。
null

App Store 编辑:从一名学生和游戏玩家,变成现在的引擎工程师,你有没有遇到过颠覆自己认知的事情?

诺诺:有,我用稍微通俗一些的说法来举例吧。比方说以前在技术方面有一个“共识”,一开始我们觉得它也适用于游戏优化。但是我和同事做了详细测试后发现,实际上适用我们游戏的,是和它完全相反的另一种解决方案。这个测试结果对我影响还挺深的,它教会我:过去大家都在用的方案,不一定就是最好的,要时刻去想“是不是真是这样” ,因为我们的开发环境一直都在改变。

App Store 编辑:你觉得对于一个引擎工程师来说,最重要的品质是什么?

诺诺:最重要的是持续学习。行业变得很快,每年都有新技术。如果不学习,吃老本,很快就会落后。我需要去看论文,了解新的算法,理解它为什么比原来的更好,能够适用哪些场景。

当然还要学会团队合作。如果你只是一个学生,自己做一个项目,算法跑起来就 OK。但是对于一个大型的游戏项目,你需要去跟很多其他团队的同事合作,了解同事的痛点,向同事解释你做的东西为什么能解决问题。