本文来自微信公众号:果壳 (ID:Guokr42),作者:郭亨宇,编辑:翁垟,头图来自:《超级马里奥兄弟》
1985 年,任天堂推出了一款名垂青史的电子游戏:《超级马里奥兄弟》。
封装在塑料墨盒中的《超级马里奥兄弟》,真实文件大小不过 40KB ——对如今一首歌就要 10M 的我们简直难以想象,但这张卡带里,装进了整整 8 个微缩世界,总计 32 个关卡。
与之相对的,今年最受玩家追捧的游戏之一《艾尔登法环》,它的体积大约相当于160万个《超级马里奥兄弟》——PC 上至少需要 60G 空间才能装下它。
游戏体积的“发福”速度远超我们想象。我们再也找不到以 KB 为单位的游戏了,就连“羊了个羊”都要占手机 115.8MB 的空间(小程序版也要 54.9MB )——相当于 3000 个“超级马里奥”!
游戏是怎么“胖”起来的?为什么 40KB 中的游戏世界可以如此丰富?硬件与软件都全面提升的今天,却做不到这个效果了?
《巫师 3》是火爆于 2015 年的一款开放世界游戏,当我们用文件可视化工具扫描它,会发现一个有趣的结果:实际的代码文件只是边角料。占据文件体积的绝大部分内容,是资源文件,比如声音、贴图纹理和过场动画。
从 2D 像素到 3D 拟真世界,这是现在的游戏跟过去的最大区别,就算不玩游戏的人也看得出来。
粗暴地讲,过去必须精简,是因为“没有这个条件”。
在“8 位机”(红白机)时代,游戏是一个像素一个像素拼出来的。一台游戏主机内存不会超过 24 KB,CPU 效率极低,于是如何将游戏代码写得简洁高效就成为每一个游戏设计师最重要的课题。
一位上世纪 90 年代的游戏设计师曾表示,当时编码最大的难题在于处理图形刷新问题。由于主机的内存和 CPU 计算速度都很吃紧,他们必须斤斤计较到每一帧画面,确定哪几个像素点可以变化,而哪些像素点静态不变,以确保游戏不会崩溃。
《超级马里奥兄弟》诞生 25 周年时,“马里奥之父”宫本茂也回忆起游戏开发中的各种“艰苦”细节,开发团队如何绞尽脑汁,将小得可怜的卡带容量发挥到了极致。
同一音效反复用在不同场合——马里奥受伤时,与进入管道时的音效是一样的;设计栗宝宝时,游戏卡带的体积已经几乎被用光了,无法再做多余的动画效果,设计师于是用“左右/上下翻转”来表示它被玩家击败。
仔细看也会发现,游戏背景的许多图形只是同一样式换了不同颜色。但当时,玩家大多惊奇于游戏的丰富程度,背景的“偷懒”便显得不那么要紧了。
这也导致,早期电子游戏的机制与玩法都相对简单。在 1980 年代,一个程序员就足以包揽编程、图形设计和音效设计等开发游戏所需的全部任务。每一款游戏就像一件小巧玲珑的手工制品。
当时,以个人和小型团队等名义制作游戏的开发者不在少数。即便加入游戏公司成为职员,他们每天也都睡到中午,留着嬉皮式的长发,在公司从来不穿正装。他们的办公室里弥漫着酒精和大麻的味道,以艺术家自居的开发者们沉浸其中,用六个星期左右的时间就能做出一款游戏。
小手艺变成了堆砌成本的工业流水线
彼时,每一次制作游戏,都是从轮子开始造起——即便已经有了类似的作品,依然要从底层代码开始写。而随着游戏体量开始扩大,这种模式要求的人力与时间成本越来越高——小作坊模式不再合时宜。
1992 年,游戏史上第一款第一人称射击游戏《德军总部3D》面世,它不仅开创了一个新的游戏类型,还带来了游戏引擎的概念。
游戏引擎,是推动整个游戏行业进入产业化时代的分界点,它带来了真正的流程化游戏开发。
简单理解,游戏引擎是一种集成化的游戏开发环境。利用游戏引擎,开发者可以提前将一些通用的功能代码模块写好。就像同一款轮子,可以安在不同的车型上,一些游戏素材能反复使用,减少了开发周期和成本:在《艾尔登法环》中,就出现了大量宫崎英高之前的作品中用过的素材。
开发者不再需要重复一些基础工作,可以更专注于彰显作品特色的细节。
更重要的是引擎大幅降低了游戏开发的门槛,让更多开发者参与到游戏行业。自此,行业完成了从“小游戏”到“大游戏”的蜕变。
1997 年,Square Enix 公司做出了游戏史上最精彩的角色扮演类游戏之一《最终幻想VII》,预计 4500 万美元的开发预算让它打破游戏开发预算记录,成为当时最贵的游戏。高昂的预算换来了显著的成效,该游戏的全球销量高达 1330 万份,其剧情和游戏机制更是令它成为角色扮演类游戏的里程碑式作品。
从此开始,“3A”——高预算、高质量、高体量的大型单机游戏,成了一个令人痴迷的魔咒。几乎所有的中大型游戏开发商都将开发 “3A” 作品视为至高荣誉之一。
为开发 “3A” 游戏无止境地堆叠成本逐渐成为中大型开发商的通病。这其中不免悲剧,在魔咒的蛊惑下,世嘉投入了大量资金开发引擎并制作了《莎木1&2》,但两部游戏销量都不足以回收成本,加上世嘉在主机商战上的失败,最终直接拖垮了莎木开发团队。
66%的纹理,33%的音效,1%的游戏
个别失败没有拖慢行业的高速增长,游戏体量滚雪球式地开始飞涨。
2000 年前后,游戏主机进入第六世代。1996 年任天堂 N64 游戏机还是 4MB (内存)+64MB(容量);到 2000 年,索尼 PS2 游戏机已经跃升至8 MB (内存)+40G (容量),与之搭配的护航作《GTA:圣安地列斯》,体积达 4.3G。
进入 2010 年代,游戏体积进一步膨胀,数十 G 的下载文件逐渐成为标配。2016 年《毁灭战士》新作在 PC 上发布时体积已经膨胀到 80G。
并非所有人都喜欢这样。有游戏玩家表示:如今的游戏规模越来越大,但提供的内容却越来越少,每次为了玩上一款新游戏他都不得不将几个老游戏卸载以腾出足够的空间。“我们即将面临存储危机”,这位玩家写道。
近年来,许多单机游戏开始向电影化叙事靠拢。游戏制作人小岛秀夫于 2019 年推出的《死亡搁浅》,就是与诺曼·瑞杜斯、麦斯·米科尔森、蕾雅·赛杜等知名演员和冰岛乐队 Low Roar 的合作下完成。
这种趋势下,许多 3A 大作都将艺术资源视为游戏开发的核心之一。在 Reddit 的游戏开发板块,一位开发者如此向玩家拆解当今的游戏:“一款 3A 游戏,通常由约 66% 的纹理/艺术资源,约 33% 的声音/音效资源,以及 1% 的其他内容构成。”
这也显露出游戏行业的困境——玩法层面难以突破后,只能拼命追求画面表现力。
最初我们对 640*480 的过场动画感到惊叹,但如今只有 4K 分辨率才能令人满意。最初一个模型表面只有一种纹理,如今计算机需要处理漫反射纹理、法线贴图纹理、镜面反射……
许多中大型开发商落入“画质陷阱”。游戏公司 Tripwire Interactive 总裁在接受 PC Gamer 采访时表示:“现在让游戏看起来更好的最便捷的方式,就是不断提高纹理分辨率。”以至于出现了《极限竞速:地平线》这种追求极端画面表现能力,而将玩法置于次要地位的游戏。
游戏发布就像考试交卷:来不及了!来不及了!
2020 年,《赛博朋克 2077》在数次跳票后发布了一个错漏百出的版本。开发商 CDPR 至今依然处于负面口碑之中。
这是整个行业面临的疲劳现实:游戏开发成了一项体力活,能踩着预收日期交付的团队越来越少,大作跳票已成常态。
实际上,复杂精巧的图形资源文件并非不能压缩处理,但庞大的开发工作让压缩成为一件不可能完成的任务。开发者押着铃声匆忙交卷,根本没时间回去再检查一遍。
前世嘉编码工程师 Tom Forsyth 在博客中形容道:“这是一个无限的兔子洞,你可能要花费数年的时间来压缩这些文件,但没人有那个时间,尤其是当你在临近交付时才意识到这个问题。”
另一方面,几乎所有 3A 游戏都存在代码冗余问题。在《艾尔登法环》发售不久后,玩家就通过解包软件发现了游戏中大量未使用的“废案”,并在其中挖掘出未在游戏中正式出现的支线任务后续和隐藏剧情——相当于把草稿纸也一不小心交上来了。
一位开发者曾生动地将 3A 游戏的开发过程,比喻为一群人在合力搭一座积木塔:所有人都希望自己的团队能搭出最高的积木,但还要谨慎平衡让积木不倒塌。每次添加新功能都在引入新的风险,积木搭得越高,这个塔就越脆弱。因此在很多时候,人们在修改时都会选择不去抽走原有的积木,而是不断增加新的积木。随着发售日临近,它无法再添加任何新积木,也无法抽走任何原有的积木。就这样,一个新游戏诞生了。
37 年前,《超级马里奥兄弟》诞生,缔造了一个启发无数玩家和开发者的游戏世界。如今我们已经回不到那个朴素的原点。我们的游戏变得越来越大,并且很可能会继续变得更大。
参考文献
[1] https://www.nintendo.co.uk/Iwata-Asks/Super-Mario-Bros-25th-Anniversary/Vol-5-Original-Super-Mario-Developers/3-The-Grand-Culmination/3-The-Grand-Culmination-212856.html
[2] https://uproxx.com/hitfix/ampas-academy-originals-series-continues-with-selma-director-ava-duvernay/
[3] https://qr.ae/pviaJk
[4] https://news.ycombinator.com/item?id=29127098
[5] https://www.youtube.com/watch?v=rLl9XBg7wSs
[6] https://vironit.com/how-much-does-it-cost-to-make-a-video-game/
本文来自微信公众号:果壳 (ID:Guokr42),作者:郭亨宇,编辑:翁垟