請更新您的瀏覽器

您使用的瀏覽器版本較舊,已不再受支援。建議您更新瀏覽器版本,以獲得最佳使用體驗。

同人玩家開發全新紅白機遊戲Micro Mages,挑戰將遊戲容量壓縮至40KB

T客邦

更新於 2018年09月15日19:24 • 發布於 2018年09月15日01:00 • 國寶大師 李文恩

講到40KB的任天堂Famicom遊戲,許多資深玩家第一個想到的一定是《超級馬力兄弟》,筆者先前也曾撰文介紹關於遊戲容量演進。在《超級馬力兄弟》上市的35年之後,由2位玩家組成的Morphcat團隊宣布推出全新遊戲Micro Mages,不但具有極高的完成度,更厲害的是容量一樣只有40KB。

支援4人同時遊玩

《Micro Mages》(迷你法師)是款以Famicom為平台的全新製作2D動作遊戲,其玩法與《洛克人》相當接近,不過本作的移動是以縱向為主,而非常見的橫向,玩家需要從舞台下方開始不斷往上爬,一面避開陷阱,一面擊退敵人,並找到能開啟門鎖的鑰匙。

遊戲具有8個世界,並具簡單、困難模式共26個關卡,以及多種敵人與頭目等著玩家挑戰。

《Micro Mages》最特別的地方,是它不但具有單人與雙人模式,搭配手把擴充器之後,最多還能讓4人同時遊玩,相當適讓懷舊遊戲同好們一起合作破關。

遊戲會推出可以透過Famicom模擬器遊玩的Rom檔,以及能在Nintendo Entertainment System(即北美版Famicom)執行的實體卡匣,但是目前並無計劃推出Famicom主機適用的實體卡匣。

《Micro Mages》預計於2019年4月上市,包含Rom檔與PDF格式說明書的數位版價格為歐元8元(約合新台幣292元),數位版加實體卡匣的價格則為歐元40元(約合新台幣1,460元)。

▲ 《Micro Mages》除了發行數位版外,還會推出實體卡匣。

▲ 遊戲內容是傳統風格的2D動作遊戲。

▲ 玩家要克服關卡中的陷阱與機關不斷向上爬。

▲ 遊戲最多支援4人同時遊玩。

▲ 畫面的呈現不因為遊戲容量只有40KB而受影響,圖像仍十分細致。

40KB的大挑戰

Morphcat團隊表示由於現在Rom晶片的價格便宜許多,所以不少新的Famicom同人遊戲容量都從512KB起跳,但是他們為了挑戰極限,所以將遊戲的容量縮減至40KB,其中的一大挑戰,就是要將圖像資料壓縮在8KB以內。

在介紹Morphcat的解決方式前,筆者先說明一下Famicom的圖像運作原理。所有圖像可以分為會動的「活動角色」(Sprite)與不會動的「背景」(Backgroung)等資料,並以解析度為8 x 8像素的點陣圖儲存,遊戲進行中程式會將這些資料組合成完整的畫面。

一般Famicom遊戲中的人物是由4組活動角色組成,然而受限於硬體限制,當超過8組活動角色出現在同一橫行時,就會發生閃爍的情況。《Micro Mages》的人物直接由1組活動角色顯示,如此一來不但節省空間,還能發揮避免閃爍,並讓場景看起來更遼闊。

▲ 《Micro Mages》採用6502組合語言撰寫,圖像資料為8KB,程式與其他資料共占32KB。(圖片來源:Morphcat Games YouTube頻道,下同)

▲ 8KB的圖像分成活動角色與背境等2組資料,每組資料能儲存256個8 x 8的點陣圖資料。

▲ 圖中人物的圖像是由4組8 x 8的活動角色拼合而成。

▲ 人物更換色盤後就能變成不同的圖像。

▲ Famicom的硬體限制讓同一橫行上最多只能顯示8組活動角色。如圖中出現10組活動角色,就會發生閃爍的情況。

▲ 《Micro Mages》的人物只用1組活動角色,不但可以節省空間,還能在同一橫行顯示更多人物。

(下頁還有更深入的節省空間方式說明)

刪去重複圖像省空間

與筆者在先前文章中介紹《超級馬力兄弟》的情況一樣,《Micro Mages》也利用了許多更改顏色、刪去重複圖像、鏡射的方式節省空間。

比如某頭目人物的不同表情、姿態總共有15種不同的圖案,不經處理就儲存這些圖案的話容量就會超過限制,於是作者就將人物的所有圖案細分成許多區塊,如此一來計就能將重複的圖像刪除,詳細請參考下列圖文說明。

▲ 舉例來說,這個頭目總共有15種不同的圖案。

▲ 如果將15種圖像直接存起來的話,空間根本不夠使用。

▲ 圖像被拆成3大塊後先處理頂部的4組圖像,最左邊這塊活動角色都相同所以只需保留1組。

▲ 其次依序處理其他可以省略的活動角色。

▲ 最左邊與最右邊的活動角色為對稱圖案,所以也可以省略。

▲ 中間這大組圖像用一樣的概念省略重複的部分。

▲ 底部大組圖還能透過對稱圖案進一步省略更多資料。

▲ 處理過後可以大幅降低圖像容量。

背景動用乾坤大挪移

至於遊戲的場景則由背景圖像資料拼合而成,如果直接使用8 x 8圖像拼滿整個畫面的話,占用的容量將高達960B,但若改以32 x 32的圖像則只需60B,所以作者便將4組8 x 8的背景圖像拼合成巨區塊,再用4組巨區塊拼出的巨巨區塊,最後用這些巨巨區塊拼出遊戲場景。

然而作者覺得60B的資料仍然太占空間,於是便將場景從中一刀劃開,把右半部刪掉,並將左半部鏡射過去,如此一來每個畫面至需30B空間。但這樣又會引發另一個問題,就是遊戲會因為場景單調而變得乏味。

於是作者將腦筋動到巨巨區塊的閒置空間上,每個的巨巨區塊容量為1Byte,但是其中只有7個Bit用於儲存,開頭的1個Bit是閒置的。而由8個巨巨區塊組成的橫行中有4個是鏡射產生,因此共有4個閒置Bit可以使用,作者利用這4個Bit來記錄巨巨區塊橫移資訊。

最後神奇的事發生了,當程式執行時,會先將左半部的場景繪製出來,然後鏡射成對稱的畫面,並搭配橫移資訊,將巨巨區塊的排列左右移動一下,就會變成完全不一樣的情況了。

▲ 如果用8 x 8、16 x 16、32 x 32的圖像拼湊遊戲場景的話,分別占用960B~60 B。

▲ 遊戲的場景部分則是透過組合方式,把4組8 x 8的點陣圖組合成16 x 16的巨區塊,並再次組合出32 x 32的巨巨區塊。

▲ 然而這樣下來,單一畫面中的場景還是占用60B,仍然太大。

▲ 用鏡射方式處理場景,會讓遊戲變得索然無味,所以還需要動些手腳,讓畫面從左半變成右半的樣子。

▲ 巨巨區塊的容量為1Byte,但實際使用7個Bit,開頭的1個Bit是閒置的。

▲ 鏡射後的場景中每橫行有4組閒置Bit,可以拿這些Bit寫入巨巨區塊橫移資訊。

▲ 把巨巨區塊橫移之後,遊戲場景就不再一成不變。

▲ 此外困難模式只要小改一下場景並套用不同色盤,只需消耗一點容量就能創造出更多變化。

從這些開發的技巧可以看出,《Micro Mages》真的是款很用心製作的遊戲,作者也提到表示希望大家能享受這款遊戲,就像他們很享受開發過程一樣,有興趣的讀者可以到募資網站,訂購數位或實體版的遊戲。

想看小編精選的3C科技情報&實用評測文,快來加入《T客邦》LINE@

查看原始文章

更多科技相關文章

01

川普政府擴大打擊中國科技產品 FCC擬禁止部分設備進口

路透社
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...