首页 生活常识文章正文

僵尸军4:“不可能”转换的做法

生活常识 2025年07月11日 23:17 12 尔蓉

  Switch的“不可能端口”是新的“街机完美” - 游戏为更强大的硬件而设计的游戏,以某种方式奇迹般地 ,在相对微薄的硬件上获得了令人印象深刻的转换。但是,可变性能和低分辨率也是这些令人惊讶的技术成就的标志,在这里我们需要强调叛乱北部在提供一些非凡的转换方面的工作。Zombie Army 4是其最新的转换转换 ,与PS4游戏的30fps以目标1080p的分辨率运行,并保留了冠军的80-100签名僵尸僵尸 。在下面,您将看到我们在此特殊端口上的分析工作 ,但是本文的大部分与“ what ”有关,而是与“如何”有关的,而开发人员本身共享其方法论和对转换过程的见解。

  乍一看 ,Switch On Switch上的僵尸4是PS4版本的铃声,似乎与分辨率和帧速率相匹配 - 就像该公司出色的狙击精英4转换一样。正如您在访谈中阅读的那样,在扩展到停靠的体验之前 ,开发目标以交换机模式为目标 。使用动态分辨率为918p至1080p范围 ,降至684p至720p手持率。除此之外,nip和tuck虫很多且多种多样,但至关重要 ,并不是特别明显。但是,有一些例外:削减动态阴影和缺乏屏幕空间环境阻塞 。

  汤姆·摩根(Tom Morgan)展示了这段视频,打破了僵尸军4距PlayStation 4版本的距离 ,同时保留了相同的目标1080p分辨率和30fps的性能水平。

  从这里开始的变化更加微妙。几何质量被降至远距离 - 更具侵略性的LOD更换在常规游戏中没有注意到 。诸如颗粒和透明胶片之类的效果也被拨回质量。同样,对于纹理情况。只有3.5GB可用的RAM可以使用Switch,Memory对Rebellion的Zombie军队4的巨大限制是一个巨大的限制 。尽管如此 ,该团队仍然找到了Smart Solutions 。最重要的是,他们决心避免毛毯掉落到整个游戏中的每个纹理上。还对反射进行了调整,但屏幕空间的反射却在水体上维持 ,并以增强叛乱诺斯现有的Cube-Map用于开关的Cube-Map Tech的支持。

  结果是,该工作室在交付出色的切换转换方面的验证记录只有此最新版本才能点缀 。现在,让我们进一步了解有关叛乱诺斯(Rebellion North)的工作室负责人Arden Aspinall ,高级程序员Alex Houghton和环保艺术家Reece Parrinder的采访。

  Digital Foundry:带上像Zombie 4这样的游戏进行切换的最大挑战是什么?

  亚历克斯·霍顿(Alex Houghton):说实话 ,Switch的硬件的每个限制都是一个挑战。以前,CPU和GPU性能是一个大问题,但ZA4独有的是这次的记忆压力 。因为这是一场大型游戏 ,而且发生了很多事情,所以我们实际上不得不花费大量时间来解决记忆。现在,这不是您可以将DRS [动态分辨率扩展]重新扩展的事情。如果您的内存用完了 ,那就是结束 。它崩溃了。尽管如此,表现还是您所期望的最大问题,尤其是在屏幕上有很多僵尸的情况下。我的意思是 ,我认为在某些围攻中,您可以随时随地达到80至100个僵尸,这真是太疯狂了 ,知道发生了多少 - 更新所有逻辑并将它们渲染到所有不同的通过 。这是一个很高的水平。

  Arden Aspinall:我们花了很长时间才将其拨回记忆。我们始终接近交换机端口的方式是,我们希望继续尝试并保持分辨率方面的质量 。然后,一旦我们获得了(与其他控制台)的奇偶校验 ,它的运行与其完全相同 - 无论帧速率是多少 ,即使是一秒钟,我们也可以像在PlayStation上一样运行它 。然后,我们可以开始扭曲表盘并按下按钮 ,以尝试找出我们认为可以接受的最佳折衷。但是,要与僵尸军4号达到这一点,我们不得不将整个事情都塞入记忆中。甚至使用Nintendo Dev套件 ,即使那也是一个伸展 。仅在带有扩展内存的开关开发套件上实际运行它,通常会给您带来腿。因此,这是一个有趣的挑战。

  但这意味着我们看不到完整的[图片] 。就像您爬到山顶一样 ,您会看到一系列山脉,您想:“哦,天哪 ,我们也必须攀登所有这些山脉。”到了这一点,花了很多时间。而且我认为团队表现出了很多耐心,因为我们真的很想开始投入我们为Sniper Elite 4提供的所有工具 ,以说“好吧 ,让我们看看 。 ”我们对所有人说:“看上去就是拒绝。让我们先让事情首先工作。”您知道,我们将我们在狙击手4(游戏中)中所做的一切 。而且我们显然也完成了僵尸军三部曲。因此,我们可以在那里进行一些不错的优化。诸如阴影在远处的阴影之类的东西 ,除非您从不同平台进行A和B进行比较,否则您会以较低的质量和您不会注意到的东西 。因此,我们也可以将其中的一些[对于僵尸军4]中 ,我们不需要带来狙击手4-因为屏幕上没有那么多敌人 。

  里斯·帕林德(Reece Parrinder):我从艺术团队方面看到的主要区别之一是,随着较旧的游戏,例如《僵尸军队三部曲》和《狙击精英4》和《奇异旅》 ,我们是一个以GPU为中心的团队。我们可以专注于即将进入的GPU统计数据,这些真正聪明的人专注于对CPU一侧进行分类。因此,我们最终[帮助CPU] 。并且与事物的记忆侧是一样的。僵尸军4的最大变化是 ,我们不得不提出新任务,我们可以从外部提供帮助,以尝试从CPU和事物的记忆方面取回额外的东西。

  Digital Foundry:当您刚开始启动僵尸军4时 ,Switch与您最终到达的地方的状态是什么?当您刚刚说:“让我们看看它的运行方式时 ,它是什么样的?”

  亚历克斯·霍顿(Alex Houghton):从一开始,您就开始进行代码编译,但这主要是关于插入NVN渲染器 。因此 ,它第一次运行时,我们还没有放入渲染器,您只是坐在黑屏上 ,然后用渲染器修复了第一个错误。然后,您只是开始解决这些问题,实施更多的渲染器。因此 ,您将从黑屏开始,这实际上是一个巨大的里程碑,只是进入黑屏 。

  Arden Aspinall:一个黑色屏幕 ,游戏在后面运行...如果您真的很幸运,您就会有音频,因此您可以在后台听到音乐!

  亚历克斯·霍顿(Alex Houghton):从那个黑屏到渲染加载屏幕 ,这只是一个静态图像 ,都有很大的飞跃。您必须有很多工作:着色器建造和执行,只是为了实现这一目标。因此,这是我们开始的另一个巨大的里程碑 ,然后最终进入3D 。我的意思是,我确实记得第一次看到僵尸在前屏幕上渲染。那令人满意。

  里斯·帕林德(Reece Parrinder):我不知道你们是否都记得特定的统计数据,但是我回去挖出了我们进行的一些最早的烟雾测试 。例如 ,其中一个级别之一 - 我不确定何时排队,或者是否有一定时间才能完成最后一个月的构建工作 。但是对于其中一个级别,它在GPU上以116ms的速度运行[约8.5fps ,目标为33ms/30fps]。

  Arden Aspinall:我应该提到我们锻炼大门的另一件事,在进行烟雾测试时,我们确实在Sniper Elite 4上升级了。艺术家会发现围绕水平的所有真正热点 ,并为编码人员提供绩效点,以勾勒出大量性能统计数据,在那里我们可以分解所有周期在CPU和GPU上都进行的位置以及内存的发展 - 因此 ,这真的很好 。从项目的早期开始 ,我们实际上可以绘制我们的进度。我们对完成任务的烧毁,就像我们自己的秋季绘画一样,每秒钟进入我们的魔术30帧。所以这很有趣 。但是 ,回头看也很有趣。

  数字铸造厂:是否有压力测试区域,如果您可以钉住比赛,那么游戏的其余部分应该遵循?还是大部分是统一的 ,只是测试一切?

  里斯·帕林德(Reece Parrinder):早些时候,当我进入项目时,我被扔到了表现最差的水平上 ,那是我们正在寻找的160ms。我正在做的很多事情都在澄清,好的,如果我们做我们需要做的一切 - 大量的测试 ,例如放下洛德和类似的东西 。如果我们可以将此级别提高到一个合理的观点,那么理论上所有其他级别都应该更容易下降。

  亚历克斯·霍顿(Alex Houghton):我的意思是,有些场景您会在森林中 ,而叶子的渲染本质上很慢 ,只是因为其中有太多的透支。然后,当您真的可以看到远处的其他地方,您最终必须渲染这么多 。因此 ,您知道游戏中有某些部分有大量叶子,而且确实远处距离远处,然后您同时有80个僵尸。这些是我们分析测试中我们知道必须控制的真实热点。

  Reece Parrinder:我认为 ,您会遇到一个没有这种东西的水平 。因此,如果不在森林里,它就像地下掩体或工厂一样 。您会想 ,“好吧,太好了。这会很好! ”但是,大约是灯光的四倍 ,因为它们必须点燃整个地下掩体,然后您要处理照明成本。

  亚历克斯·霍顿(Alex Houghton):是的 。我认为这表明每个级别在遇到的问题上都是非常独特的。因此,绝对不仅仅是一个[解决方案]修复了一切。

  数字铸造厂:我确实注意到某些领域有一些技巧 ,例如将屏幕空间反射应用于游戏中的某些点 。您决定的许多特定的调整是:“好吧 ,我们可以在该区域使用一些GPU周期,我们可以提出更多效果并为此增加更多的效果吗?”区域之间有很多微调吗?

  亚历克斯·霍顿(Alex Houghton):就屏幕空间反射而言,在阿修罗引擎中 ,实际上有两种形式的SSR。您已经有适用于所有事物的SSR - 因此,任何闪亮的表面都会应用于它。然后,您还专门提供SSR ,用于水 。因此,[在开关上]我们将SSR放在水上。但是后来有些东西之类的东西,例如水坑 ,它没有被归类为水 - 因此它们不会显示SSR。在那些情况下,我认为这不是一个有意识的决定 。只是我们想将其放在水上的水上,因为它有很大的变化 ,例如当您拥有大海时。但是,在某些地方,原始艺术家将撰写一些水作为水 ,因此仍然会对Switch进行反思。但是不幸的是 ,Switch上太昂贵了,无法在所有内容上拥有完整的SSR 。

  Arden Aspinall:这是我们来到拨号和按钮的地方 。我们的目标一直是我们所有的开关端口,以免严重依赖DRS ,并尝试保持分辨率尽可能高。而且,您知道,从艺术团队和代码团队中 ,我们都试图加强这一点 - 尝试找到方法来保持[解决方案],因为对我们来说,这使体验变得更好。而且 ,当游戏不太模糊时,我们发现我们更喜欢游戏,而DRS的效果太低 。

  亚历克斯·霍顿(Alex Houghton):是的 ,关于立方体地图,可能值得一提的是,与Sniper Elite 4相比 ,我们确实对此做出了一些改进。因此 ,在Sniper Elite 4中,由于您通常只是在大型室外区域,因此我们在整个层面上都有一个立方体地图。尽管在僵尸军队4中 ,我们写了一个新系统,基本上可以允许您拥有本地立方体地图 - 因为您在ZA4中知道,它与室内区域非常不同 ,尤其可能是黑暗的 。因此,我们确实让艺术家在各个室内部分进行通行证,以生成并为这些室内区域添加立方体图 - 只是为了使照明看起来正确。但是 ,您还可以在没有被归类为水的水坑中获得更准确的反射。

  Reece Parrinder:可以弥补我们在某些地方丢失的SSR 。

  狙击精英3-另一个叛乱北开关港口 - 当天也印象深刻。续集的开关转换甚至更好。

  数字铸造厂:所有这些再次回到了这样一个想法,即30fps是叛乱团队在其开关港口中的重中之重,而僵尸军4在这方面确实取得了成功 。最终证明了在ZA4中最大的瓶颈是什么?这是敌人数量的大量AI吗?

  Arden Aspinall:是的 ,我们总是说我们刚开始工作时感觉就像是一千个削减的死亡,但我想这完全取决于您所处的开发周期的哪一部分。我认为最后,绝对是僵尸。那就是我们得到所有真正严肃的边缘案例 ,我们在想:“好吧 ,哇,我们现在要在哪里得到更多的周期?”

  亚历克斯·霍顿(Alex Houghton):老实说,我认为这是僵尸的数量 。正如我所说 ,当您拥有100个时,有很多处理要做,而且渲染尤其是僵尸数量的数量 。我们显然不想减少这样的事情。有很多不同类型的僵尸要渲染 ,您知道,这一切都增加了复杂性。从CPU优化方面,我们确实集中精力了 ,试图为其AI中的所有僵尸进行多线程的更新代码和处理,以使我们能够在屏幕上拥有如此多的僵尸 。

  里斯·帕林德(Reece Parrinder):我认为从GPU的角度来看,通常从一开始就悬而未决的两件事只是几何形状 ,无论是几何,这只是三角形的数量,然后我们将所有透明度的东西都放在其中 - 确实是照明。这很奇怪 ,因为您的水平有些区域会喜欢照明任何费用。但是后来您会进入另一个区域 ,您会喜欢20毫秒以上的灯光 。它们是我们处理的主要事情。再次,正如您提到的那样,我们有角色的变化。由于这是我们从事的最新项目 ,因此他们推动了更高的独特资产数量 。我进行了一个比较,通常在奇怪的旅层中,它们往往在每个级别的400-600次唯一资产之间。然后 ,与我测试的ZA4相比 - 四个或五个级别 - 您正在推动1500-2000的独特资产。您正在谈论的是超过两倍,即使不是该级别中唯一资产的数量,这再次是我们要经历和优化的一个特殊挑战 。

  数字铸造:要获得一致的30fps ,您是否需要一定数量的开销?没有30fps盖的情况下,该游戏将在开关上运行多快?

  亚历克斯·霍顿(Alex Houghton):我们为我们的质量保险公司编写了一个新系统,因此当他们在游戏中运行时 ,它收集了有关其游戏的详细统计数据,并将其分为CPU和GPU的表现。老实说,某些级别实际上不会下降到30fps以下。我的意思是 ,我认为如果从GPU的角度来看 ,如果我们诚实地诚实地达到60fps 。如果您降低了DRS [范围],也许您会在某些部分的地板上击中60个 。但是,有些级别确实运行 - 即使在屏幕上僵尸在CPU上约为20毫秒。因此 ,当您绝对蜂拥时

  里斯·帕林德(Reece Parrinder):我们可能不会击中60年代的原因 - 就像,我们可能可以通过我们正在做的过程完成。但是,心态 ,尤其是艺术团队的心态确实是要尽量不要剥离超出您需要的东西 。因此,在很多情况下,我们实际上并没有剥夺经常剥夺资产的大量资产。我更像是“我们要离开它 ,直到最后,如果我们真的需要 ”。也许将光点或最大距离向后拉,以使远距离的一些资产不会使您接近您 - 类似的东西 。但是 ,随着时间的推移,尝试将这些区域推到需要的位置,这更只是迭代了。因此 ,我们本质上并没有过度优化 ,因为我们真的想保持这种图形保真度,以使您很快就会失去。

  僵尸军4开关港口最令人印象深刻的方面之一是,叛乱北没有妥协僵尸计数 - 一种简单的方法来抓住表演 。

  Digital Foundry:您已经提到DRS是一个很大的因素 ,尽管您不想在那里的技术过度融合。而且在大多数情况下,您似乎处于1080p停靠和720p的便携式设备?

  亚历克斯·霍顿(Alex Houghton):我想您会发现它在很多时候渲染了本地1080p。我不记得确切的百分比,但是停靠时的某些级别在90%的时间内使整个1080p呈现 。在抗异化方面 ,我们没有沿着TAA的路线或类似的东西走。实际上,我们确实依靠旧学校的FXAA,只是为了表演和视觉效果之间的平衡 - 我们认为它的确看起来确实不错 ,尤其是在我们以更高的分辨率为目标的情况下,我们可以摆脱FXAA的表现。

  Arden Aspinall:就DRS而言,当我们开发时 ,DRS也关闭了 。我们从不假设Drs正在开启 。只有在开发周期的末尾,我们才能实现它。我们只希望工程师和艺术家一直在经历1080p的经历。

  Digital Foundry:我在开关上有一个停靠和便携式模式 。从您的角度来看,我想知道什么更容易优化?您是否从便携式开始 ,然后扩展到停靠?还是您从停靠物工作 ,然后将其修剪到便携式侧?您将其配置为哪种方式?

  Arden Aspinall:我认为,除了Rogue Trooper Redux以外,我们总是从掌上电脑到停靠。我们用Rogue Trooper Redux犯了这个错误 ,这显然是我们的第一个切换标题。我们玩得开心,游戏试图以合理的表现使其运作,但是是的 ,我认为从第一天(在僵尸军队4上)开始,我们只是在执行手持模式 。

  亚历克斯·霍顿(Alex Houghton):我们是针对的,因为那是最不强大的模式。我们知道 ,如果我们可以用手运行它,我们知道它将在停靠中运行得更好,然后我们可以在docked中提高分辨率或其他一些图形选项。手持绝对是焦点最初的位置 。

  数字铸造厂:狙击精英的演奏方式和僵尸军队的固有方式是您必须在大型地形上迅速放大 ,同时又避免了明显的弹出式弹出式。狙击精英4或僵尸军4的解决方法是在优化开关(网格和纹理)上的地形方面,以确保从一开始就适合任何东西,而不会出现任何闪烁的东西?

  亚历克斯·霍顿(Alex Houghton):就阿修罗引擎中流中的内容而言 ,我们只会流向纹理 ,我认为某些音轨。您永远不会得到模型将弹出的情况,因为所需的所有模型已经加载到内存中,因此您唯一可能看到弹出的唯一一件事就是纹理 。我们将压缩系统从.zlib更改为.zstd ,在解压缩纹理时实际上更快。实际上,这在纹理流中有很大帮助,以使内容更快地加载 - 以及纹理大小的更改 - 因为显然 ,当您的眼睛学生的眼睛学生(而不是)将其加载到您面前的大岩石或类似的东西时,将其加载到1k的纹理中需要很长时间。

  叛乱北部集中于移动模式,以30fps为目标720p 。通过专注于最具挑战性的模式 ,就可以简单地生产该模式 。

  Digital Foundry:我对狙击精英4也取得了印象深刻的东西,这也是游戏尺寸。开关软件包的整体安装为6.4GB-从PS4版本上的21GB安装大量下降。你是怎么做到的?

  Arden Aspinall:我认为确实有多个层次 。我们为压缩这些游戏的能力感到自豪,在那里我们总是在寻找找到重复[资产]的方法。这始终是第一个通过:找到所有重复项 - 摆脱所有这些 - 找到所有在开发过程中留下的孤儿数据。这总是一个容易的目标 。然后 ,您可以通过自定义开发进行,我们在Asura发动机上有工具。因为我们知道数据是如何结构化的,所以我们可以找到通用编译器找不到的模式。因此 ,我们可以将参考点回到这种特定类型的数据包的重复项 ,而现成的竞争对手不会真正掌握这些数据包 。但是,正如亚历克斯(Alex)提到的那样,我们从.zlib切换到.zstd ,这使我们获得了额外的压缩。我们(我们也]将纹理格式从DXT更改为ASTC。

  亚历克斯·霍顿(Alex Houghton):显然,随着纹理流的质地流,它首先以低分辨率版本加载 ,我们在开关上略微减少了这一点 - 老实说,您不会注意到 。除此之外,我们还优化了水平中的一些光图。这是我们为艺术家写的另一种自定义工具 ,可以在视觉上为某些资产附加的光图的分辨率进行色彩。我们正在发现的东西,例如某些级别的一块小岩石在其中附有256 x 256的灯光图 。我们只是在每个层面上都非常彻底,并用细齿梳子仔细阅读 ,在任何地方都可以在任何地方刮擦记忆 。

  Arden Aspinall:压缩顶点缓冲...

  亚历克斯·霍顿(Alex Houghton):是的,是的。我们在开关上进行了进一步优化的所有模型几何形状,因此基本上是更好地压缩和较小的。是的 ,我仍然给自己留下了深刻的印象 ,这是一个很小的包装尺寸 。

  Arden Aspinall:我记得我们在9GB。我们认为我们需要低于该7.5GB的限制。是的... 6.4GB,我们有点超越了它,不是吗?

  数字铸造厂:6-7GB范围有什么特别之处?

  Arden Aspinall:仅出于叛乱的利益 ,我们希望将其放到8GB的购物车上 。显然,制造成本便宜得多,因此要尝试这样做有很多话要说。但是显然 ,对消费者也有一个好处,因为开关上的内存也较少 - 因此,足迹也意味着它们也会受益。

  智能妥协与动态的分辨率缩放相结合 ,使僵尸军4变得非常接近与1080p30 PlayStation 4体验相匹配 。

  数字铸造厂:我们现在是否正在按照我们可以回来的方式降低开关的回报点?还是您在下一个项目中还能做更多的事情。

  Arden Aspinall:我总是对团队说的是,总是有一些方法可以进一步优化。每当人们说“就是这样,我们就完成了”时 ,总会有进一步的一步 。这只是时间和想法。我真正珍视的一件事在北叛乱北部的团队中,我们都聚在一起并集思广益。我回顾了我们在Switch上的第一场比赛 - Rogue Trooper Redux 。我很想回去应用我们学到的一切,看看如果我们做了新版本 ,现在会是什么样 。从字面上看 ,我们还必须告诉团队,这是很好的,我们已经得到了。我们必须立即提交。我们实际上是在提交之前的几天 ,而且我们要去“哦,我们有一个新的优化想法 。我们可以摆脱这个最终的优化吗?”我们不得不说不,就是这样。我们本可以继续进行 ,但是有一点我们有责任让该游戏发货。我对我们与僵尸军4(Zombie Army 4)4的乐趣感到非常满意,我为团队感到非常自豪 。他们做得很棒。

  Digital Foundry:一个非常快速的总结问题将是:您最自豪的僵尸军4的部分是什么?也许我们还没有谈论或突出显示的事情,还是我们还没有讨论过?

  亚历克斯·霍顿(Alex Houghton):就我个人而言 ,我可能会说这是该区域立方体地图的增加,因为我们在那个阶段的开发时间很晚,而且被认为有点风险 ,就像重写了一个新的开关系统一样。我为我们设法得到它而感到自豪,当立方体地图准确地适合您周围的东西时,它对室内和室外区域的视觉差异 。这也是我们开关端口的全新功能 ,从未有过。除非它实际上是错误的 ,否则这是您没有注意到的那种微妙的事情之一 - 但是我为我们设法实现了这一点而感到自豪。

  Reece Parrinder:在这些[Switch]项目上,我总是很高兴的一件事是,通过开发的时间很少 ,我们实际按下了删除按钮 。就数量的资产而言,我们确实保留了很多资产,尤其是在游戏玩法发生的地方 ,玩家所在的地方。当您查看这些水平时,最初,您有点环顾四周 ,您在想:“哦,天哪,到处都有很多草 ,我们可以删除所有这些草,这会很有帮助。 ”但是事实证明,最终 ,我们已经能够保留几乎所有的东西 ,只需在远距离上剥离一些东西,而实际上,您只会注意到5%的时间 。

  即使涉及到事物的照明方面 ,我们还可以做很多小技巧,在灯光边缘的下降有点苛刻[Switch上] 。但这意味着,由于下降较少 ,我们也可以将灯的半径更多地拉动。然后,灯的总成本降低了很多,而视觉效果不会改变很多。所以 ,这是那样的事情 。这是我们几乎能够建立这个优化库 - 这是一本简洁的小技巧的圣经,我们始终可以应用于未来的项目。

  亚历克斯·霍顿(Alex Houghton):我想提到的还有其他事情是,在表演很糟糕的第一天来说 ,进入并切掉了四分之一的僵尸。但是我们没有这样做 。您可以在Switch上获得与所有其他平台上相同的游戏体验。我为我们在游戏玩法方面没有妥协的任何事情而感到自豪。

  Arden Aspinall:很多时候,我们不得不像工程师一样努力退缩,以说我们可以得到[工作] 。他们说的是“您已经用完了时间 ” ,我们就像去 ,“是的,我们可以。我们可以离开,我们会回来 ,我们会找到一种优化它的方法。我们可以做到这一点 。”克里斯(Chris)和杰森(Jason)给了我们这个机会去做一些被认为是不可能的事情 - 不可能诚实的事情的机会,真是太好了。让僵尸军4上班被认为是不可能的。我们做到了 。

发表评论

头条136号 备案号:陕ICP备202505058号-1 sitemap 主题作者QQ:999999