面对游戏移植,Switch的性能还有得“榨”吗?
对于大型游戏移植到 Switch 后的效果,大多数玩家都是持保守态度的,相信也是因为我们见识过太多糟糕的项目。前不久登陆 Switch 的《天外世界》,就由于严重的画面阉割,加上渲染距离和载入速度等令人无法忍受的问题,被“数毛社”Digital Foundry 拿出来好生批判了一番。
更不用说之前的《方舟:生存进化》,本来在电脑上都运行得不怎么利索,到了 Switch 更是一幅瘆人的景象,不仅整个画面糊成一团,植被数量也遭到大幅削减。所谓木椟在前,Switch 并不适合第三方大作的想法,顺理成章的散播开来。

《方舟:生存进化》画面对比图(左为 Switch,右为 Xbox One X)
但换一个角度,移植从业者又是如何看待这一点的?
从过去的各方言论来看,在他们眼中,这台机器应该还有不少没能发掘的潜力。比如凭借着将《巫师3》带到 Switch 而声名鹊起的 Saber Interactive,绝对就是在“不看好”情况下获得意外收获的厂商之一。
一年之前,很多人还把《巫师3》登陆 Switch 当成一个愚人节笑话,虽然这款游戏并非以极致的画面见长,但至少达到了 3A 内容公认的及格线,也算是一道难以逾越的门槛。倒是 Saber Interactive 的 CEO 马修·卡奇一直相信他的团队能够克服挑战,CDPR 后来同样提到移植的过程“并未遇到特别的难题” 。
正因如此,玩家们有时肯定会感到困惑。为何同样体量的游戏,有的带到 Switch 后能成,有的搬运过来却不忍直视。要深入这个问题,不妨先从几个知名移植团队的经历说起。
大团队的洞察
根据 Switch 版《毁灭战士》参与者之一迈克尔·特劳布的说法,一些看似不可能的项目,其实都是严格评估后才开始动手的。
至少他所在的 Panic Button 会提前做好规划,其中有个专业术语叫做“尽职审查” ,牵扯到移植需要多长时间、有没有足够的资源,以及希望达到什么样的水平。真正比较难处理的,是画面和优化两方面都不能做出极端妥协,特劳布对此的评价是:
“10 帧的华美图像?失败!30 帧但却无比糟糕的画面?失败!”
Panic Button 的实力如何暂且不做评价,但之所以敢放出如同喜剧电影台词一般的狠话,估计是背靠整个团队过往的经验。Iron Galaxy 在承担《上古卷轴5》的移植工作前,同样不怀疑这款游戏能够在 Switch 上运行。仔细想想,毕竟它只是一部来自 Xbox 360 和 PS3 年代的老作品。

之所以抛出这些同行的掌故,是因为他们大抵上和 Saber Interactive 的想法差不多。马修·卡奇回忆起移植《巫师3》时踩的坑,一直认为自己没有将 Switch 的全部潜能激发出来 —— 虽然并不是从一开始就察觉到了这一点。
如果扒一扒 Saber Interactive 的背景,与 CDPR 的合作是有先兆的,这家工作室不仅承担过《巫师3》的 4K 任务,而且还在引擎技术方面有一定的造诣。
只可惜《巫师3》最早在 Switch 上测试时令人一言难尽,以每秒 10 帧的速度运行就算了,内存占用还超出机器上限的 50%,50GB 的身板也很难塞到卡带里。
为了提高帧数,他们最初的思路是大刀阔斧的“硬砍”游戏特性。关闭动态光影、移除环境遮挡,甚至减少了 30% 的 NPC 数量 —— 结果帧数上去了,原来的韵味也丢了,这才让领头的卡奇反思项目方向。他后来在一次采访中提到:
“我们意识到这些东西对于游戏体验是非常重要的,特别在减少了 30% 的 NPC 数量后,有人抱怨诺维格拉德和陶森特「太空了」。
我们不得不重新改回来,然后找到创造性的优化来提高帧率,比如游戏中的动画、人工智能、渲染、布料模拟等等。在这样的情况下,主要思路转变为保留需要的东西,而不是决定牺牲什么。”

例如,消除阴影往往是提高帧数的一个有效方法,但单纯删除某个特性却是不过脑子的。调整方向后,Saber Interactive 发觉现成的阴影解决方案在 Switch 上并不好用,于是转而采取“静态阴影+光照贴图+动态阴影”的混合替代方案。
如果你接触的游戏够多,大概清楚“静态阴影”和“光照贴图”对算力没那么高的要求,打个不恰当的比方就是在屏幕里多塞几张图片,它们不会随着光源角度的不同实时产生变化,不仅大幅降低了性能需求,如果肯花心思调整,在固定环境下倒也可以贴近原始感官。
另一个工作重心是室外环境中占据视觉注意力 50% 的花花草草,移植团队也重写了生成和渲染植被的算法,改变了树木、灯光和阴影的细节级别。一言蔽之,主要就是要围绕着 GPU、CPU 和内存不断挖掘潜能,一点一点向主机的底线推进。这不仅可以实现出乎意料的效果,也提供了一种探索 Switch 性能的思路。

Switch 上的《巫师3》,可以看出草木细节确实降低了不少,但远景借助贴图还是有不错的呈现
与常规意见相左,Warp Digital 的技术总监斯图尔特·米勒对此还有个更激进的看法,他认为要解决 Switch 的 GPU 问题有“太多技巧了”:
“如果是画面上的问题,我们往往可以优化着色器和几何图形,使其更适合 Switch,最终目标是使游戏和原始形态看起来相同或尽可能接近……
重新架构系统(程序如何调用内存,如何将图形任务分配给 GPU,以及如何利用硬件特有功能)足以使游戏达到目标帧数,这也意味着作品本身的表现力可以完全没有变化。”
这种莫名的底气,也许是源于他们以前将《奥博拉丁的回归》和《渎神》带到 Switch 的经验。而从上述的案例来看,判断是否榨干了机器性能,对于开发者来说更像是一个相对概念。
移植工作能否顺利展开,以及他们所寻求的目标,主要还是看在优化上有没有找到一些更巧妙的方法。机器本身的局限性是固定的,有一批机灵的团队找到了适合自己的门路,也有人碰壁后只能采取不过脑子的暴力方法,因此才造成了移植质量参差不齐的局面。
小作坊的启发
当然,大厂请得起 Saber Interactive 和 Warp Digital 这样的专业团队,小作坊就不一定了。在“榨干”Switch 这件事上,小作坊的标准虽然降了一级,但并不代表硬件要求较低的中小型游戏不会碰壁。
独立游戏的作者想要将作品带到 Switch,一般会有比较长的摸索过程。
《远星物语》的开发商就因为 HTML5 的游戏架构,最初笃定自己的作品不可能登陆 Switch,除非是“老母猪能上树”。这虽然牵扯到个人的能力问题,但他们后来又在粉丝的催促下开始重新研究代码,突然才发现有些东西是搞得定的,活活上演了一出“真香”的打脸戏码。
而斯特林·塞莱佛的经历更加曲折。在着手《禁忌艺术》(The Forbidden Arts)的移植工作时,他没想太多便采取了“腰斩功能”的暴力方法。当时还算了一笔细账:
初版在 Switch 上只能跑到 13 帧,删除抗锯齿后达到 23 帧,把所有的法线贴图、高光贴图、反射贴图和细节贴图剔除后变成 32 帧,大幅降低分辨率后逼近 41~43 帧……计划看上去很“美好”。

禁忌艺术
结果折腾了一大圈回过头来,游戏的画面已经大打折扣了,但还是没能达到目标帧数。实际上,《禁忌艺术》在 Xbox One X 和 PC 的运行环境下,使用了高抗锯齿,高分辨率阴影,动态照明、后期处理、以及大量的定制材质和着色器,这些东西在 Switch 都没有进行相应的优化,完全可以围绕着它们做一些对效果影响不那么明显的文章。
原版游戏里的草木不失为一个好例子,波动的叶子使用了一种自定义着色器,树木还带有动画效果,占去了很多资源。

《禁忌艺术》中针对树木的“切割着色器”
但其实在创建对象时,可以利用漫反射着色器(无需考虑光线角度)和不透明材质来提高帧数。只是由于重画素材要浪费不少时间,塞莱佛才用了一些取巧的办法,比如安放一堆“广告牌树”(Billboard Trees)来替换画面远处的模型。它们由 2D 图形叠加起来以伪造成 3D 效果,这些元素放到远处中是很难看出来的。在 Switch 的机能限制下,近景和远景的区分对待变得相当重要。
与此同时,他还意识到影响游戏加载时间的最大敌人不是图形而是音频,重写了代码后,音频被直接储存在场景中,再加上一些额外的 CPU 调用,这款游戏最长的读盘时间从 36 秒瞬间锐减到 11 秒。

一个典型的“广告牌树”,可以节省很多资源
不难发现,使用“静态元素”来代替“动态元素”,可以说是解决 Switch 移植问题(甚至是所有移植问题)的惯用手法。
作为一款主打环境破坏的游戏,《X变体:防御》(X-Morph: Defense)中就有很多组成建筑的物理块,被打爆后需要设备渲染大量多边形,对 Switch 来说负载非常大。于是,开发团队转头定制了所有可破坏对象的静态版本。
通过模型替换、代码优化,以及纹理和声音的压缩,使得这些东西的内存占用量减少了 30%。再加上为声音、粒子、GUI、视频和保存文件分配静态内存的手法,系统因残留内存碎片而浪费资源的问题得到了解决,由此充分利用了 Swich 的性能。

Switch 版《X变体:防御》仍然有不错的爆炸效果
顺带一提,不是所有麻烦的都来自硬件性能。
以《未诉之事》(Stories Untold)为例,它在 PC 上是一款利用“指令输入”来推进故事的文字冒险游戏,通过键入 Go to、Look at 、Use 等文本完成探索。最初移植到 Switch 上时并没有运行效率的问题,只是因为打字不方便,才影响了叙事节奏。作者后来干脆利用屏幕点触的机器特性改变了游戏机制,设计上利用“动词”与“名词”的点选组合,让玩家仍有一定的自主选择权利,这才成功渡过了危机。
而且莫说是是小作坊了,文本问题同样是 Panic Button 的心头大患,由于要同时保证手持和大屏的效果,有时候弄出来两头不占。Switch 版的《火炬之光2》在改变 UI 的情况下一定程度上弱化了冲突,相比之下,《毁灭战士》的表现就只能说勉勉强强了。
一桩热门生意
Switch 的推出确实像是引爆了一颗炸弹。移动平台和客厅使用场景的结合,冲破了玩家们脑海中的堤口,让人心生畅想。而对于不少从业者来说,将游戏移植到 Switch 也跟着成了一桩热门生意。
Warp Digital 技术总监的看法是,游戏的原始开发者常常要面临繁重的制作任务,没有时间或技术去优化系统,这就给以移植为生的团队在 Switch 上挤出更多性能的机会。

考虑到《渎神》的像素画面,Warp Digital 负责的 Switch 移植工作难度还没那么高
很多公司都发现近年来与 Switch 移植相关的订单激增,Panic Button 开发总监由于工作太忙,将自己比喻成“在洒水器旁喝水的狗”。而曾参与过《Fez》和《堡垒》移植工作的 Blitworks,也将原因归咎于 Switch 进入市场的余震:
“主要是因为独立工作室看到了在主机上发行游戏的另一种可能性,过去这并不容易做到,因为进入市场的限制更多,现在有更多的开发商和我们接触,并希望能够实现这一目标。”
这不是单方面的原因,任天堂给了第三方厂商很多支持。据 Blitworks 解释,尽管过去在开发工具的支持上 Wii U 要远远落后于竞争对手,但 Switch 通过一系列转变至少跟上了时代。就硬件性能而言,它也在便携方面也做出了平衡,比 PS Vita 的限制要少得多。
观点相同的,还有负责将《文明6》带到 Switch 的 Aspyr。他们的执行副总裁之前表示,任天堂非常支持控制方案和游戏流程方面的新想法,特别是在平台工程和榨干 Switch 的性能方面帮了自己一把。

在 Switch 上降低画面表现倒不是太影响《文明6》的体验
除此之外,不少各自为战的制作人也提到了一些变化。《地下城探索》(Quest of Dungeons)的作者认为“Switch 移植起来比 3DS 舒坦多了”,《九张羊皮纸》的开发商同样表示 Switch 的“开发环境、文档和后端都有了很大进步”。《神奇小子:龙之陷阱》的制作人更是对 HD 震动功能大为赞赏:“编程是如此简单和富有表现力,我们很容易就能在游戏中加入有趣的元素。”
我们自然不能沉浸于这些赞美之词,在 Switch 上糊成一团的《方舟:生存进化》,帧数到不了 30 的《生化危机6》,读盘频次多到吓人的《天外世界》,糟糕的移植体验是不可回避的。但我们也不该否认一批极力维持原版感官的作品,比如《逃生2》《黑暗之魂》和《巫师3》。
Switch 移植市场的热度,足以证明其中有利可图,也凸显了人们对于便携游戏场景的旺盛需求。
要想绝对用尽硬件的性能,通常是只有第一方才做得到的事情,而这个标准也不是绝对的,或许《塞尔达传说 旷野之息2》就会有更好的表现。但无论如何,这都会不断促使从业者们去攻破内在的技术难题,正如文中展现的那些创造性思维一般,看似被逼到极限的 Switch,未来应该还有着更多“被榨干”的可能性。
参考资料:
Porting to Switch and under-powered consoles
Challenges I faced to achieve 60FPS on a Nintendo Switch port
How Switch's success is impacting devs in the game porting biz

随机姓名
校验提示文案
mcj0rdan
校验提示文案
黑泽林
校验提示文案
rush1982
校验提示文案
SeanScott
校验提示文案
我叫肥仔
校验提示文案
鱼炭
校验提示文案
众泰皮尺丨部长
校验提示文案
这样也好Elsa
校验提示文案
小不掉
校验提示文案
samanfox
校验提示文案
鹿丶野望
校验提示文案
kencyChan
校验提示文案
处理我评论的是小狗
校验提示文案
处理我评论的是小狗
校验提示文案
kencyChan
校验提示文案
鹿丶野望
校验提示文案
samanfox
校验提示文案
小不掉
校验提示文案
这样也好Elsa
校验提示文案
众泰皮尺丨部长
校验提示文案
SeanScott
校验提示文案
鱼炭
校验提示文案
rush1982
校验提示文案
我叫肥仔
校验提示文案
mcj0rdan
校验提示文案
黑泽林
校验提示文案
随机姓名
校验提示文案