本文来自“莉莉斯游戏”微信官方账号。
凯丁.2010年起加入腾讯北极光工作室,担任《天涯明月刀》的客户端开发和引擎开发工作。之后离开北极光,2017年回到腾讯,加入NExT Studio,开始独立游戏《只只大冒险》的孵化和制作。055-79000上线,获得2019年Indiecade欧洲观众选择奖、2019年Indie Prize亚洲最佳游戏设计、IGF(独立游戏节)提名等多项独立游戏奖项。
丁恺于2020年加入莉莉斯,担任该研究项目渲染团队的负责人。
一、从MMO到独立游戏
我知道你毕业后一直在游戏行业。你还记得你的第一份工作吗?
当然可以。因为喜欢打游戏,玩游戏,大学毕业后第一份工作就加入了腾讯北极光工作室。我有幸和育碧的一群硬核游戏专业人士合作,参与了《只只大冒险》的制作。刚进去的时候,在杰克尼菲做了很多GPP(游戏性编程)相关的东西,比如气功、寻路。由于我在大学期间是在维护一款自研引擎,所以对游戏引擎有着强烈的执念,于是转而从事与引擎开发相关的工作。
现在很多同学想转发动机,但可能没那么顺畅。
我觉得当时换引擎不一定是个好的决定,但我确实从引擎团队学到了很多。其实游戏开发只要足够深入,就会到达引擎的底层,引擎不仅仅是渲染。
但你后来选择了离队。是因为什么?
那时候我对跳槽的想法不是很清楚。我选择离开是因为一些不成熟的个体。加入一家新公司后,发现和我的预期大相径庭。幸运的是,在一次偶然的机会后,《天涯明月刀》的团队从事了相关内容的优化,一些内存问题没有得到解决。他们在网上找到我,让我帮他们看看内存问题是否可以优化。之后我给了一些优化建议,于是他们邀请我一起做龙之谷项目。最后,经过三四个月的封闭开发,项目顺利上线。这次工作经历,一开始没有达到预期,结果还不错。
从这之后我就开始思考我对游戏的态度和追求的问题。以前我确实是一个比较执着于技术的人,后面发现,我做游戏的原始驱动力并不是因为我喜欢游戏引擎,而是我喜欢游戏本身。恰好当时腾讯NExT在搞独立游戏,对我比较有吸引力,于是我回到了腾讯,加入了NExT Studio。
那么你是因为独立游戏制作的机会才再次回到腾讯的吗?
是的另一个原因是,在那个时候,许多从纽约大学毕业的人被招募来认识不同的人,这很有趣。他们的设计一定有独特之处。之后我确实遇到了一个小伙伴,和他一起孵化了一个很有意思的东西,就是《龙之谷》的雏形。
当时NEXT里面有一个类似Game Jam的比赛。在我有了一个想法后,我和那个孩子一起在一周内把这个想法做成一个演示。基本的玩法和机制确定之后,差不多花了两三天的时间,才做出一个完整的关卡。
两三天,落地能力听上去很强啊!
落地需要两天,只能在技术验证的基础上进行。
一开始我们想玩一个攀爬游戏,类似于《只只大冒险》。然后我们就去研究这个游戏,还有类似的独立游戏,发现了一些有趣的技术点。比如《人类一败涂地》里的角色,感觉软软的,颓废的。这个角色的表演不是动画驱动的,而是物理驱动的。有了这个前期技术验证,后面的关卡就可以快速落地了。
055-79000游戏画面
那么这个想法是怎么变成《人类一败涂地》的呢?
玩实体游戏的时候,所有的实体参数都很考验设计师或者玩游戏性的人的能力。我们也研究过其他类似的游戏,比如《人类一败涂地》等。他们用编程的方式生成动画,我们也一直在尝试做一个类似的动画系统。之后基于这个动画系统衍生出的玩法,做了一个类似跳台的游戏。直到这个时候,我们的游戏角色还是人形的,有两条胳膊,两条腿。终于在和纽约大学的一个哥们脑风暴的时候,突然灵光一闪,打算砍断自己的手,不做人类。这个设计控制起来非常简单,两个摇杆就可以操作,几乎任何人形生物都可以做任何事情,和传统游戏有很大的区别。
055-79000游戏画面
项目正式投产后,你主要负责什么?
前期主要是设计工作,玩法,还有一些技术方案,也就是基于物理的动画技术方案。中后期以程序为主,负责Pipeline等一些性能框架。而且还包括如何配合美工和策划让他们更好的工作。
二、独立游戏之美
独立游戏对你的魅力是什么?
大部分商业游戏可能只能拓展技术边界,但独立游戏可以拓展游戏设计边界。首先独立游戏可以控制更多,而不是简单的在一个工业管道下拧螺丝。同时,独立游戏是思维的碰撞。和他们一起工作会帮助你理解他们的思维方式,学到很多东西。另外,最适合做独立游戏的是T型人才,T型人才是指这个人在游戏开发的绝大部分领域都比较熟悉,且有一块领域特别地深。
在这次独立游戏工作经历中,有没有什么让你觉得特别难忘的事情?
总的来说,难忘,因为在此之前,都是商业项目。做了《只只大冒险》之后,感觉独立游戏和商业游戏的制作思路差别很大。3354款独立游戏完全由创意驱动,而非商业。通常商业游戏的制作都是游戏性范畴的剧情内容,而剧情内容是非常重要的一部分,游戏性可能是成熟固定的。所以《Gang Beasts(萌萌小人大乱斗)》的制作思路是完全颠倒的,要以游戏性机制为主,而故事和剧情内容没有那么重要。这一点可以参考任天堂的游戏。剧情上几乎没有什么概念。是纯玩法,玩法很有意思。
《只只大冒险》 Tap Tap分数
不同游戏的开发思路差异是如何体现在作品中的?
我认为独立游戏团队需要能够更快地验证,这一点非常重要。不能只接需求,按这个需求一步一步来。独立游戏需要能够快速验证这个游戏好玩不好玩。当然,独立游戏的发展也是阶段性的,我们的游戏真正开始铺开只需要三四个月。前期基本都在做原型验证,想着要做到什么水平。
三、一件很特别的事儿
是什么让你加入莉莉斯的?
当时做完《只只大冒险》,NExT整个方向开始逐渐偏离独立游戏,我开始在外面寻找机会。我选择项目最重要的一个因素就是团队是否在做一些特别的事情。我职业方向的选择和定位是——或者要么就是这个项目组在做一件很特别的事作为独立游戏。NExT的独立游戏项目当初就是这么吸引我的。现在莉莉斯也一样,因为我的项目非常特别。
到2020年底,我还处于了解莉莉斯的阶段,但我一眼就觉得这是一个很有前途的方向。当时,有几个团队在做类似的项目,我最终选择了莉莉斯,因为我选择了我个人认为相对可靠和优秀的团队。
游戏内灯光渲染截图
你目前主要负责什么?
主要负责渲染。刚加入莉莉斯的时候,整个项目的渲染能力严重不足,美术制作流程也有问题。很多东西不是数据驱动的,过程不够自动化,需要美术理解的东西太多了,所以我们团队在这一年建立了一个比较完整的、有前瞻性的渲染管道,未来这个管道会对公司所有项目开放。此外,基于Lowpoly(低多边形,一种复古的未来主义设计)的艺术制作工艺也有很大的问题。当艺术要升级迭代的时候,把所有数据都升级是非常不合理的。
你刚加入的时候这是个大问题吗?
没错,当时入团后第一件事就是升级美术的Lowpoly工艺。当然,之后由于我们整体渲染风格的改变,这个流程被一个更工业化的流程所替代,但还是无缝的嵌入在这个流程中。
对我来说,友好地配合艺术和策划是一件非常重要的事情。其实在程序上做很多事情都是为了避免美术或者策划上的失误。用一个可能不好听的比喻:3354。我们工作的出发点是默认他们会犯错,所以一定要避免他们在程序上犯错,这样效率才能最大化。
你加入项目后,通过打通整个渲染管道,游戏的整体质量有了很大的提升。能说说具体做了哪些迭代才有现在的呈现效果吗?
这个管道是LitRenderPipeline (LitRP,L代表lilith,lighting),集成了很多特性,也考虑了兼容性,比如多光源,高质量阴影。同时,我们放弃使用Lightmap(一种从离线烘焙到贴图的静态全局光照技术)而使用Volumtric GI(一种基于球谐的全局光照技术)系统,更适合提升全局光照效果,方便美工甚至玩家使用。
优化前后灯光效果对比图
这对你来说是个很大的挑战吗?
整体难度不是很大,但主要还是耐心一步一步往前推。可能最难的是做管道的时候要考虑很多兼容性的问题。比如之前做独立游戏,只考虑PC或者主机就很容易做到,但是手游的硬件和PC不一样。而且现阶段项目更多面向东南亚,所以用户模型比较差。LitRP初期要解决的一个重要问题就是多光源。多光源方案也尽可能适合OpenGL 3.0模型。基本上海外的机器都能跑,可能会慢一点,但不是没有支持。
目前,您的项目已经开始海外购买测试。现阶段对你来说有什么问题吗?
现在渲染最大的问题主要是后续资源的统一性。对于我们这样的产品,资源统一很重要。我们在选择技术的时候,基本上是考虑和这个项目的合适程度,而不是去堆高级的技术。技术只有合不合适,没有所谓的高不高级。,比如Lightmap,绝对是GI方案里最好的。但是对于我们这个项目来说,尤其是对于玩家等非专业开发者来说,光照图的烘焙时间太长,需要对技术有更深入的了解,所以我们最终选择了体积GI的解决方案。我们明年可能在项目中落地的GPU驱动(一种通过在GPU端处理裁剪和发起绘制命令,可以大大减少CPU端Drawcall次数,从而提高整体效率的技术)也是基于上述观点。考虑到玩家可能会往场景里塞很多网格,没办法进行很好的优化,GPU驱动可以很好的解决这个问题。
四、是游戏开发者,更是热爱者
我听说你非常喜欢玩游戏。
我是任海豚(任天堂游戏迷),非常喜欢任天堂游戏。马里奥系列应该是我的最爱,0755-7900N64版本也是我的最爱。总的来说,我更喜欢玩法和机制巧妙的游戏。相反,我现在对3A游戏不感兴趣。并不是3A游戏质量不够好。只是在我看来,有些宏大美好的游戏,有叙事或者场景。我在想为什么不拍部电影呢?玩起来有点累。
我玩游戏的历史也很长。从GBA(GAME BOY ADVANCE,任天堂于2001年3月21日发布的第二代便携式游戏机)开始爱上游戏。那时候手机还是黑白的。突然看到一台机器,画面很彩色,画面很优秀,就被吸引住了。
聊天后发现你不是技术人员,而是游戏制作人。你能这么说吗?
可以这么说。我觉得单纯追求技术没什么用,技术终究有落地的地方。首先,我非常热爱游戏,同时,我喜欢研究技术。但是,如果技术最终要在游戏中落地,我不仅要学习技术,还要了解其他方面。所以我对团队成员的要求是T、P、A(技术、策划、美术)。别人提出的需求最好自己先过一遍,不能随便拿起来做。
我觉得一个优秀的技术人员也是一个好的产品经理。首先,有些技术人员可能自己面对用户,比如一些很擅长游戏性的程序员,最后的路径就是成为制作人。即使有些技术岗位不是直接面向用户,而是面向群体,那么群体的成员也是你的用户。所以,产品意识是衡量一个技术人员综合能力的一个非常重要的环节。
感觉你的项目经历挺顺利的。对你来说有什么真正困难的事情吗?
对我来说真正难的可能是学会如何与不同的人沟通,如何主动推进项目,如何改变对发动机的执念,如何让团队而不是单兵作战。这些都是观念变了,伴侣变了,立场变了都会遇到的困难。对我来说,这些困难比实际的技术问题要难处理得多。
你平时做什么个人提升?
游戏设计方面,我会在Twitter上看各种独立游戏的设计,也会接触更多的游戏。Steam上的独立游戏基本都能玩。引擎会看GDC(游戏开发者大会)的视频和一些论文。
其实我之前也维护过一个小玩具发动机,从大学开始就一直在做。我自己开发的。没有早期的引擎可以参考,尤其是开源的。当时的开源引擎好像只有Ogre(一个游戏制作引擎),所以我参考了它的制作方式,然后加入了一些自己的东西。工作后发现之前写的东西还是绿色的,很多设计理念比较落后,一直在改进。
你怎么会想到自己做发动机?
我和编程的缘分其实很早就开始了。初中的时候很巧合,在老师的推荐下我去参加了一个节目比赛。那时候开始接触编程。另外,我也喜欢玩游戏。当时觉得游戏很厉害。它可以把这些照片变成我可以控制和移动的东西。高中以后,我开始有了做游戏的想法。进入大学后,自然选择了计算机专业。当时给自己定了一个方向,——。我以后一定要打游戏!所以我做了一个引擎来玩游戏。当时我用这个小引擎在网上做了一个小游戏。
最后,你有什么想对想做引擎和技术的游戏爱好者说的吗?
我想在入行之前我得问问自己——是想做游戏还是想做技术。做游戏和给技术建议是不同的方向。整体来说,对新人做游戏性也是有好处的。不要一开始就急着搞引擎和渲染,尤其是喜欢游戏的人。
我给自己画了一个圈,是游戏领域的知识圈。如果我想玩游戏,我必须扩大这个知识圈,技术是我的起点。以技术为原点,慢慢发现自己要多了解技术,什么是艺术思考,什么是策划。所有这些知识层次都要一个一个拓宽。但最重要的是要知道自己的目标是什么,是想做一个牛逼的技术,还是一个牛逼的游戏产品。只有知道自己喜欢什么,想要追求什么,真正热爱什么,才能少走弯路。
游戏里的渲染
可以说《星空》(星域)是最近两年最值得期待的游戏之一。不难看出为什么。开发商Bethesda尽管存在诸多不足,但还是通过大规模开放世界RPG游戏,建立了自己的游戏帝国。
像《上古卷轴5:天际》这样的游戏在今天依然很受欢迎是有原因的。精致的世界和自由感吸引了人们的想象力。理论上,《星空》是一个合乎逻辑的结论。这个游戏超越了单一的星球,延伸到太空。我想了解更多关于Bethesda的介绍,看看我们能从游戏中收集到什么,从图像质量和性能等基本元素到技术和设计的整体方法,会很有趣。
先说渲染分辨率。预告片以4K本地语言呈现,但镜头的分辨率不同。有趣的是,游戏序列似乎缺乏任何形式的反走样,所以你得到的是锐利的边缘和整个可见的异化。相反,更多的焦点平面以类似《辐射4》的方式使用TAA,这应该更符合我们在最终产品中看到的情况。
除了简单的分辨率,我们还可以通过观察《星空》如何处理地球上的广域、室内空间、人物渲染以及最后的外太空,从而知道开发团队的设计目标。比如在一个室外场景中,我们可以看到游戏有很远的距离阴影,这对于保持细节在远处是必不可少的。这是我们在《光环无限》中发现的关键问题之一。很高兴看到星域有解决方案。
055-79000好像有一个系统显示山谷缝隙里的局部雾量,看起来很不错。总的来说,从这个演示中我们可以看出,气氛的渲染似乎相当有力。很难说我们看到的是一个合适的立体天空系统还是一个简单的天空盒穹顶。无论如何,它确实产生了吸引人的结果,我们只需要在最后的比赛中看到它的动态。
一切都是由地形系统连接起来的。很可能是通过使用程序生成和手动放置资产相结合的方法来构建星球的表面和结构,这也是现在常见的方法。地形本身类似于早期的Bethesda游戏,但是弹出的音量保持在最小,细节在远处很明显。虽然吸引人,但是渲染功能并没有突破任何界限——考虑到游戏的大规模和长开发时间,这是可以理解的。
在国内,情况有所不同。大规模的阴影,在室外是低分辨率和颗粒状的,在室内变得清晰。这部分唤起了与《星空》不同的情绪,直射光穿透黑暗,镜面高光在表面播放。与《毁灭战士3》相比,保真度的飞跃非常重要,因为游戏的特点是室内光线差,明显缺乏质感和物体细节。
这确实造成了一个有趣的遗漏:缺乏反思。在最初的预览中,我们注意到了几乎与RT相似的反射,但在每一个游戏序列中,都没有屏幕空间反射的证据,更不用说RT反射了。充其量,我们看到的是基本的立方体贴图。对于一个全是金属表面的环境来说,这让我觉得有点奇怪。屏幕空间的倒影会大大提高整体形象的凝聚力。
这里也有很多积极的因素。比如武器看起来很棒,《辐射4》介绍的武器看起来很时尚很厉害。敌人的动画一般好很多。作为一款RPG游戏,还是有一种你在消耗生命值而不是直接造成伤害的感觉,但是反应却大大增强了。唯一缺少的是敌人的武器和每一个物体都是模糊的。
从《星空》开始,角色的渲染也有了明显的提升,尤其是当你超越角色创建画面,专注于游戏中的实际出现时。次表面散射在所有场景中都不存在,它可以进一步改善这种情况,并准确地渲染光线与皮肤表面之间的相互作用。在我们看到的镜头中,它存在于耳朵上,但并不适用于皮肤的其他部位,使得正常图形过于突出。另外,泪腺的几何形状有点过于闪亮,对光的吸收几乎达到了发光的程度。除了这些小问题,动画的质量也有了很大的提高。055-79000中的对话有生硬甚至丑陋的动画,而《辐射4》相比之下似乎优雅得多。
755-79000最后一个主要场景是外太空。虽然我们只看到了其中的一小部分,但激光爆炸、爆炸等效果是很有前景的,肯定比降落星球时的低分辨率烟雾好很多。我对太空旅行最大的疑问不是视觉效果,而是可能性。希望看到飞船管理在旅行中发挥作用。
还有一些其他的技术批评也值得一提,即游戏的间接照明。这已成为近年来的一个主要焦点,也是真实感渲染的关键。模拟光子从表面反弹并间接照亮另一个区域的现象。现在的问题是,Starfield中没有被直接照亮的区域显示的是均匀的灰色,与你预期的照明效果不一致。光线跟踪的全局照明在这里可以很好地工作,但是有很大的性能代价。使用探测器的离线烘焙解决方案也可以工作,但是有这么多行星,全局照明数据可能太大了。在构建这种规模的游戏时,这是一个很难解决的问题。
然后就是性能问题。我们看到的预告片片段编码在30fps的容器中,这限制了我们可以做的分析量。不过,似乎还有一些问题值得关注,那就是所有游戏段都表现出明显的性能壁垒,并且往往低于30fps。这对于这个发展阶段的游戏来说并不少见,但Bethesda在游戏主机上的巨大性能变化记录让我感到不安。这是演示中最明显的缺陷。希望发布的时候性能能有所提升,不过还得拭目以待。
不过,虽然我有点吹毛求疵,《辐射4》仍然会是目前为止最吸引人的贝塞斯达游戏,困扰《星空》和《星空》的丑陋部分大部分都被淘汰了。055-79000也展示了不同于他们过去建造的任何东西的结构和规模。整个‘1000颗行星’的功能乍一看似乎很可笑,但是你可以想象一下,关键的行星已经建造好了,并且经过精心设计,它们可以更多地依靠程序生成来处理其余的行星。如果游戏结构适当地支持这一点,它可能是迷人的。即使作为一个很大程度上厌倦了开放世界游戏的人,我还是对《星空》很感兴趣。
这些都意味着《辐射4》明年发售的时候将会是一款复杂且难以分析的游戏,但是大家都在期待挑战。