為了壓縮遊戲容量,人們都祭出過哪些奇招?

《荒野大鏢客 救贖2》無疑是一部蘊含魔力的作品,在遊戲正式發售之前,與它相關的花邊消息就屢次讓人們發出感嘆。Rockstar 壓榨員工、受到眾媒申討的「加班醜聞」自不必說;因遊戲容量過大,改為「雙碟裝」的實體銷售策略,也讓人回憶起6~7張光碟打包販賣的 CD 時代。

為了壓縮遊戲容量,人們都祭出過哪些奇招?

在電子遊戲成為商業娛樂的40年間,傳播媒介一直是一道難以掙脫的枷鎖。從早期以 KB 為計量單位的卡帶算起,到刻錄 CD 的盛行,再到雙層 DVD 的誕生與數字平台的發展,時至如今,就連能夠空腹吃下 80GB 的藍光光碟,在承載持續膨脹的內容時也略顯乏力。

傳播媒介的選擇,以及它們的大小和數量,幾乎直接影響到遊戲的製作成本和宣傳效果。久經沙場的開發者們自然不會熟視無睹,每個世代他們都能為遊戲找到一些古怪的「瘦身方法」,而一場關於容量的戰爭,其實在很久之前就已經打響了。

位元組之間的博弈

你可能難以想像,那些有著完整動作和音樂,甚至包含劇情和文字敘述的 FC 作品,在數十 KB 的卡帶中也能完好運行。《超級馬里奧》初代的容量僅為 40KB,《勇者斗惡龍》初代也不過只有 64KB。直到1991年,FC 上才誕生了第一款容量達到 1MB 的遊戲。

耗容如此小的原因,與當初拮据的開發環境脫不開干係。

FC 卡帶的存儲部分,大致由兩塊主要晶片組成:一塊是 PRG,負責存儲程序;一塊是 CHR,用來容納遊戲中所有的圖形素材。而在一張標準的 40KB 卡帶中,開發者只能用 8KB 來處理所有活動塊和背景,放到現在簡直就是天方夜譚。

為了壓縮遊戲容量,人們都祭出過哪些奇招?

你大概已經理解那個年代程式設計師們錙銖必究的原因,幸運的是,從 FC 遊戲的低解析度和硬體的尋址邏輯中,他們還是找到了一種較為合理的處理方式。

FC 的解析度僅僅只有256x224,但即便現找一張同樣大小的 JPG 圖,它的容量也能達到 20KB。因此,FC 的畫面並不能當成一整張圖來看待,以大家最為熟悉的《超級馬里奧》為例,整個螢幕實際上由8x8像素的896個方塊組成,而每一個方塊所顯示的內容,其實都是從 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 遊戲可是高出了幾個檔次。

為了壓縮遊戲容量,人們都祭出過哪些奇招?

當時也有從 PS1 移植到 N64 的作品,比如《生化危機2》。為了把耗容兩張 CD 的遊戲縮小成 64MB,負責移植工作的 Angel Studios(RAGE 引擎開發小組)採取了暴力的有損壓縮,主要表現在視頻和動畫上。PS1 採用了 MJPEG 視頻格式,這種格式會基於 JPEG 圖片生成運動圖像,可以單獨對某一幀進行壓縮,所以壓縮倍數能夠達到80倍。

除此視頻之外,背景、貼圖在高壓之後也有很明顯的退化。層次更少的顏色導致畫面變淺,背景的精細程度明顯降低,動態模糊時的顆粒感也更為嚴重。但即使如此,Angel Studios 的技術力卻不容小覷,它們在如此嚴苛的條件下,仍然較為完整的保證了《生化危機2》的體驗。

為了壓縮遊戲容量,人們都祭出過哪些奇招?

任天堂從那時起就相當重視遊戲容量的控制,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 資源的引入,遊戲容量還會進一步提升,再加上勞工和物流成本的增加,傳播媒介遭遇瓶頸恐怕也只是時間問題。

為了壓縮遊戲容量,人們都祭出過哪些奇招?

在「給遊戲瘦身」這件事上,本世代的開發者倒也沒有全權放棄治療。

以《泰坦天降》為例,這款在 PC 上需要占用 49GB 空間的作品,在 Xbox One 上就只用到了 17GB。主要原因是 PC 中多了 35GB 的未壓縮音頻,而利用 Xbox One 內置的音頻解碼器,開發商 Respawn 成功縮小了遊戲的體積。

從更深入的技術層面來看,早些年遭到口誅筆伐的《無人深空》,反倒是讓大眾覺察到另一種可能:過程生成技術(Procedural Generation)。

某種程度上,Hello Games 還真將「容納 1.8×10^19 顆星球的無縫宇宙」塞到了 3.4GB 的光碟里。利用數學上的遞歸和分形概念,遊戲中的模型、紋理均由玩家的本地機器生成,安裝文件僅僅儲存程序和算法。

《kkrieger》同樣採用了過程生成技術,儘管它的容量只有 96KB,但其模型和細節卻達到了 200~300MB 遊戲應有的水平。該作的場景幾乎完全依靠動態生成,預載資源中只有用於遞歸和分形的幾何形狀,在 exe 內置建模引擎的情況下,程序通過幾個簡單形狀就能自我拼接出很多複雜形體。

為了壓縮遊戲容量,人們都祭出過哪些奇招?

微軟的思路則是將遊戲進行「模塊化」,它們去年公開了一項名為 Intelligent Delivery 的分配技術,即在安裝遊戲時,智能選取人們「需要」的模塊。

儘管 Intelligent Delivery 暫時還只牽扯到語音和材質,但它應用於具體內容的未來值得期待 —— 如果你是中國玩家,那麼就只為你拆分中文模塊;如果你是 Xbox 玩家,那麼就只安裝 Xbox 相關的文件;如果你討厭競技對戰,多人模塊也可一併剔除。

試想一下,將過場動畫拆分成可用模塊,或許是個不錯的「應急」辦法。《量子破碎》的真人過場就達到 70GB,《合金裝備崛起:復仇》的動畫部分占到遊戲總容量的72%,而《最終幻想13》甚至達到了76%。

相比二三十年前的遊戲開發者,如今的從業人員已經不必要對作品容量錙銖必較。越來越好的網絡環境,看起來綽綽有餘的實體介質,讓他們可以將精力集中於那些日益膨脹的需求。不過,這又讓人開始盲信摩爾定律下傳播媒介的成長速度,而縮減容量的主要方法,在過去的十年間步伐緩慢。

作為代價,廠商們在遊戲擴容的過程中勢必徒添成本,玩家也得為自己整搗更大、更快的硬碟和網絡。若要提供更好的體驗,媒介疊代和「瘦身」技術都是必不可少的條件。而「水多加面、面多加水」的死循環,也終歸不是整個行業期望邁向的未來。當人們長吁一口氣時,或許也應該回頭遙望。需求、遊戲容量和技術之間的角力,時至如今還遠未結束。

文章來源: https://www.twgreatdaily.com/cat100/node1968121

轉載請註明來源:今天頭條