“孤岛危机会解决吗?” 为什么13年前发布的游戏仍在讨论中?

图片


每年都会发布数百种新游戏。其中有些是成功的,并已售出数百万,但仅此一项并不能保证其传奇的地位。但是,偶尔会有一些游戏成为该行业历史的一部分,并且我们会在发行多年后继续讨论和玩游戏。



对于PC玩家来说,有一款游戏因其令人难以置信的,超前的图形效果以及将计算机帧速率降低到个位数的能力而几乎成为传奇。由于后来成为可靠的模因来源这一事实,她后来成名。在本文中,我们将探讨《孤岛危机》及其独特之处。



Crytek的早期



在深入了解《孤岛危机》的历史之前,值得快速回顾一下过去,了解Crytek的成立方式。这家软件开发公司由三兄弟Avni,Cevat和Faruk Yerli于1999年秋季在德国科堡成立。在Cevat的领导下团结起来,兄弟俩开始为PC创建演示游戏。



该公司最重要的早期项目是X-Isle:Dinosaur Island。该工作室在1999年洛杉矶E3展上宣传了该演示和其他演示。耶鲁兄弟向其广告软件的众多公司之一是Nvidia,尤其是X-Isle。并有充分的理由:该演示的图形在当时非常出色。物体的巨大绘图距离,加上美丽的灯光和逼真的表面,产生了惊人的效果。



对于Nvidia而言,Crytek演示是宣传其未来GeForce图形卡产品的绝佳工具,因此两家公司达成了交易-当GeForce 3于2001年2月投放市场时,Nvidia使用X-Isle展示了该卡的功能。





借助X-Isle成功所需要的收入,Crytek可以开始构建完整的游戏。她的第一个项目Engalus在2000年进行了广告宣传,但该公司最终放弃了它。原因尚不完全清楚,但由于与Nvidia达成交易而声名狼藉,Crytek很快又与一家大型工作室签订了另一份合同:法国游戏公司Ubisoft。



他的条款是基于X-Isle创建一个完整的AAA级游戏。结果是在2004年发行的《孤岛惊魂》





不难看出X-Isle的技术方面如何进入Far Cry。再次,我们看到了被茂密的植被所饱和并用最先进的图形绘制的广阔景观。虽然该游戏在评论家中不受欢迎,但《孤岛惊魂》卖得很好,育碧在该品牌和Crytek创造的游戏引擎中看到了巨大的潜力。



签订了另一项合同,根据此协议,育碧保留了Far Cry的全部知识产权,并永久许可了Crytek的名为CryEngine的引擎。多年来,它逐渐发展成为公司自己的Dunia引擎,用于《刺客教条2》和《孤岛惊魂》系列的下三期中。



到2006年,Crytek被Electronic Arts接管,并将其办公室迁至法兰克福。继续开发CryEngine,并宣布了该公司的新游戏项目:Crysis从一开始,Crytek就希望这款游戏能成为该公司技术能力的展示。她曾与Nvidia和Microsoft合作,扩展了支持DirectX 9的硬件的功能,后来该游戏将用于宣传DirectX 10的功能,但这将在项目开发的后期进行。



2007年:视频游戏的黄金岁月



《孤岛危机》定于2007年晚些时候发布,事实证明该游戏非常适合游戏,特别是在图形方面。我们可以说,点击量的来源开始于一年前,当时《上古卷轴IV:遗忘》为开放世界3D游戏的外观(除了角色模型)及其实现的互动水平设定了标准。





尽管Oblivion具有出色的图形效果,但在跨多个平台(即当时的PC和控制台)的开发方面存在迹象。 Xbox 360和PlayStation 3是复杂的计算机,它们在架构上与Windows系统完全不同。微软的Xbox 360具有控制台专用的CPU和GPU:三核IBM PowerPC芯片和ATI图形芯片,具有统一的着色器系统。



索尼控制台包含一个相当普通的Nvidia GPU(经过修改的GeForce 7800 GTX),但是CPU完全是非标准的。由东芝,IBM和索尼联合开发的Cell处理器具有PowerPC内核,但内部还包含8个矢量协处理器。





PlayStation 3的第一个版本的板。图片:Wikipedia



因为每个控制台都有其独特的优势和功能,所以要使游戏在它们和PC上都能正常工作是一个巨大的挑战。大多数开发人员通常将目标定为“最低公因数”,即仅限于相对较少的系统和视频内存以及系统的最基本图形功能。



Xbox 360仅具有512MB共享GDDR3内存和用于图形芯片的额外10MB板载DRAM,而PS3具有256MB的XDR DRAM系统内存和256MB GDDR3用于Nvidia GPU。但是,到2007年中期,功能最强大的PC可能已经配备了2 GB的DDR2系统RAM和768 MB的GDDR3。在图形卡上。



游戏的控制台版本具有固定的图形设置,而PC版本提供了自定义灵活性。在最大设置下,即使是当时功能最强大的计算机有时也无法应付负载。之所以出现这种情况,是因为该游戏旨在以每秒30帧的速度在Xbox 360和PS3控制台的最大分辨率下(即720p或1080p并带有放大比例)获得最高性能,因此尽管PC组件更好,但它们可以使用更详细的图形和更高的分辨率会大大增加负载。



由于控制台的内存大小,仅限于此特定3D游戏的第一方面是纹理大小,因此,只要有可能,就使用较低分辨率的纹理。此外,用于创建环境和模型的多边形数量也很少。





如果我们在线框(无纹理)中查看“遗忘”的另一个场景,我们将看到树木是由最多数百个三角形创建的。叶子和草只是具有透明区域的纹理,给人的感觉是每片草都是一个单独的对象。





人物和静态对象(例如建筑物和岩石)的模型是由更多的多边形创建的,但总的来说,人们更加关注场景的设计和照明,而不是纹理的几何形状和复杂性。在创建图形时,开发人员并未追求逼真度-遗忘发生在让人想起卡通的幻想世界中,因此由于缺乏复杂的渲染而可以原谅。



但是,在2007年最大的游戏之一:《使命召唤4:现代战争》中也可以看到类似的情况。该游戏设置在当今的现实世界中,由Infinity Ward开发,由Activision使用最初由id Tech 3内置的引擎发行(雷神三世竞技场)。开发人员对其进行了大量修改和更改,以使其可以渲染当时流行的所有图形“芯片”:光晕,HDR,自阴影,动态照明和阴影。





但是,如您在上图中所见,由于那个时代的游戏机的局限性,纹理质量和多边形数量仍然很低。经常可见的物体(例如,玩家手中的武器)具有很好的细节,但是静态环境非常简单



所有这些对象都经过精心设计,看起来尽可能逼真,因此巧妙地使用了光和阴影,以及微妙的粒子效果和流畅的动画,神奇地增强了场景。但是就像Oblivion一样,PC上的Modern Warfare在最大设置下仍然非常苛刻-多核CPU非常重要《生化奇兵》



是2007年的另一款跨平台热门游戏...该游戏的视觉设计是在故事情节和角色发展中​​的关键元素,该游戏的视觉设计是在1960年以来的另一种现实环境中,在水下城市环境中进行的。这次,使用了Epic的经过修改的虚幻引擎来创建游戏,并且像上述游戏一样,BioShock实施了全套图形技术。





同时,不能说开发人员没有尽可能多地保存-从上图看角色的手,模型上使用的多边形的边缘很容易看到。此外,皮肤上的照明渐变也非常清晰,这表示多边形数量很少。



与《遗落之战》和《现代战争》一样,游戏的多平台性质意味着低纹理分辨率。在照明和阴影,水的粒子效果和精美设计方面的艰辛工作提高了图形的质量。这种情况在为PC和游戏机开发的其他游戏中也屡见不鲜:《质量效应》,《半条命2:第二集》,《财富战士:回报》和《刺客信条》采用了类似的图形实现方法。



另一方面,《孤岛危机》原本是一款仅限PC的游戏,并且可能不受控制台的硬件和软件限制。Crytek已经通过Far Cry证明了它知道如何充分利用其图形和处理能力...但是,如果PC在最大设置下无法运行专门为游戏机设计的新游戏,为什么Crysis会更好?



一次全部



在2007年度SIGGRAPH图形技术会议上,Crytek发表了一篇论文,描述了该公司为创建CryEngine 2所进行的研究和开发,CryEngine 2是用于编写《孤岛惊魂》的引擎的后代。在此文档中,公司概述了引擎应实现的目标:



  • 电影渲染
  • HDR-
  • CPU GPU
  • 21 x 21


在使用CryEngine 2开发的第一款游戏中,开发人员实现了除一个目标外的所有目标-可玩区域必须缩小到4 km x 4 km。这似乎很多,但是《忘却》游戏世界的面积是后者的2.5倍。但是,值得一看的是Crytek在较小规模上所取得的成就。



游戏开始于菲律宾附近一个被丛林覆盖的岛屿的海岸。朝鲜军队入侵了该岛,一队美国考古学家在该岛发掘,要求援助。您和您的团队身着特殊的纳米服(使您拥有超能力,速度和短期隐形能力),他们被派去了侦察局面。





前几个级别很容易证明Crytek开发人员的主张并不夸张。海洋是真实的3D波与其中的物体相互作用的复杂网格-水下光线,反射和折射,焦散和光散射,海浪滚动到岸上。按照现代的标准,这一切看起来都不错,尽管令人惊讶的是,尽管Crytek在创建水面外观方面做出了所有努力,但几乎没有单人动作发生在其中。



您可以看着天空,并思考它看起来如何正确。这是应该的,因为游戏引擎会计算光散射方程在CPU上,要考虑到一天中的时间,太阳的位置和其他大气条件。计算结果存储在浮点纹理中,然后由GPU使用该纹理渲染天空盒(天空圆顶)。



我们在远处看到的云是“真实的”,也就是说,它们不仅是天空盒或覆盖纹理的一部分。它是几乎像真实云一样的小粒子的集合,并且使用一种称为光线行进的过程来定位3D世界中的粒子体积。由于云是动态对象,因此它们会在场景上投射阴影(尽管此处不可见)。





完成第一个级别将进一步证明CryEngine 2的功能,在上面的屏幕截图中,我们看到了一个非常详细的环境-定向和间接照明是动态的,所有树木和灌木丛都对自身和其他植被投射阴影。当您挤压树枝时,树枝会移动,并且可以拍摄小树桩以防止它们绊倒。



说到射击物体:《孤岛危机》使我们可以摧毁许多物体-车辆和建筑物可以被炸成碎片。敌人躲在墙后面吗?不要像您在《现代战争》中那样打扰穿过墙壁射击,只需将其完全取出即可。





与Oblivion一样,几乎所有物品都可以拾起和放下,尽管Crytek并未扩展此功能是一个遗憾。捡起吉普车并将其扔进士兵人群中将是很棒的-我们所能做的就是将它轻轻一拳,希望它能移动到足以造成伤害的程度。同样如此:在其他哪些游戏中,您可以用鸡或乌龟杀死敌人?



即使在今天,这些场景仍然令人印象深刻,并且在2007年,它已经在渲染技术上实现了巨大飞跃。但是尽管进行了所有创新,《孤岛危机》还是可以看作是一种标准的游戏,因为史诗般的山景和优美的地理位置掩盖了游戏的线性和可预测性。



例如,在那些日子里,玩家只能通过交通工具移动的级别很流行,因此《孤岛危机》遵循这种方式也就不足为奇了。成功入侵岛屿后的一段时间,您的任务是驾驶一辆时尚的战车,但一切很快结束。也许这是最好的,因为它的控制不便,而且玩家甚至不需要参加战斗就可以完成关卡。





可能没有多少人没有玩《孤岛危机》,或者总体上不了解《孤岛危机》的情节,但我们不会详细介绍它。尽管如此,迟早,玩家还是会发现自己处于一个神秘的洞穴系统中的地下深处。她很漂亮,但经常令人困惑和幽闭恐惧症。



它很好地演示了还使用射线行进的体积照明和引擎雾系统。它不是完美的(武器边缘周围有太多模糊),但是引擎可以轻松地处理很多定向光。





从洞穴系统中出来后,玩家将被带到激烈的战斗中岛上的一个冰霜区域,以及另一个标准的游戏玩法:护送任务。 Crytek的开发人员四次重新设计了冰雪渲染系统,几乎没有时间按时完成任务。



最终结果非常漂亮:在表面上的单独一层中覆盖了雪,冻结的水粒子在光线中闪烁,但是图形效果比以前的沿海和丛林场景稍差。看一下图像左侧的大鹅卵石:那里没有太多的纹理。





后来,我们返回丛林,不幸的是,我们将有另一个运输层次。这次,一个小型的两栖运输车(其创造者显然受到“外星人”的启发)需要一名替代飞行员,当然可以了(我们的士兵有不能做的事情吗?)。同样,游戏玩法包括与笨拙的政府系统的短期斗争以及您无法参与的随意射击。





奇怪的是,四年后Crytek发布了《孤岛危机》的控制台版本时,整个级别都被削减了。可能大量使用基于粒子的云系统,复杂的几何图形和较长的渲染距离对于Xbox 360和PS3来说是太大的负担。



游戏以在航母上进行非常激烈的战斗而告终,并进行了强制性的“我还没有死”的老板战斗。游戏中的某些图形非常令人印象深刻,但是关卡的设计与之前阶段的设计无可比拟。



总的来说,《孤岛危机》的玩法很有趣,但是剧情并不是很原始-从很多方面来说,无论是在随行人员,武器选择还是剧情曲折方面,游戏都是《孤岛惊魂》的精神后裔。甚至纳米套装的广告功能也没有完全实现,因为通常几乎不需要它的功能。除了需要电源模式的几个地方以外,标准的屏蔽层足以通过。



该游戏非常漂亮,是2007年(以及之后很多年)发行的最漂亮的游戏,但是《现代战争》的多人游戏更好,《生化奇兵》的故事情节更丰富,《 li灭》和《质量效应》提供了更多的深度和可玩性。



但是,当然,我们都知道为什么13年后我们仍然在谈论孤岛危机-一切都归因模因...





所有出色图形的价格都是以硬件需求为代价的,而对于当今功能最强大的PC而言,以最大设置运行游戏似乎已无济于事。实际上,这种感觉一年又一年持续存在-出现了新的CPU和GPU,但它们都无法以与其他游戏相同的质量运行《孤岛危机》。



是的,图形可能令人赏心悦目,但是低帧率(这似乎从未增加过)绝对令人不快。



为什么一切都这么严重?



《孤岛危机》于2007年11月发布,但点对点演示和地图编辑器已于一个月前发布。我们的站点已经在针对PC硬件和游戏进行基准测试,因此我们测试了此演示的性能(以及后来的SLI / Crossfire 1.1补丁)。我们发现游戏的表现非常好……但是仅在当时最好的图形卡上并且具有平均图形参数。切换到高质量后,中端GPU立即消失了。





更糟糕的是,标榜的DirectX模式和抗锯齿并没有给游戏潜力注入信心。媒体上早期预审已经说过帧速率远不理想,但是Crytek承诺将会进一步改进和升级。



那么,为什么游戏对硬件的要求如此之高呢?通过在启用devmode的情况下运行游戏,我们可以了解游戏内部的情况。此模式打开对控制台的访问,该控制台使您能够启用各种设置和作弊功能,并显示带有渲染信息的覆盖图。





在上面的截图几乎是在游戏开始时拍摄的,我们可以看到平均帧速率和游戏使用的系统内存量。所述的TrisDP,DLights值表示每帧的三角形的数量,每帧的绘制调用的数目,和定向(和动态的)灯的数目。



首先,让我们谈谈多边形:此框架中有220万个多边形。尽管并不是所有的场景都显示在屏幕上(即在渲染过程的早期阶段会裁剪掉不可见的场景),但这是用于构建场景的资源。其中大部分是植被,因为Crytek选择在树上绘制单个叶子,而不是使用具有透明度的简单纹理。





即使在相对简单的环境中,也要使用大量的多边形(与当时的其他游戏相比)。在此后期游戏图像中看不到太多东西,因为它是黑暗且地下的,但是这里仍然有大约700k多边形。



比较一下定向光源的数量差异:在丛林中一个开放空间中的一个场景中,只有一个(即太阳),但是在这种环境中,它只有10个,似乎并不多,但是每个动态光源都会投射出活动阴影。 ... Crytek使用了多种技术来实现它们,尽管按当时的标准来看它们都是现代的(级联和离散阴影贴图以及用于平滑边缘的波动采样),但它们为顶点处理过程增加了沉重的负担。



DP告诉我们在框架中的对象上“调用”特定材质或视觉效果的次数。控制台命令r_stats对我们很有用-它详细显示绘制调用的结构,使用的着色器,几何处理的详细信息以及在场景中加载纹理。



让我们再次回到丛林场景,看看用于创建此图像的内容。





我们以4K运行游戏以获取最佳屏幕截图,因此统计信息并不十分清楚。让我们拉近一点。





在此场景中,需要使用4,000多个多边形组来创建250万个环境三角形,以向其应用1,932个纹理(尽管大多数重复出现在例如树木和地面之类的对象中)。需要最大的顶点着色器来准备运动模糊,它包含234条指令,凹凸像素着色器包含170条指令。



对于2007年的游戏,调用的次数非常多,因为DirectX 9(在较小程度上是DirectX 10)进行每个调用的开销并不是那么微不足道。在《孤岛危机》之后不久,一些AAA级的主机游戏就会拥有如此多的多边形,但是它们的图形软件比DirectX更专业。



我们可以使用3DMark06软件包中的“批量大小测试”来解决这个问题。启用DirectX 9的工具在屏幕上绘制了一系列移动和更改颜色的矩形,从而在每个后续会话中增加了三角形的数量。在GeForce RTX 2080 Super上进行测试时,结果显示出不同多边形组大小之间的性能存在明显差异



我们无法轻易确定一组中要处理多少个三角形,但是如果显示的数量考虑到了所有使用的多边形,那么平均每组中只有600个三角形,这太少了。大量实例可能会解决此问题(也就是说,一个对象可以在一次调用中被多次调用)。



某些级别的《孤岛危机》使用了更多的抽奖电话;航母之战就是一个很好的例子。在下图中,我们可以看到虽然与丛林场景相比三角形数量较少,但移动,纹理和单独照明的对象数量之多是使用CPU和图形API /驱动程序系统渲染性能的瓶颈。





Crysis因对多核CPU的优化不佳而受到许多人的批评。在游戏发布之前,大多数功能强大的游戏PC都配备了双核处理器,AMD在游戏发布的同时开始销售其四核Phenom X4系列,英特尔在2007年初推出了四核CPU。



Crytek真的忽略了这一点吗?我们在支持多达8个线程的现代8核Intel Core i7-9700上运行了标准CPU2 timedemo。这些指责似乎有些道理:尽管4K测试的整体性能还不错,但帧频却经常降至25 fps以下,有时甚至降至个位数。





但是,如果再次运行测试,但是这次限制了主板BIOS中可用内核的数量,则可以看到故事的另一面。



从一个内核转移到两个内核时,性能会显着提高;从两个内核转移到四个内核时,性能会显着提高(尽管更少)。两者之间没有明显的区别,但是游戏肯定使用了几个核心。随着四核CPU在游戏发布后的几年内成为常态,Crytek确实不需要进一步的优化。





在DirectX 9和10中,图形命令通常在单个线程中执行(因为否则会严重降低性能)。这意味着,在许多场景中看到了大量的绘图调用,只有一个或两个核心被重载-没有任何版本的图形API允许多个线程将需要显示的内容排队。



就是说,并不是说Crysis不正确地支持多线程-这显然是由于DirectX的限制。实际上,游戏性能的下降应归咎于游戏的设计决策和渲染效果(例如,精确建模的树木,动态和可破坏的环境)。还记得洞穴级别的屏幕截图吗?请注意,DP低于2,000,然后查看FPS计数器。



除了绘图调用和API问题之外,还有什么要求?实际上,几乎所有东西。让我们回到解释绘制调用含义的场景,但是这次我们将所有图形选项切换为最小设置。





从devmode信息中,我们可以了解明显的事实:使用最小设置时,多边形的数量减半,并且绘制调用几乎减少了四倍。但要注意不要有阴影,没有环境光遮挡和没有美丽的灯光。



但是,最奇怪的变化是视野变小了-这个简单的技巧减少了需要在帧中渲染的几何图形和像素的数量,因为在此过程的早期,所有不进入视口的内容都会被裁剪。进一步深入统计可以进一步了解情况。





在这里,您可以看到着色器上的负载减少了多少-最大的像素着色器仅包含40条指令(之前有170条指令)。最大的顶点着色器很大,可容纳152条指令,但仅用于具有金属反射的表面。





循环质量设置-低,中,高和非常高



随着图形设置的改进,阴影显着增加了多边形和绘制调用的总数,并且在高和非常高的质量级别下,整个照明模型完全切换为HDR(高动态范围)体积雾和照明;还积极使用了运动模糊和景深(运动模糊非常困难,涉及多次通过,大型着色器和多次采样)。



这是否意味着Crytek只是将所有可能的渲染技术填充到引擎中,而没有考虑性能?这就是为什么孤岛危机值得所有这些笑话吗?尽管开发人员的目标是2007年最好的CPU和图形卡,但是说公司不关心游戏的性能如何是不公平的。





从游戏文件中解压缩着色器后,您可以在代码中看到很多注释,其中许多注释与指令和ALU循环数有关。其他注释描述了如何使用特定的着色器来提高性能,以及何时以最佳方式首选它们。



通常,游戏开发人员不会将游戏设计为完全受到随时间变化的技术的完全支持。一旦完成一个项目,他们便转到下一个项目,并将过去的经验教训应用到新游戏中。例如,第一个《质量效应》对硬件的要求很高,即使在今天,在4K中也相当慢,但其续作效果很好。



鉴于主机上的游戏通常以30 fps或更低的速度运行,《孤岛危机》被设计为尽可能美丽,同时仍可玩。当是时候继续前进发展必须具备的续集,Crytek公司显然决定缩小规模,以及游戏如孤岛危机3明显优于第一批执行-它只是一个漂亮的游戏,但它不具有的令人惊叹的因素它的前身。



再尝试一次



2020年4月,Crytek宣布将重新制作PC,Xbox One,PS4和Switch的《孤岛危机》,并打算在7月份发布(该公司显然错过了这次机会,因为原始游戏将于2020年8月开始!)。



紧接着道歉,要求延迟发行以使游戏达到“我们预期的《孤岛危机》游戏标准”。



我必须说,对预告片的反应和泄露的游戏过场动画相当混杂,人们批评与原始作品之间缺乏视觉差异(在某些方面,游戏甚至变得更加糟糕)。毫不意外的是,在宣布这一消息之后,出现了许多回响旧模因的评论-甚至Nvidia也决定通过发推文称其“开启其超级计算机”而参与其中。





当第一部分投放到Xbox 360和PS3时,对其进行了一些改进,主要涉及照明模型,但是,纹理的分辨率和对象的复杂性大大降低了。



由于remaster计划在多个平台上发布,因此看看Crytek是继续其传统还是走一条安全的道路来使所有人满意都将很有趣。《孤岛危机2007》在今天仍然享有声誉,这是理所应当的。如今,在PC游戏中可以达到的目标仍在努力。



也可以看看:






All Articles