楠木軒

修改系統運行庫、假裝官方品牌,這個遊戲當年把索尼的羊毛薅禿了

由 度方針 發佈於 科技

沒有偶然成功,全是精心謀劃。
如果一款遊戲為了順利運行,直接上手修改了遊戲機的操作系統,是不是聽起來有點過火?
1996年的第一代《古惑狼》就這麼幹了。外媒Ars Technica前兩天採訪了頑皮狗聯合創始人安迪·蓋文,揭露了一些當年遊戲開發時不為人知的秘辛。
其中一條,就是安迪修改了PS1的系統運行庫,直接調用遊戲的硬件資源,把一些運算的效率提高了將近10倍。另外,他還把不會用到的系統組件從內存裏清除掉,這樣在遊戲運行的時候,可以多一些存放數據和美術資源的空間。
在PS1版《古惑狼》上市的時候,畫面表現就震驚了所有人。遊戲的色彩明亮,動作活潑,主角甚至有豐富的動畫表情。遊戲的關卡很長,中間卻沒有任何加載讀條的分界。
同時期的《古墓麗影》,主角的面部特徵非常簡陋,動作僵硬,場景建模都是一些平直的方塊,甚至連貼圖顏色數量都有嚴格的限制。
《古墓麗影》其實做得已經挺不錯的了。PS1能夠直接被處理器讀取的內存只有2MB,理論上一個場景裏所有的關卡數據和美術資源都要放在這2MB的空間裏面,超出的部分就只能讀條加載。這對於場景切換很頻繁的日式RPG或者AVG來説問題不大,但是對於動作遊戲來説,這點容量實在是捉襟見肘。
而《古惑狼》則靠安迪各種腦洞大開的奇技淫巧,突破了PS1硬件紙面上的限制,最終成就了頑皮狗的傳奇。
頑皮狗一開始索尼最初給PS1開發機配的説明書翻譯得很差,安迪和同事們只能自己想辦法研究和測試機器的性能特徵。他們鼓搗了一陣以後發現,PS1的3D性能很不錯,但是系統有一些侷限,讓性能無法完全發揮。
所以他們私底下和索尼進行了好幾次交涉,最終索尼一個負責人悄悄把關鍵的技術細節向安迪透了底。在這個基礎上,安迪開始着手在PS1運行的底層邏輯上進行優化。
最重要的一項優化,是安迪發明了一項分塊存儲系統,把每個關卡拆成64kb的小模塊。在遊戲運行的時候,可以按需求從CD上讀取將要使用的數據,這樣就突破了2MB的內存容量限制。古惑狼的一些關卡容量高達10MB,是其他遊戲的五六倍,細節和內容自然要豐富得多。
這麼做其實有很多侷限,實現方法和現在的數據串流完全不同,在拆包以後做任何修改都非常麻煩
另外一項重要的優化則是用壓縮圖片的思路去壓縮動畫文件。古惑狼為了充分利用PS1的3D機能,採用了一個非常特殊的動畫索引系統。這個系統對硬件算力的要求不高,但是文件尺寸非常大。安迪自己寫了一個壓縮算法,把動畫文件縮小到原本的1/50,這樣古惑狼才能做出旋轉、跳躍的動作,實現各種各樣的表情。
安迪還透露,在開發《古惑狼》的時候,頑皮狗屬於環球影業旗下,商務資源比較豐富,其實也可以選擇給任天堂或者世嘉開發遊戲。但是他們當時想到,任天堂有馬力歐系列,世嘉有索尼克系列,只有剛剛進入主機市場的索尼還缺少一款當家的吉祥物動作遊戲。所以頑皮狗開發《古惑狼》,其實有一部分心思就是想混淆視聽,讓消費者以為這是索尼的官方吉祥物,提升遊戲的知名度和銷量。
頑皮狗的策略很成功。《古惑狼》質量過硬,又憑藉開發者的天才有不少“神優化”,許多玩家真的以為頑皮狗和索尼有什麼幕後交易,把古惑狼當成了索尼PS1的官方吉祥物。索尼儘管不情願,也只能半推半就,曖昧不清。憑藉這個特殊的卡位操作,初代《古惑狼》賣得越久反而知名度和銷量越來越高,頑皮狗憑藉這款遊戲也一躍成為頂尖的工作室。
《古惑狼》的美國廣告之一,跑到任天堂大樓下面喊話惹事
理論上來説,安迪不應該靠特殊手段修改遊戲機底層代碼。同樣的,《古惑狼》用曖昧不清的方式假裝索尼官方吉祥物,也多少有點擦邊球的意味。不過假如安迪沒有這種打破常規的勇氣,我們可能就見不到現在的頑皮狗,也和《最後生還者》這樣的遊戲無緣了。或許想要獲得命運的青睞,不但需要做好準備,也要勇於在正確的時機“猛薅羊毛”。