当前位置:网站首页> 体育百科 > nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

更新时间:2022-09-15 20:01:33

本文编译自PC Gamer,原文作者Tyler Wilde 。

对于程序员来说,游戏制作完毕到正式发售之间的这段时光可谓无比煎熬:他们往往得冒着猝死的风险拼命干活;这段地狱马拉松般的时光在英语中有一个专门对应的名词——“crunch”。不过就在几年之前,“crunch”这个词还没有这个意思,它的原义是指发售前的游戏整理工作本身:想要把游戏整个塞进一两张DVD盘,还得能在100GB(甚至更小)的硬盘上舒服地运行,程序员们就得对超额的数据进行处理和剔除。这个数据整理工作,在以前就被称为是“crunch”。

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

“crunch”一词的词义变化也反映了游戏容量近几年产生的变异。长久以来,电子游戏一直受到传播媒介的制约,在二十年前就是如此——1993年,一款名为《神秘岛》的游戏获得了空前的成功,而在当时这款容量“巨大”的游戏之所以能够顺利推广,还得归功于20世纪末刚刚开始普及的CD-ROM光驱。但到了2004年双层刻录光盘发明时,情况却悄然发生了变化——就在双层DVD诞生的同一年,Steam平台横空出世,再加上宽带网络的普及,渐渐地已经没有任何物理媒介能和数据下载同场竞技了。另一方面,脱离了桎梏的游戏容量也开始疯狂增长,只有玩家的带宽和硬盘空间才能对它稍加限制,于是乎100 GB的游戏就此诞生——这下子就连蓝光光盘都容不下它了,遑论几张小小的双层DVD呢?

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

如果你还在用“小水管”,或是没来得及升级硬盘,现在恐怕就只能“感受悲伤”了。对于那些受流量限制困扰的玩家,不断膨胀的游戏容量无疑更是一件尤其糟糕的消息。若要改善“困难户”们的游戏体验,恐怕只有缩小游戏容量(至少别再增加了)或是选个好点的ISP唯二解决方案。不过在与几位游戏开发者交谈之后,我可以非常自信地说:游戏容量肯定不会缩小了,它只会一步步膨胀地更大。

到底是什么在占据你的硬盘?

文件容量暴增,音频文件可谓“功不可没”(尽管它并不是最最主要的“幕后推手”)。音频的分辨率(采样率)取决于开发者想要展现何种声音,举例来说,Tripwire使用的武器声是44kHZ的音频,人物语音则是22kHZ的音频。不过,这个事例其实也已经是2006年的陈年往事了,那时候Tripwire刚刚发售《红色管弦乐队:东线41-45》,这还是Steam平台上发布的第一批第三方游戏。

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

时至今日,开发者们已经用上了5.1环绕立体声音频还有单声道音频,而这也是游戏容量膨胀的原因之一,不过更简单明了的成因恐怕是:游戏包含了比以往更多的音频文件,实际上这一点造成的影响反而还要更大。随着游戏产业的进步,我们对高保真音频和游戏角色配音的期望值早已和十多年前不可同日而语,开发商对音频文件的数量和质量自然也得格外上心。

另一方面,视频的分辨率也获得了大幅提升。在并不那么遥远的过去,我们还在看640*480的过场动画,而如今大牌厂商们却动辄就能砸出4K高清的震撼画面——且慢,我们不能忘了视频的容量是可以进行高倍压缩的。Stardock公司的首席开发者Nathan Hanish就指着H.264视频编码告诉我:“对视频进行1500x的压缩并不是什么无法实现的难题。”

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

由此来看,尽管高质量音频、高分辨率视频对于催肥游戏“居功甚伟”,但单靠音视频的变化并不足以解释自2000年来我们所遭遇的容量爆炸现象。事到如今,我们可以确定,造就100GB大游戏的“罪魁祸首”正是贴图。近年来,贴图的分辨率和视频一起“携手共进”,但与视频不同的是,贴图不堪程序员们的辣手压缩:尽管现有技术的确可以做到对图片的高倍压缩(就比如以jpg的格式),但压缩后的痕迹也非常明显。再拿前文中提到的Stardock公司的老哥Hanish的话说:“图像必须用上对GPU很友好的内存布局,它们只能用本地block compression压缩算法,也因此最多也就只能做到8比1的压缩。”

除此之外,贴图还变得越来越复杂了。Tripwire Interactive总裁约翰·吉布森就表示:“在2005年的时候,你手头有一个贴图,它就只是一个贴图,就算后来人们把它称作漫反射贴图,它也还就只是一个贴图。但等到了下一世代,事情可就大不一样了:摆在你眼前的有漫反射贴图、法线贴图,还常常会有镜面贴图。所以,显存和内存提升带来的不仅仅是更高分辨率贴图的广泛运用,与此同时你还得为每个对象制作三种不同的贴图。”

厂商们这么费心地制作贴图,其实就是为了给一个个网格图“梳妆打扮”。而这些个网格图也不复以往。依然以Tripwire公司的游戏为例:在2006年,《红色管弦乐队1》发售时的容量是2.6GB,当时的玩家们都觉得这游戏大的难以接受(“我们的补丁包一超过100MB就引得玩家们抱怨连连,”总裁吉布森回忆说)。在这款游戏发售时,声音文件只占了327MB,环境网格和贴图独占1.4GB。再看看9年后发售的《杀戮空间2》,本作的声音文件只有1.1GB,相比几年前变化并不明显;那么环境网格和贴图的增长倍数又如何呢?说起来也是相当吓人,几年不见,它们已经变成了17.4GB的“庞然大物”。

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

图为《杀戮空间2》各类元素的容量,注意其中.TEX文件的大小

“如何以最快的方式让你的游戏变得更美?提高贴图分辨率就是一个好办法。”吉布森说道,“不管你制作的是什么游戏,先用最高的分辨率来制作内容,然后再根据内存的要求进行降质即可。而在当下,随着内存不断扩容,人们制作的贴图分辨率也越来越高。”

研究一下Stardock公司2003年至今的游戏演进史,同样可以看出类似的趋势。最初Bink格式的视频占了《银河文明1:终极版》绝大多数的比重;到了2011年,贴图在《银河文明2:终极版》游戏中的比重上升到了15%;四年后发售的《银河文明3》中,贴图的比重又上升了5%。最后再看一下他们2016年发售的新作《奇点灰烬:扩展版》:贴图的分量一下就实现了飞跃,达到了整整60%!

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

当然,贴图也并非是唯一的“元凶”。首先,一些游戏就没有3D渲染意义上的“贴图”,另外一些游戏中高分辨率视频分量很足,这也会导致它们的容量大为增加。除此之外,可执行文件、几何体、可再发行组件包等等诸如此类的一切东西也都在不断增长。但是“贴图的增长比例是快速翻倍的,它代表着(迄今为止)绝对最多、比重最高的增长领域。至少,在Stardock的产品中是这样的。”Hanish如是说。如果你对此真的非常不满,再看看眼前苔痕青青的岩石、斑驳的墙纸、清晰地能看清雀斑的人脸吧。怎么样,是不是气消了不少?

为什么它们能比其他游戏大那么多?

游戏容量的问题有时会让玩家们感觉很困惑:为什么《巫师3》和《彩虹六号》,一个是开放世界RPG,另一个是多人FPS,它们的容量就能一样是50GB呢?实际上,玩家们在比较时可能混淆了“体量”和“容量”——尽管“一个世界”、“上百小时的剧情”给人留下的印象非常深刻,但它们和游戏容量并不存在直接的关联。大片由地形几何结构组成的平原和反复利用的草场贴图在你硬盘中所占的空间并不像你感受到的那么“大”,而游戏中那些极为精细的枪械建模也不是你在屏幕上看到的那么“小”。

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

再举个《NBA 2K17》的例子。这款游戏容量有66GB之多,大的惊人,那么为什么NBA球场这块“巴掌大”的地方能比《巫师3》中一整个世界还“大”呢?首先,每支球队的每个球员都有自己的人物建模和贴图,而且还原度还相当之高。相比之下,很可能《巫师3》包含的独特人体和面孔就要少得多得多。在我提出这个话题时,Stardock的Hanish也指出:《NBA 2K17》里有着超大量的动捕动画数据。

除此之外,想深究一款游戏的游戏容量,还得再从以下几个问题入手:这款游戏中包含了多少视频?音频又有多少?它们压缩了没?《泰坦陨落》在安装完毕之后容量高达48GB,这是因为其中包含了大量的未压缩音频(这是为了减轻CPU负载)。我们可以做出一个这样的假设:在重生工作室的眼中,相比更小的硬盘容量,恐怕针对处理器的优化更能赢得顾客的青睐。

为什么不把东西全都压缩一下?

48GB的《泰坦陨落》下载下来的安装包其实“只有”21GB,而这也表明整个安装包肯定是经过了高倍压缩。于是问题来了,为什么其他游戏就不能也压缩这么多呢?这里我们也只能反向推测一下:之所以《泰坦陨落》安装之后容量有48GB之多,主要原因就是其中包含的大量音频文件,而这也就让高度压缩成为了可能。

说来说去,话题又回到了那些“讨人厌”的游戏贴图。根据前文的推论,我们已经确定了贴图就是游戏容量整体增长的“罪魁祸首”,也正如Hanish所言:贴图是没办法被过度压缩的。不幸的是,它们同样不能在下载时先做高倍压缩,然后再在安装时转码,这是因为这个过程“对CPU和内存的要求高得苛刻,只有在工作室才能真正实现。”Hanish如是解释道(随后他又补充说:“转码某些类型的dds要比其他种类容易的多”)。

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

我并不是说发行商们不会对游戏进行压缩(Tripwire的总裁吉布森告诉我,Steam就会对游戏进行压缩,再在下载后解压)。但是,如今的开发者们的确也不再需要咬牙切齿地极力减少下载安装包的容量;对每种数据都进行压缩是不切实际的,再者,削减游戏容量也不像以前那么“生死攸关”了。

Oculus VR的程序员Tom Forsyth曾为PC/Dreamcast/Xbox平台开发过游戏,根据他的回忆,在上世纪90年代到21世纪初这段时间,为了让游戏能被塞进光盘,程序员们都得对游戏进行修修剪剪(也就是我们文章开头提到的“crunch”)。他曾经专门做了一些实用工具来比对未压缩/压缩过的游戏贴图,从而快速确认哪些贴图在压缩后的状态还能接受、哪些又该保持原有状态不压缩。他也得反复追查重复的贴图还有其他不必要的零碎冗余。在StarTopia公司工作时,Forsyth甚至还发明了一种属于他自己的音频压缩格式,而这都是为了解决音乐文件存在的问题——更惊人的是,这一切工作还都是在游戏发货的一周前完成的。而解决这一切问题——有时候哪怕是在最后一分钟才解决,也是绝对必要的,因为它直接决定了“你的游戏能/不能装进一张光盘”这样生死攸关的大事。

时至今日,程序员们依然也还在努力让游戏少占一点空间(Hanish向我描述的流程多多少少和之前都基本一致),不过鉴于即便多出200MB也不至于让你的游戏在发售时搁浅,Steam也不可能因为你的游戏比别人更大就抽成更多,于是时至今日,厂商们也不再会在开发过程中订立硬性的容量要求了。如果削减1个GB的容量就会导致延期发售,或是导致修复bug和优化游戏的人手不足,那么厂商往往就不会再去花功夫缩减游戏容量了。

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

相比缩减游戏容量,还是查修BUG的优先级更高

Forsyth对于这项工作心得颇深:“crunch就是一个无底洞,你可以花上几年时间来修剪这堆东西。但是没人会花这个时间。更别说容量问题也只在游戏发售前才显得有那么点存在感——那么你是不是愿意专门跳票一个月来削减20%的下载包容量呢?毫无疑问这可是血亏的买卖,根本没人会做这种蠢事。”

我走访的所有开发者无一否认此事。实际上,只要时间足够,一款游戏的容量被削减成什么样都是有可能的——至少从理论上来说它是可以达到某个较低的极限值。但是,削减50MB的游戏容量对于一款30GB的游戏来说真的那么重要么?吉布森指出,考虑到游戏在发售后还会越来越大,这一点就尤为值得三思了;《杀戮空间2》在发售后就也还在不断加入新地图、新皮肤、新道具,那么拼命地在发售前削减它的容量真的有必要吗?

nba为什么dds传不出去(为什么现在的游戏容量越来越大?)

2D游戏和刻意使用低多边形数量、低分辨率贴图的游戏依然会保持一个较低的容量下限,例如《星露谷物语》下载容量就只有462MB。而相对的,《极限竞速7》下载容量高达96.5GB,事到如今,也没有迹象显示游戏容量上限的上升势头会就此停步。

“这个故事深刻地教育了我们:快去买互联网服务供应商和硬件厂商的股票!”吉布森开玩笑说。不过事实也差不多如此。为了让我们手头配置愈发良好的硬件派上用场,开发人员也会用上质量越来越高的音频、视频、几何体和贴图,而这也同样意味着游戏会越来越大。我们别无选择,唯有抱紧网络服务供应商的大腿。不过话说回来,至少我们硬盘里这些大大大大游戏看起来都是锃光瓦亮的,这一点就足以让人心满意足了。

来源:游民星空 明镜Mirror