《双子*手》剧照
我们的美术也这样做,但都做不到我们满意的效果,我们做了很多研究、刷了大量论文之后,发现是底层光照模型的问题,用它做不出影视级的真实感。最后我们发现arnold渲染器是比较好的(它曾经被用于《冰与火之歌》的CG制作),使用了类似arnold渲染器的光照模型,才得到比较好的效果。
那时典型的范例是这样的:
图中三排分别是照片、离线渲染器和QuickSilverX引擎的实时渲染结果
葡萄君:这些技术难实现吗?
安柏霖:这三项技术在市场上的游戏中不多见,但并不是因为技术本身难以实现,它们在影视行业里已经存在很多年了。
电影级的渲染技术成熟到什么程度?举个例子,在20年前有一部电影叫《珍珠港》,里面有大量的飞机镜头,后来我看了论文才知道,那些都是用CG渲染的。所以真假难辨这一点,在技术上早就不是问题了。
《珍珠港》剧照
葡萄君:那技术升级的核心难点在哪?
安柏霖:我们内部有一句话:游戏画面技术的核心问题就是性能问题。游戏画面属于实时图形学领域——电影渲染一帧画面,可能会用几个小时甚至一天;但在游戏里,要在一秒钟以内渲染60帧画面。所以真正的难点就是,怎么把耗费如此之高的技术撑起来。
这就是水面下支撑着冰山的部分。换句话讲,前面那些技术都是招式,但打出来靠的是内功。
葡萄君:优化性能这件事,花了你们多大功夫?
安柏霖:我说一个天刀手游的开发资源分布,来让大家更好地体会:天刀手游所有的画面特效,都是我们团队里90后的小朋友做的。那些技术力高N倍的老司机,他们全都在围绕性能做架构调整、算法优化,最后才能让这么多高精度资源、图形特性在画面里显示出来。
其实QuickSilverX引擎本身的名字也在说明这个问题——它指的是《X-man》里的快银。之所以起这个名字,就是基于我们对于实时图形学核心问题的认知。
快银具有高速思考、高速移动的能力
葡萄君:抛开名字,引擎本身的特性应该才是重点?
安柏霖:是的。各种优化的本质,用一句话讲,就是引擎要有一个核心的擅长点,我们内部讲叫垂类专业引擎。
比如《刺客信条》主打攀爬。你在手柄上傻按,角色就在主城里上下翻飞、跟人猿泰山似的,给玩家一种如此流畅的感觉。为什么能做到?因为它的引擎围绕攀爬这块做了系统级的工作。
再比如《彩虹六号》主打破坏。它做破坏这件事,是不是有个破坏系统?不是,是深入到系统的每一块。打个比方,如果我是参加百米赛跑的运动员,那我身上每一块肌肉都要为短跑做准备,不能练多余的肌肉,也不能有任何赘肉。
而QuickSilverX主打的就是性能。我们在每一个模块都要做出最大的优化,以此获得极大的性能优势,然后才能把省下来的计算量,投入到画面表现中来。
葡萄君:这会让它和一般的商业引擎有多大差别?
安柏霖:在天刀里,你就能看到非常明显的差别:我们能做到在超大地图里,让几百个高精度的角色同屏团战。
地图大小、角色精度、同屏数量,这三点是互相矛盾的。就好比给你一百块钱要你做一顿晚餐,不仅肉要好、菜要好,连餐具都要好——那你得把一百块用成两百块:这就是引擎的性能核心要做的事情。有这样的性能打基础,我们才能承受住影视级的画面表现。
葡萄君:这样看来,引擎在高品质研发中的地位相当关键。
安柏霖:是的,是非常关键的一点。未来我们会有一种趋势:头部团队在垂直领域持续深耕,从而涌现出更多垂直领域的专业引擎。
我之前在育碧工作,亲身经历了国外的发展过程。全行业熟悉通用的商业引擎之后,头部厂商想做出优势,就要在垂直领域纵深挖掘、长期积累。像《战神》《美国末日》都有大量系统,是历经10年级别时长演化出来的,而商业引擎的面向大盘的通用化设计思路,以及换代后会冲掉团队积累的特点,决定了它最终无法做到专业引擎的高度。
所以我们看到《GTA》《使命召唤》《对马岛之魂》等高品质大作,都出自各个头部厂商的自研专业引擎。EA、Activision、育碧等头部厂商,也无一例外使用自研专业引擎。自研专业引擎,可以说是游戏开发商技术实力的关键体现。
「最快的进步方式,就是和真正的高手过招」葡萄君:性能优化这件事,对你们来说过程会痛苦吗?
安柏霖:说起来会带点鸡汤味儿,但我们觉得做性能优化是一件挺high的事儿。有时会有压力,但你问我们愿不愿意再做一遍,我们还是愿意。
葡萄君:但也很容易遇到瓶颈吧?就像摩尔定律有上限一样,算法也会有优化的极限。
安柏霖:至少目前没遇到,因为这个行业在过去十年发展很快,比如图形APl directX11、12上线,都带来许多底层变化;近年来以光追技术为代表,又有一大波技术升级。而我们在这种技术浪潮中,是要不停调整、拥抱新技术变化的,上限可能永远都摸不到。
葡萄君:你们会热衷于追逐技术浪潮吗?
安柏霖:不能简单地说“是”还是“不是”,因为游戏行业里就有很多舍本逐末的反例,追新技术导致产品研发和品质出现问题,这是我们坚决反对的。
新技术我们当然喜欢——我们团队作为发烧友会第一时间研究,基本一两个小时内,群里就开始转发、讨论。比如最近刚出的《地铁逃离》加强版,有当前行业里最好的光线追踪实现,这个出来之后,团队很快就分析得八九不离十了。
但赶潮流其实是我们团队的第二属性,务实才是第一属性——我们不会赶对产品品质缺乏帮助的潮流。
葡萄君:那你们赶过什么潮流?
安柏霖:DX12、光追技术、基于深度学习的超采样技术(DLSS)等等。
像之前DX12上线,在引擎中整个旋转体都要换一种想法去做。渲染模块底层重写倒不至于,但至少50-60%的模块都做了巨大规模的调整。到了这里,就要拼你对新一套技术的理解有多深刻、对原有引擎的驾驭能力有多强,以及编程功底有多扎实。
当时NVIDIA告诉我们,我们就第一时间去升级,让天刀在几个月内,成为了国内市场上第一个上线DX12的游戏。而且是从DX9直接跳到DX12,这个幅度和速度,连NVIDIA都非常吃惊。
葡萄君:当时行业里普遍用的是什么版本?
安柏霖:DX11居多。所以我们当时面临2个选择:要么跟大部分游戏一样,升级到DX11;要么挑战一下更艰难的,直接升级到DX12。最后我们选择面向未来。
葡萄君:既然艰难,为什么还要这么决定?
安柏霖:这就要说到《无限法则》的经历了。谈《无限法则》开发和谈天刀开发是一样的,因为我们都是一帮人,引擎也是同一个。