为了压缩游戏容量,人们都祭出过哪些奇招?

为了压缩游戏容量,人们都祭出过哪些奇招?

全文约 5500 字,阅读可能需要 10 分钟。

《荒野大镖客:救赎 2》无疑是一部蕴含魔力的作品,在游戏正式发售之前,与它相关的花边消息就屡次让人们发出感叹。Rockstar 压榨员工、受到众媒申讨的「加班丑闻」自不必说;因游戏容量过大,改为「双碟装」的实体销售策略,也让人回忆起 6~7 张光盘打包贩卖的 CD 时代。


在电子游戏成为商业娱乐的 40 年间,传播媒介一直是一道难以挣脱的枷锁。从早期以 KB 为计量单位的卡带算起,到刻录 CD 的盛行,再到双层 DVD 的诞生与数字平台的发展,时至如今,就连能够空腹吃下 80GB 的蓝光光盘,在承载持续膨胀的内容时也略显乏力。

传播媒介的选择,以及它们的大小和数量,几乎直接影响到游戏的制作成本和宣传效果。久经沙场的开发者们自然不会熟视无睹,每个世代他们都能为游戏找到一些古怪的「瘦身方法」,而一场关于容量的战争,其实在很久之前就已经打响了。

字节之间的博弈

你可能难以想象,那些有着完整动作和音乐,甚至包含剧情和文字叙述的 FC 作品,在数十 KB 的卡带中也能完好运行。《超级马里奥》初代的容量仅为 40KB,《勇者斗恶龙》初代也不过只有 64KB。直到 1991 年,FC 上才诞生了第一款容量达到 1MB 的游戏。

耗容如此小的原因,与当初拮据的开发环境脱不开干系。

FC 卡带的存储部分,大致由两块主要芯片组成:一块是 PRG,负责存储程序;一块是 CHR,用来容纳游戏中所有的图形素材。而在一张标准的 40KB 卡带中,开发者只能用 8KB 来处理所有活动块和背景,放到现在简直就是天方夜谭。

中间的两块就是 PRG 和 CHR 了

你大概已经理解那个年代程序员们锱铢必究的原因,幸运的是,从 FC 游戏的低分辨率和硬件的寻址逻辑中,他们还是找到了一种较为合理的处理方式。

FC 的分辨率仅仅只有 256 x 224,但即便现找一张同样大小的 JPG 图,它的容量也能达到 20KB。因此,FC 的画面并不能当成一整张图来看待,以大家最为熟悉的《超级马里奥》为例,整个屏幕实际上由 8 x 8 像素的 896 个方块组成,而每一个方块所显示的内容,其实都是从 CHR(图形库)里调用过来的。

右上角:CHR 中的拼图库

这使得无论画面如何变动,也不会产生更多容量需求,用来用去都是 CHR 里面的 8KB 内容。由于 CHR 只能存得下 256 个方块,玩家们最终看到的动作、敌人、场景,无非都是素材的重复堆叠和利用。比如《超级马里奥》的代表角色「板栗仔」,它走路的「特效」就源于同一张图片不断的水平翻转。


8bit 音乐也有着同样的韵味,通过 MIDI(音乐数字接口),开发者仅在卡带中记录乐谱的音调、波形、音量等数据,再用这份数据告知主机应该如何演奏,相比录制音乐要小上 4~5 个数量级。这也是你在 FC 游戏中听不到鼓声、琵琶声、人声的原因,它们都被替换成了单一的曲调和脉冲信号。

这些方法不仅影响了第三、第四世代主机,还影响了街机游戏的开发思路。以 CPS1 基板上的《圆桌骑士》为例,它的颜色就采取了「索引」的处理方式,主要从调色板中调取颜色,自己仅记录索引值,每个像素只需用到半个字节。作为对比,在 RGBA 的色彩格式下,1 个像素就要占到 4 个字节。

圆桌骑士

「通用方法」帮助开发者们度过了诸多难关,但为了往卡带中塞入更多内容,有时还得去想一些旁门左道的方法。DQ 之堀井雄二就是使用「旁门左道」的好手,《勇者斗恶龙》中那些奇怪的咒术和怪物命名,与节省游戏容量有着直接的关系。

FC 上之所以没有太多 RPG 游戏,其中一个原因就是该类作品的文本容量过大。堀井雄二在项目设计阶段想到了这个问题,他先是针对咒术和怪物自由命名,然后将所有用到的假名进行统计,最终选出了最为常用的 18 个片假和 2 个平假字符。如果之前拟定好的咒术和怪物名称不包含在内,则对其重新命名。

尽管堀井在接受采访时声称这些名字都是胡邹,但它们背后却有一套不成文的逻辑,从中也能看出老一辈制作人的才华。

以游戏中的雷击系咒语为例,从弱到强分别是莱汀(ライデイン)、基加汀(ギガデイン)和米那汀(ミナデイン)。即使你没有学过日文,应该也能轻易看出莱汀(ライデイン)取自英文「Lightning」,基加汀的「基加」(ギガ)等同于 Giga,形容数量很大。而米那汀的「米那」(ミナ)则代表「大家一起」,都是形容程度的词。

勇者斗恶龙的咒语在表意上有些发散,比如火球术「美拉」(メラ),参考自日文中的拟声词 めらめら(可以读成美拉美拉),用来表现火焰熊熊燃烧的状态。而以「加词」来表现程度的设计思路,可能参考自当年在日本很火的 DND 游戏《巫术》。靠着 20 个字符和奇思妙想,堀井的咒语体系现在看起来也颇具韵味。


为了向前辈们致敬,如今仍有人甘愿去面对严苛的开发环境。Morphcat Games 就打算将旗下作品《Micro Mages》塞到 40KB 的卡带中,在此基础上它们还决定做出 26 个小型关卡。

在 FC 发售了十年之后,开发者们才跳出了最初的苦难。受益于磁碟机和 CD-ROM 的应用,业内陆续出现了使用整张图片、整段音乐的作品,开发语言也逐渐从汇编转化为 C,似乎一切都在向着更好的方向发展。

卡带与光盘的两面

进入第五世代后,人们最为耳熟能详的故事可能就是索尼和 PS1 的崛起了,这与传播媒介同样有着千丝万缕的联系。CD-ROM 可谓是 PS1 的一大杀器,凭借着这套系统,索尼开始大批量的使用 CD 这种容量大、成本低、产出快的存储介质。700MB 的可用空间,也使得游戏开发商可以轻易在其中加入人声、动画和影片。

执迷于卡带的 N64 很快就落于下风,受到技术限制,当时卡带的容量大多为 8~16MB,最大的 N64 游戏也不过 64MB。但即便如此,游戏总还是得做啊!于是,任天堂那一套近乎科幻的压缩技术再一次亮相人前。

作为启发游戏操作的标杆作品,《超级马里奥 64》控制容量的手段同样值得参考。丰富的游戏元素,多达十几个世界的大地图,硬是被老任塞到了 8MB 的卡带中。如果将《侠盗猎车手 5》拿过来对比,两者的体积差了 5000 多倍。

《超级马里奥 64》最重要的压缩技巧在于「少用贴图」。贴图是一种强化建模材质的处理方式,将物件区分成金属、木头通常都是它的功劳。作为参考,《杀戮空间 2》的硬盘需求大致为 20GB,其中环境网格和贴图就占到了 17.4GB,可以说是绝对的大头。

不难发现,《超级马里奥 64》中的草地、沙地、树木,甚至主角本身,都是直接在 3D 建模上抹一层色完事。偶尔见到的石堆和城堡,大概是为数不多用了贴图的地方,同时期的 PS1 游戏可是高出了几个档次。

《超级马里奥 64》的贴图可以说极其简陋

当时也有从 PS1 移植到 N64 的作品,比如《生化危机 2》。为了把耗容两张 CD 的游戏缩小成 64MB,负责移植工作的 Angel Studios(RAGE 引擎开发小组)采取了暴力的有损压缩,主要表现在视频和动画上。PS1 采用了 MJPEG 视频格式,这种格式会基于 JPEG 图片生成运动图像,可以单独对某一帧进行压缩,所以压缩倍数能够达到 80 倍。

除此视频之外,背景、贴图在高压之后也有很明显的退化。层次更少的颜色导致画面变浅,背景的精细程度明显降低,动态模糊时的颗粒感也更为严重。但即使如此,Angel Studios 的技术力却不容小觑,它们在如此严苛的条件下,仍然较为完整的保证了《生化危机 2》的体验。

《生化危机 2》画面对比:N64(左)/PS1(右)

任天堂从那时起就相当重视游戏容量的控制,2011 年它们收购了视频软件播放器公司 Mobiclip,意图借助它们的技术和算法,塑造高画质、耗能低、高压缩率的视频。而位于法国巴黎的任天堂欧洲研发(NERD)部门,主要处理的也是数据压缩与中间件等软件。随着技术进步,Wii U 版的《大金刚:热带寒流》在移植到 Switch 后,容量从 11.3GB 变成了 6.6GB。

反观之下,在光盘中找寻到自由的开发者,很快就从「解放阶段」踏入了「暴走阶段」。他们想着法子增加贴图的维度,加入体积庞大的录制音乐和视频,意图全方位的强化视听感官。

由于植入了大量的真人互动电影,土星上的 AVG 游戏《Phantasm》就有 8 张光盘,这在 1997 年实属罕见。PS1 平台的《心跳回忆 2》同样容量惊人,为了实现死宅们的愿望,Konami 突发奇想,为所有角色加装了 EVS 系统(Emotional Voice System),使得她们可以叫出玩家的名字,最终导致游戏的总容量扩充到 7 张 CD。

谁都想美少女叫自己的名字

虽然后续出现了容量更大的 DVD,但玩家的需求已经一发不可收拾。《侠盗猎车手 5》PC 版就用到了 7 张 DVD,耗容达到 60GB。体积增加的原因源于贴图、音频、视频文件的进一步变大。镜面贴图、法线贴图等新花样层出不穷,音频也是一路从 12KHz 到 44KHz,最后成长为 5.1 环绕立体声。

在玩家需求和内容呈现的双向推进下,6~7 张光盘捆绑贩售的状态持续了很多年。直到蓝光的全面应用,一款游戏一张碟的「正常状态」才重回眼帘。然而,《荒野大镖客:救赎 2》的双碟制式又让人陡然警醒,游戏的存储空间,如今再一次向着天花板靠拢。

介质瓶颈和解决方案

低成本和无成本并不能划等号,特别是针对那些数量多、易损耗的消费品。不妨拿 CD 来算一笔账。在 20 世纪 80 年代到 20 世纪 90 年代初期,一张 CD 的制作开销为 3~4 美元,虽然相比卡带便宜了不少,但如果把 8 张 CD 捆起来卖,它的价格也已经是游戏售价的一半了。

虽然 CD 的制作费用后来大幅下降,但考虑到专利、流水线租赁、次品率、物流,市场推广和玩家的接受程度,增加光盘的开支也是肉眼可见的。光盘生产商 Europadisk 总裁 James Shelton 曾在接受《纽约时报》的采访时表示,它们也很难从 CD 中捞到多少利润。

我们的 CD 标价 75 美分。除了原材料,机器和劳动力的成本,公司生产的每张 CD 都要向三个不同的发明者支付专利使用费(飞利浦、汤普森和 DiscoVision)。

蓝光光盘最终也可能面对相同的情况。仅从制作成本来看,2010 年时,每耗费 1GB 的蓝光容量,你就要为此多付 5 美分。尽管对于大型开发商而言这只是隔靴搔痒,但随着越来越多 4K 资源的引入,游戏容量还会进一步提升,再加上劳工和物流成本的增加,传播媒介遭遇瓶颈恐怕也只是时间问题。

1080P 贴图与 4K 贴图的占用容量相差了十几倍

在「给游戏瘦身」这件事上,本世代的开发者倒也没有全权放弃治疗。

以《泰坦天降》为例,这款在 PC 上需要占用 50GB 空间的作品,在 Xbox One 上就只用到了 20GB。主要原因是 PC 中多了 35GB 的未压缩音频,而利用 Xbox One 内置的音频解码器,开发商 Respawn 成功缩小了游戏的体积。

从更深入的技术层面来看,早些年遭到口诛笔伐的《无人深空》,反倒是让大众觉察到另一种可能:过程生成技术(Procedural Generation)。

某种程度上,Hello Games 还真将「容纳 1.8 × 10 ^ 19 颗星球的无缝宇宙」塞到了 3.4GB 的光盘里。利用数学上的递归和分形概念,游戏中的模型、纹理均由玩家的本地机器生成,安装文件仅仅储存程序和算法。

《kkrieger》同样采用了过程生成技术,尽管它的容量只有 96KB,但其模型和细节却达到了 200~300MB 游戏应有的水平。该作的场景几乎完全依靠动态生成,预载资源中只有用于递归和分形的几何形状,在 exe 内置建模引擎的情况下,程序通过几个简单形状就能自我拼接出很多复杂形体。

《kkrieger》,你能看出它只有 96KB 吗?

微软的思路则是将游戏进行「模块化」,它们去年公开了一项名为 Intelligent Delivery 的分配技术,即在安装游戏时,智能选取人们「需要」的模块。

尽管 Intelligent Delivery 暂时还只牵扯到语音和材质,但它应用于具体内容的未来值得期待 —— 如果你是中国玩家,那么就只为你拆分中文模块;如果你是 Xbox 玩家,那么就只安装 Xbox 相关的文件;如果你讨厌竞技对战,多人模块也可一并剔除。

试想一下,将过场动画拆分成可用模块,或许是个不错的「应急」办法。《量子破碎》的真人过场就达到 70GB,《合金装备崛起:复仇》的动画部分占到游戏总容量的 72%,而《最终幻想 13》甚至达到了 76%。

相比二三十年前的游戏开发者,如今的从业人员已经不必要对作品容量锱铢必究。越来越好的网络环境,看起来绰绰有余的实体介质,让他们可以将精力集中于那些日益膨胀的需求。不过,这又让人开始盲信摩尔定律下传播媒介的成长速度,而缩减容量的主要方法,在过去的十年间步伐缓慢。

作为代价,厂商们在游戏扩容的过程中势必徒添成本,玩家也得为自己整捣更大、更快的硬盘和网络。若要提供更好的体验,媒介迭代和「瘦身」技术都是必不可少的条件。而「水多加面、面多加水」的死循环,也终归不是整个行业期望迈向的未来。当人们长吁一口气时,或许也应该回头遥望。需求、游戏容量和技术之间的角力,时至如今还远未结束。

全部评论 3条

您还未 登录,不能参与发言哦~

蓝冥舞
2018-11-09 北京
0

回复

真没想到潜龙谍影崛起和ff13的视频居然占了那么大空间

梦随乡兮
2018-11-09 四川
0

回复

看完了,很不错的长文,作者棒棒的!!!

索尼1998
2018-11-08
0

回复

直接卖硬盘

热门游戏

相关游戏