遊遊隨筆:挑戰無極限! 主機限界下的遊戲們

PS4及Xbox One等一線機能的家用主機,不時能成就出內容極豐富且畫面幾可亂真的神作,不其然令人想到它們的限界到底在哪裡。不過幾十年前的主機卻絕不能如現行主機般,有充分的機能讓開發組運用。許多時開發組都要「睇人食飯」,利用千奇古怪的開發技巧用盡主機所有功能,實現被視為不可能的事情。現在再看看那些挑戰極限的舊遊戲,很難不讓人驚訝到底它們是怎樣煉成的……

刪減容量有技法

容量於今天遊戲來說似乎只是一個數字,畢竟不管是1GB的遊戲也好,十幾GB甚至更多亦好,幾乎所有遊戲都只是一片Blu Ray光碟搞定。當然有些愛下載版的玩者仍然會先注意遊戲容量,但就算主機硬碟空間未能容下,只要收拾一下空間等,要解決非常容易。

可是在以前遊戲容量有限及主機不設硬碟盤的年代,情況卻完全不同。越是舊年代的作品,就越講求遊戲容量大小,原因有二。第一是當時有業界內外有一股以容量大小來判定作品規模的奇異風潮,當然容量小的遊戲也可以很有趣,但容量越多亦能解讀為內容較多、畫像較豐富,因此也不能算完全錯誤……至於第二個原因則是因媒體有容量限制,開發組必須把遊戲控制在限制容量內,處理不好的話有可能會大幅延後發售進度及減少內容。

匣帶容量大有限制關係,如果用盡一分一寸成為開發組的重要課題

這點在紅白機成長期尤其重要。當時電玩創意活躍,遊戲商勇於開拓不同種別的遊戲,也希望能容下更多內容,但不巧不管是匣帶還是磁碟,基本容量都是有限公司,而且在硬件配套上,那個時候仍未有特殊晶片或擴大容量之類的特殊匣帶面世。換言之開發組需要紋盡腦汁,以一般人無法想像的創意把自己所想全都放進小小的匣帶或磁碟裡。

在這方面,紅白機版的《超級瑪利奧兄弟》及《DQ》系列可說相當著名。話說前者的容量僅只有40KB,首作《DQ》則為64KB,今時今日一個字數多一點的純文字檔的容量都比它們大,但畫面、系統、音樂、故事等電玩主要元素卻一應俱全,別說是以前,就算是今時今日要做到這個地步也絕不容易,妙想天開的瘦身絕對不能少。

比一個文字檔還小的容量,原來已包含有聲有畫有遊玩性的冒險故事

一般遊戲最花容量的就是畫面,《超級瑪利奧兄弟》也不例外,光是主角瑪利奧本身及差分圖已經佔了整個遊戲差不多3分之1容量,所以必須在此之外的其他畫面上下工夫,比方說背景雲朵的圖像是跟矮樹叢一樣,只是顏色改變了而已;瑪利奧用的火球亦跟版上的火棒機關上的火球一模一樣;部分敵人的移動動作不過是把同一圖像不斷反轉交替做出來的效果而已。

而《DQI》則比《瑪利奧》做得更為徹底——為了減省包括主角在內所有角色的側面及背面圖像,全部角色在走動時一律只會面向正面(畫面方向),因而會出現「蟹步」這獨特的移動法。雖說即使在當年來看也十分古怪,但作為把重點放在戰鬥及冒險故事上的日系RPG先驅者來說,還是能在可接受的水平吧?

勇者總是面向大家是有其難處……

除畫面外,還有大量意想不到的地方被縮減,其中包括「文字」在內。其實在紅白機初中期的作品,有許多只顯示大階英語、數字及小量符號,原因並非要以英語打入國際市場,而只不過是想以電腦程式用的文字來省下存放其他語文的空間。

可惜這招對於要敘述勇者鬥惡龍故事的《DQI》行不通,針對日本國內市場的《DQ》必須要以日文來顯示所有對白、訊息及指令等,但在這64KB的空間中卻容不下所有平假名及片假名,於是從片假名中選出會用的20個文字(※ 1),另外將濁音用到的「゛」與長音「―」合併,再把「へ跟ヘ」、「り跟リ」這兩組平假名片假名字形相似的文字以平假名版統一……可算是縮無可縮了!

注解※1:20個被選的片假名為イ、カ、キ、コ、シ、ス、タ、ト、ヘ、ホ、マ、ミ、ム、メ、ラ、リ、ル、レ、ロ及ン。

連文字使用都大有限制,可想而知縮減容量有多困難

隨著主機發展及匣帶技術提升,匣帶容量越來越大,也不用如《瑪利奧》及《DQ》般將資源極限壓縮,但始終匣帶容量跟成本掛勾,因容量而縮減內容情況仍經常出現,如在《Romancing SaGa》中,雖然能從8名主角中選出1人進行故事,但部分共通劇情卻因要省空間關係,對白全都一樣,所以會出現明明是女性角色但用上男性口調(相反亦然)的情況。不過到了光碟年代以後,媒體容量大級跳之餘價格亦便宜得多,1片光碟放不下就用夠2片、3片甚至更多,容量漸漸不再是開發組苦惱的來源。

挑戰不可能表現的畫面

硬件限制不只限於遊戲容量上,主機機能有限,開發組有多少能耐,能在如何主機極限推到甚麼地步上表現出來,而畫面正是最容易看清這部分的地方。有些遊戲會嘗試以玩者意想不到的手法,呈現外界認為無法在該主機上實現的畫面。

超任的《Super Donkey Kong》有多經典相信也無需我多說,最為人津津樂道的想必是其連PS平台也未必能達到的漂亮細緻畫面。雖然此作是把背景及角色先製成連串CG硬照,再將它以點陣圖形式重現在超任上,所以說到底此作不過是2D扮3D。

然而這不代表容易辦,因為以超任發色數不能完全支援此等級數的GC畫面,換句話說一些顏色將無法顯現,那要如何是好?開發組想到妙計,就是將複數顏色以肉眼看不到的高速閃動交替,令肉眼看到超任不能顯現的色彩。儘管超任也有如《Star Fox》之類的多邊形畫面遊戲,但論細緻度《Super Donkey Kong》的高超畫面處理手法壓勝它們,即使在當時多邊形至上的遊戲年代裡仍取得很高評價。

超任上本應無法重現的顏色,以意想不到的方法實現過來

說到《Star Fox》,不禁令人想起另一款奇蹟之作——GB的《X》。此作雖然跟《Star Fox》毫無關係,但背後的開發事宜卻有淵源。先說回遊戲,它是一款3D戰車射擊遊戲,玩者以第一視點操作戰車完成全10個內設分歧的任務。遊戲最令人驚訝的是,此作是一款真正的實時演算3D遊戲。畢竟是GB作品,它無法像PS等多邊形世代主機般能實時演算多邊形,取而代之它只勾出了框架來表達各物件,可是縱橫(XY軸)及深度(Z軸)概念均存在,是款不折不扣的3D遊戲。

在GB上能實現3D射擊概念的作品,實在了不起

更厲害的是,此作匣帶內完全沒有能附助演算的晶片存在,一切計算全由GB主機處理。雖然遊戲本身不怎樣有趣,但論技術卻是一流。後來開發此作的英國公司Argonaut Games與任天堂合作,提供《Star Fox》的3D描繪技術支援,算是跟《X》有點緣份。

另一方面,手提機的奇蹟不只有《X》,GBA末期的西洋遊戲群也不得不談。GBA雖然是32bit主機,但在CPU演算力及耗電量等問題上卻欠缺多邊形計算能耐,主機開發團隊向來只期望能以放大縮小及迴轉功能來支援像《Doom》般的擬似3D遊戲。然而想不到不少遊戲商及開發商相繼開發GBA用3D引擎,繼而成就出如《V-Rally 3》或《Crazy Taxi》等眾多GBA的3D多邊形作品。

這些GBA的3D作品畫面遠超不少玩者想像,尤其是在沒任何外配晶片支援下,水準之高甚至比部分粗糙的DS遊戲有過之而無不及。不過個人來說最厲害的還是2004年的《Driv3r》。2000年代中後期十分流行包括手提機在內的全機種跨平台作品,不過因機能關係,手提版一般跟家用版內容上有相當距離,甚至會改變類別也說不定。
此作是以PS2及Xbox為中心的Open World遊戲,但想不到其GBA版竟忠誠地移植Open World元素——玩者在一個多邊形製作的無縫大城市上自由行動。雖然所有建築物都不能進入、警察不會追著玩者……作為Open World此作確實有不少缺點,然而光是在GBA上能呈現出尚算完整的Open World遊戲,本身已經是件壯舉了。

沒想到居然能在GBA可玩到Open World遊戲……

開發技巧鑽牛角尖

低機能的主機不只限制遊戲在畫面上的發揮,更甚者甚至還會影響其他方面的演出,令遊戲運作起來時無法得心應手……在此又是開發組花心思的時候。說到這裡,相信不少會想起《FF》的飛空艇高速化傳說。話說在《FF1》開發時負責企劃的石井浩一氏希望飛空艇在飛行時版圖下方會出現飛空艇的黑影,當時開發組均認為不可行,但翌日卻經電玩界傳說程式員Nasir Gebelli氏之手呈現,而且移動速度還比之前快4倍。

在此之後,於《FFII》及《III》中Nasir氏再度大顯身手,同樣地不但讓飛空艇附有影子,而且速度更達通常步行的8倍,來到這裡幾乎已達Bug的地步,更有傳聞指《FFIII》在DS重製版出現前難以移植往其他主機上,其中一個理由正在於無法重現高速化飛空艇。

高速飛空艇傳說凸顯了紅白機程式的特殊性

事實上那時官方只表示「以WSC而言技術上有困難」,並非單指飛空艇一事上,個人來說不少玩者好像有點把Nasir氏及其編寫的程式神格化,但從中亦可反映出包括《FFIII》在內的紅白機程式的難解之處。

其實紅白機用的程式為組合語言,類屬低階機械語言,簡單來說就是只有相關機械(在此為紅白機)才能理解的語言,在其他平台上則無法簡單轉換。若充分了解的話能做出如《FF》飛空艇般超越主機性能、只屬程式員個人的「密技」,但這技巧卻難以移植往其他主機上。

不只《FF》,在其他紅白機遊戲裡還有大量有趣的「開發密技」。紅白機在同一橫軸上最多只可顯示4個8px乘8px大的子畫面,所謂子畫面是指在遊戲背景畫面上疊上的可動圖像,簡單來說角色的行動是由疊在背景上方的子畫面們構成。早期不少日系RPG的我方隊伍都被固定在4人或以下,最大原因正是如此(※2)。不過到了《DQIV》,除了我方4人外還有一台馬車,換成程式的話就是第5人,5名角色同時以子畫面表達基本上並不可行,於是開發組巧妙地將隊伍排成十字,以防同一線上超過5個子畫面;而《FF》系列更果斷地只讓先頭角色顯示在移動畫面上,大大省下子畫面的數目。

注解※2:若我方隊伍跟NPC等同樣設有子畫面的物件同於一直線上時,NPC則會以高速閃動方式來顯示,以確保同一軸上的子畫面不會超過5個。

十字陣式其實不是為了保護馬車,而是為了確保4人加1馬部隊全員齊數

當然,各種程式上的奇想並不只限於紅白機上,1984年街機作品《迷宮塔(ドルアーガの塔)》足可証明這一點。在此作中,玩者要突破60層迷宮,各迷宮設有固定機關及解謎手法,然而初次遊玩的玩者大概無法想像,其實全60層迷宮均由亂數生成而非固定設定。此作的迷宮配列由亂數安排,不過開發組在擬似亂數程式上加入Seed值,令每次開機的亂數都固定下來,成為現在的結果。將生成隨機結果的工具反過來變成固定結果用途,程式大幅簡化,容量亦得以減少。

雖然今天遊戲開發無需要動用到上述的開發技巧,但各點子背後的柔軟思考力,我想在今天的電玩界中也很值得參考。畢竟再優秀的硬件,還是需要靠開發組的天馬行空想像力才能走到今天的高峰。

以亂數重現固定版面,以現在的角度來看也是個破格的創意

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Back to top button