也证明了“画质”“优化”可以兼得。

当下游戏里的天气系统能做到多“真实”?

当一阵风从海面上吹来,带动起轻微的浪花。岸边的树木枝叶颤动,原本轻轻飘落的小雨和樱花瓣被卷起,伴随着纷乱的发丝,打湿了主角的脸颊和衣裳。

打开网易新闻 查看精彩图片

这是育碧去年在《刺客信条影》里所交出的答卷。

至少在画面技术层面,《影》算得上去年整个游戏行业中最被低估的作品之一——之前我很难从玩家角度拿出什么具体的例子来体现这一点,更多时候只是和身边的人们说:“你玩一下一定能体会到。”

这几天,育碧放出了四集短纪录片,讲解了《刺客信条影》究竟依靠着他们的自研引擎Anvil实现了哪些视效突破。像是游戏里的动态天气系统究竟细到什么地步,也就更加具象化了。

育碧的B站官方号也正在更新这系列影片
打开网易新闻 查看精彩图片
育碧的B站官方号也正在更新这系列影片

就以前面提到的风来进一步举例。《影》里的风有着实体碰撞体积——这本身不算特别新鲜的技术,但在Anvil的风可以在一套流体力学算法下,和场景里的其他要素形成复杂交互,会在彼此碰撞发生流向改变,从而更像是自然界里真实的风。

打开网易新闻 查看精彩图片

“风”也只是这套天气系统的一个构成部分。实际体验过这款游戏的玩家应该会对其中的四季变化印象深刻——随着季节转换,植被、河流、动物生态都会发生相应的改变,而春天的细雨、夏日的暴雨、冬夜的雨雪,画面表现都截然不同。

打开网易新闻 查看精彩图片

Anvil也在这一代融入了育碧自家的全局实时光照,使得游戏内室外光线可以穿透门窗——室内明暗由此会随室外光变化,出入房屋也不再像从那样“明一下暗一下”。

打开网易新闻 查看精彩图片

除了这类比较显性的效果,如果你在游戏里有过一些比较细致的观察,或许会留意到即便从高处俯瞰整个城市,远处的房屋和自然景色也保持着和近处相似的清晰度,较远处的人与动物动作也依然流畅。

远处的飞鸟依然保持着流畅的飞行动作,云也不是贴图而是实时演算
打开网易新闻 查看精彩图片
远处的飞鸟依然保持着流畅的飞行动作,云也不是贴图而是实时演算

在大多数游戏中,大场景里的这类细节通常会被简化来保障游戏整体运行效果。但《影》在这方面不仅没有进行弱化,而且优化效果也极其出色,尤其在NS2上,基本称得上是这台主机上目前画面效果最好的游戏。

这同样是基于Anvil引擎来实现的。Anvil的微多边形功能,使得这些模型素材在游戏运行中可以仅渲染玩家所看到的那面,这样不仅省出了算力和显存来确保可见部分的显示效果、避免低清远景变高清近景时的画面突变,美术人员也不用再去手调用于在不同距离显示的高清和低清模型。

打开网易新闻 查看精彩图片

Anvil是育碧从第一作《刺客信条》开始搭建和运用的自研引擎,贯穿了整个系列的发展史,到如今已有差不多20年的技术积累。

在上面的记录短片之外,我们也专访到了Anvil引擎的技术架构师Nicolas。他向我介绍了Anvil鲜为人知的幕后发展史。

Nicolas Lopez在育碧蒙特利尔工作室中担任渲染技术架构师
打开网易新闻 查看精彩图片
Nicolas Lopez在育碧蒙特利尔工作室中担任渲染技术架构师

简略来说,Anvil大致经历过四个重要阶段,即从1代到《黑旗》的初创期;在《大革命》时进行了一次大革新,应用了在当时还相当超前的全局光照和“GPU驱动”技术——这两项如今则已成为业内标配;从《起源》开始,Anvil则开始加强用于构建超大开放世界的功能,引入了优化NPC行动的“Meta AI”、优化内存管理的“稀疏计算(sparsely computed)”等技术。

再然后,就是我们现在所看到的《影》所代表的新阶段。

其引入了多项新技术,核心在于为开放世界实现更多动态效果的同时,迭代出更好的硬件优化解决方案——在当下游戏行业广泛使用虚幻5等商业引擎的语境下,这两者通常是彼此矛盾、需要做取舍的,所以《影》此前的表现从外部来看简直像是运用了某种“黑科技”。

但通过上述的技术拆解,其实能发现这两者或许真没那么“非此即彼”,而是可以通过一些技术巧思来兼顾。尤其对于Anvil自身来说,这样的路线也让这次迭代显得更加平滑——许多人一定还记得《大革命》时因为步子迈太大而导致游戏恶性Bug频出的景象,但这次的《影》对比同等体量的游戏来说,算得上是Bug相当少的那一档。

在过去几年里,不少厂商放弃了自研引擎的道路,转投商用引擎尤其是虚幻5的怀抱,也获得了不错的效果。像育碧这样坚守自研引擎的反而显得有些固执。

但现在来看,Anvil这样的自研引擎依旧具有其特有的长尾优势,一方面是有机会去规避“优化差”“Bug难修”等商用引擎通病,另一方面也更能体现厂商的个性,不断强化某个玩法类型所需要的功能,最终形成一种护城河。从过往的一些发展来看,这些技术创新往往也会给整个行业带来启发。

打开网易新闻 查看精彩图片

尽管还没正式公布,但《刺客信条》系列下一部即将到来的作品大概率是使用最新的Anvil引擎来开发的《刺客信条:黑旗》的重制版

当然,好技术不代表就能带来好游戏。在更多玩家眼中,如何在叙事和玩法内容上做出更多新意,可能才是当下的育碧更迫切面对的问题。这实际也是游戏行业中另一对常见的矛盾:过于“系统化”或者说“工业化”的生产路径促进了技术方面的领先优势,却也可能造成内容创意层面的匮乏。

显然,这两者也不应该是非此即彼的。希望育碧在这一领域也能早日再次找到自己的平衡点吧。

以下是这次采访的完整内容,为便于阅读做了一定调整。

游研社:Anvil引擎问世至今已有近20年了。从外界看来,它一直保持着这个名字,没有任何版本号。我想知道在育碧内部,它这些年是否经历过一些重大更新,甚至推翻重做?

Nicolas:我不会说Anvil经历过“彻底重做”,因为那将是一个极其庞大的工程,但我可以把Anvil的历史划分为三个主要时代,而《刺客信条:影》在技术上则开启了一个全新时代。

第一个时代是为了《刺客信条1》打造开放世界体验而构建的。这个时代一直延续到《刺客信条3》和《黑旗》。

第二个时代是《刺客信条:大革命》。它在技术上极其超前,首次在开放世界中实现了体积全局光照,其灵感其实来源于皮克斯动画工作室利用表面计算全局光照的技术。

《大革命》的另一个技术支柱是“GPU驱动管线”,这在当时非常超前,由GPU而不是CPU来决定屏幕上绘制什么内容。我们的同屏绘制网格实例数量因此比前作提高了10倍 。我们将网格以“簇”的形式表示,而不是单一几何体,这种理念我们一直沿用至今,你甚至能在如今的DX12 Meshlet API中看到这种概念 。

第三个时代,是从《刺客信条:起源》开始。最大的跨越是渲染一个16x16公里的超大开放世界地形。这带来了诸如浮点精度等编程难题,我们不得不重构动画精度和世界坐标系。同时,由于庞大的世界无法把光照数据全部存入硬盘,我们改用了稀疏计算,不存储空白空间的数据。

这也是我们首次引入“Meta AI”的时代,它就像即时战略游戏一样,在整个世界范围内模拟系统化的AI;当角色远离玩家视角时,他们的AI会逐步降级为一个单纯在世界中游荡的位置坐标,但依然在被模拟。这个时代延续到了《英灵殿》和《幻景》。

《刺客信条:影》代表着一个新时代的开始,带来了大量新技术,如全局光线追踪、微多边形(Micro-polygon),即虚拟几何体,可以说是我们之前GPU管线的巨大迭代、被称为Atmos的流体天气模拟系统、网格切割、破坏系统以及四季变换。所有这些加在一起,让我们不仅能打造和以往一样庞大的世界,还能实现前所未有的动态效果。

游研社:Anvil仅仅是一个面向技术和美术团队的工具,还是一个全能型的平台?比如,叙事策划或音频设计师等岗位,也会将其用于日常工作吗?对于非技术人员来说,学习如何使用Anvil难吗?

Nicolas:Anvil是一个包含许多工具、构建系统和编辑器的完整生产管线。我们试图通过消除“不必要的复杂性”来让Anvil变得尽可能容易上手 。但是,制作这类游戏本身要求极高,我们一直在突破极限,所以开发者必须时刻将“可扩展性”铭记于心,确保他们构建或使用的解决方案能适应《刺客信条》级别的规模。

它不难学,但因为它系统繁多,确实需要一点时间来适应 。我在游戏行业有20年经验,见过很多引擎,但当我在Anvil上工作时,依然看到了许多我在其他引擎中从未见过的系统。(采访者注:Nicolas也曾参与寒霜引擎的开发)

游研社:《影》在NS2上的表现非常惊艳,特别是考虑到在开发初期这款主机甚至还没发售。能分享一下将Anvil用在NS2上与PC等其他平台的最大区别是什么吗?

Nicolas:我们的策略是,绝对不希望像过去那样直接对引擎或数据“开分支”来适应新平台,我们需要保证主干数据的一致性,以便兼容未来的DLC和内容 。所以我们全靠“可扩展性”来解决问题。

虽然当时新平台还没发售、规格不全,但我们每次构建系统时,都会确保它能从低端缩放到高端 。我们有一个叫做“平台管理器”的系统。它允许开发者甚至在主机上直接从数据层面控制所有影响画质和性能的属性,从而找到压榨硬件的最佳配方。我们也会和硬件供应商分享这些配方以进行快速排障。

考虑到NS2的架构不同于Xbox和PlayStation,我们必须特别挖掘并利用NS2上独有的异步计算(async compute)特性,我认为我们成功做到了。

游研社:玩家以前经常拿“育碧式Bug”开玩笑,但我注意到《影》这样一款庞大的游戏,恶性Bug却非常少 。这多大程度上归功于自动化系统,又有多大程度上归功于传统的QA和Debug?

Nicolas:很高兴你注意到了这一点,因为我们在这方面确实非常努力。这款游戏其实极难进行QA测试,因为它的天气、季节、时间、庞大世界以及多平台多模式导致了可能性的“组合爆炸”。

我们的稳定主要得益于两点:第一,在《影》的开发中,Anvil转变成了一个“共享引擎”,新功能会同时部署到多个项目组,改变了以往各个团队拿走引擎各自乱改、工作重复的情况,高度集中化提升了系统的稳定性。第二,我们个人和团队确实投入了大量精力来确保游戏尽可能没有Bug。

游研社:纪录片提到Anvil带来了很多细节提升,其中一些甚至玩家都不会注意到。在高昂的成本和有限的时间下,你们如何衡量某项技术提升是“值得”的

Nicolas:技术可以分为两类:一是面向玩家的,比如天气、光线,二是引擎底层管线,比如网格剔除效率,两者必须并行发展。我们总是优先考虑能实现“创意愿景”的技术。比如在《影》中,创意总监强调“四季变换”和动态效果至关重要,为了支撑这一愿景,我们才开发了全局光追(RTGI)和Atmos模拟天气系统。我们总是从“最终产品”倒推所需的技术。

此外,现在游戏开发周期长达数年,我们开发技术是在为整个品牌和IP的未来服务,而不仅仅是为了单款游戏 。我曾去SIGGRAPH听过迪士尼的演讲,他们在做《超能陆战队》(大白)时,整个技术团队为了那部电影只专注攻克了一个功能:塑料的半透明渲染 。我就觉得,连电影工业都可以为了一个细节投入如此之大,而游戏领域要做的事情还有很多很多。

游研社:既然Anvil已经是一个高度自动化、性能强劲的成熟工具,如今也有越来越多中小型团队尝试制作开放世界游戏,你们有可能将Anvil向第三方开发者开放或授权吗?

Nicolas:目前我还没有听说过任何相关计划。如果未来有消息我会告诉你的,但眼下还完全没有考虑过这件事。