為什麼有32個關卡的超級馬裡奧兄弟只要64KB?

2021-02-15 差評

差評君這兩天逛知乎的時候看到一個問題:為什麼魂鬥羅只有 128 KB 卻可以實現那麼長的劇情?

其實以現在的標準來看,1987 年發布的《 魂鬥羅 》劇情並不是很長,一共也就 8 個場景線性布置關卡,我拿出一晚上花在動森上的時間沒準就能通關。。。

但魂鬥羅的 8 個關卡在當時看來也算得上是精心製作了,可它真的只有 128 KB 。

128 KB 是什麼概念?這篇花幾分鐘就能看完的文章所需的流量,都是它的 10 倍以上。

而在 90 年代前後,遊戲開發人員可以用這 128 KB 讓人快樂一整晚,這是咋做到的呢?

巧了。。。差評君自己是個遊戲狂 + 開發者,而且每年都會參加 48 小時極限遊戲開發活動。

因此這種關於遊戲開發的小問題,俺還真插得上話。。。所以今天來和大家聊聊以前那些能玩挺久的老遊戲是咋做得這麼小的。

和現在動輒幾十 G 的單機遊戲相比,由於早些年電子產品技術落後,家用機磁碟空間、顯存以及內存捉襟見肘,開發一個效果不錯的遊戲就像是在電線桿上跳舞。

因此,和現在的遊戲開發者們相比,當時人們在空間利用率上可謂是登峰造極。

一般認知來說,遊戲 = 藝術 + 技術。從技術角度上來看,「 藝術 」通過素材展現,「 技術 」通過代碼實現。

翻譯成人話,古早的 2D 遊戲由貼圖 + 代碼 + 音效組成。

代碼其實一點都不佔地兒,說白了就是一堆英文 + 數字 + 標點符號的文本文件

差評君打開記事本,用臉滾鍵盤瞎敲 1000 個英文數字保存起來,這個 txt 文件也就 4KB

與之相比,貼圖和音效這些美術素材是當時開發者要頭疼的玩意兒。

先說說貼圖吧,在計算機裡任何東西本質上都是一堆信息,一張圖要包含每個像素的顏色信息 + 像素所在的位置信息。

 

比如說我前一張拿來說明 1000 個字符佔地 4KB 大小的示意圖,它本身其實佔用了 44 KB

雖然 FC 時代的主流遊戲素材存儲格式上和現在有所差別,但大致是這麼個意思。

 

那張 44 KB 的圖尺寸是 788 * 388,而 FC 經典遊戲《 超級馬裡奧兄弟 》第一關地圖所有場景尺寸加起來起碼得是那張圖尺寸的 N 倍。

而且它還有 8 個場景,每個場景又有 4 小關。

可《 超級馬裡奧兄弟 》的大小只有 64 KB,比魂鬥羅還小。

這時候得介紹個方法:Tile Map

這是個類似調色板的東西,遊戲開發者把遊戲裡會出現的素材提前準備好,然後運行遊戲的時候把素材拼接起來就行,這一個個素材叫 Tile ,整個素材包叫做 Tile Map 。

這樣一來,上面展示的那長長的第一關場景就不用提前搭建好再存儲了,而是你在玩的時候重複利用提前準備好的東西。

FC 版本的《 超級馬裡奧兄弟 》看似有這麼多關卡,其實出現過的東西就這麼多⬇️

     

 

其實這一點只要大家仔細觀察就能發現,當時的老遊戲重複素材特別多,例如一開始提到的《 魂鬥羅 》也不例外。

在紅白機時代的遊戲,只要素材讀取好了,運行的時候用代碼告訴計算機這塊素材應該出現在哪個位置就行了。。。代碼佔地兒小啊,寫起來不心疼!

 

也就是說,你小時候在電視裡浴血奮戰的地方其實是 「 趕工 」趕出來的,只不過這個趕工運算量並不大,當時遊戲幀率要求也不高,所以完全不影響體驗。

 

差評君甚至見過一個極端例子:整關的 Tile 加起來才 10 個,然後剩下的都是代碼。。。

然而,用重複素材搭場景還是不能滿足貪心的老開發者,他們還有些騷操作

咱們再看看這張熟悉得不能再熟悉的場景吧。

 

這個場景裡的雲朵和草垛其實是一個玩意兒,差評君當年剛聽說這個冷知識的時候,感覺童年被敲碎了。。。你不信再仔細瞅瞅形狀和紋理,它倆除了顏色一模一樣。 

如此一來只需要在生成草垛的時候借雲朵過來,加一個顏色的信息,就行了。

 

這讓我想起大學時代月底零花錢瀕臨透支時,只買一個菜然後問阿姨多打點湯汁澆在飯上的感覺一樣,人在資源缺少的時候能做到多摳,你永遠想像不到。

 

這個手法其實也挺常見。。。魂鬥羅雙人模式下的獎牌,兩個兄貴的模型,也是這麼幹的。

一個遊戲除了畫面,還要有音效,聲色俱佳才能成為經典,但音效這種多媒體素材也是個佔地方的玩意兒。

去任天堂官方網站下載了《 超級馬裡奧兄弟 》用 MP3 格式存儲的背景音樂,短短 1 分 21 秒你猜猜佔地多少?

3.13 MB 。。。而 FC 版本整個遊戲的大小前面也說了 —— 64 KB 。 其實在 FC 時代的遊戲裡,音效存儲和現在很不一樣。現在的主流音樂格式其實是音頻文件,這類文件裡存儲的信息要描述整個聲音的構成。但在 FC 時代,遊戲音效的處理思路可以參考 MIDI 文件,只存儲排列好的音符當中的音色、頻率和音高等。這兩類文件,哪個信息量大,一看就明白了吧。說白了,用類似 MIDI 文件存儲的是一本樂譜,而音頻存儲的是整個演奏出來的音樂。現在咱們對幾 M 的空間一點都不心疼,所以就直接存下整個音頻了。但在當時。。。想想差評君那個食堂裡打飯的例子吧。那麼問題來了,只存儲樂譜確實省下很多空間,但得有人演奏才能出聲啊。因此老遊戲機裡往往會用一塊專用的音樂合成晶片,專門用來處理這些「 樂譜 」,實時合成音樂。只不過這些晶片能合成的音色種類有限,往往聽上去都大同小異,但也頗有風味,被稱作 Chiptune —— 晶片音樂或者是 8-bit 音樂,現在還有些音樂人在玩兒這個風格。除了小格式 + 專用晶片,FC 時代的老遊戲音樂往往不長,就是幾個旋律來回循環,這麼一來遊戲音效佔地也就不大了。再加上當時沒有遊戲引擎的概念,代碼直接用硬體跑,這又省了很多不必要的文件。於是,我們看到了一個僅僅佔用 128 KB 卻包含 8 個關卡的《 魂鬥羅 》,或者是佔用 64 KB 卻包含 32 個關卡的 《 超級馬裡奧兄弟 》。在當年的極限開發環境下,一個遊戲程式設計師不光要知道怎麼實現功能,還要知道怎麼省資源,想騷點子壓縮素材。。。放現在的遊戲公司裡,那些人個個都是特種兵。存儲和傳輸技術都比較落後導致的這一情況,其實持續得挺久。哪怕 2000 年之後開發者已經能稍微放開手動作大一點了,人們對空間大小依舊很敏感:遊戲下載要吃網速,安裝要佔硬碟。在網路遊戲時代,差評君還聽說過有產品經理因為安裝包太大會考慮砍功能的坊間傳說,就怕用戶嫌下載時間久,不嘗試了。不知道各位還記不記得,小時候和同學在課間討論遊戲時,假設有人吃下了某人的推薦,一定會問一句:這遊戲多大?隨著網絡基礎建設突飛猛進導致網速變快,存儲技術提升導致存儲成本下降,開發環境沒那麼極限了,人們沒這麼敏感了,「 這遊戲多大 」這句話也很少聽到了。回到當時音頻和 MIDI 的例子,現在存下大音頻文件花的成本,可能比加一塊音樂合成晶片低很多。放開了手腳的遊戲業界,把 3D 遊戲做出了新高度,用大量逼真建模和素材堆出極度真實畫面的同時。。。在佔用空間上也開始放飛自我:在 2011 年 id Software 發售了一款遊戲《 狂怒 》,需要佔用 25G 硬碟空間,這大膽動作在當時被各大玩家論壇吐槽,但也就這麼賣了出去。2018 年 R 星發售的 《 荒野大鏢客:救贖2 》佔用了 100 多 G,差評君買的 PS4 版本到手是兩張藍光碟的罕見情況,周圍儘管有吐槽,但似乎沒有 7 年前吐槽 《 狂怒 》那麼狠。技術發展,對一切事物的改變是很大的:當時的人們理所當然為了幾十 KB 絞盡腦汁做優化,現在的我們理所當然覺得一個 3A 大作佔用幾十個 G 非常合理,這兩者差了好幾個數量級。科技發展改變的不光是我們的生活,也能極大改變我們的認知。

相關焦點

  • 為什麼32個關卡的《超級馬裡奧兄弟》,只要64KB?-虎嗅網
    那張44KB 的圖尺寸是 788 * 388,而 FC 經典遊戲《 超級馬裡奧兄弟 》第一關地圖所有場景尺寸加起來起碼得是那張圖尺寸的 N 倍。而且它還有 8 個場景,每個場景又有 4 小關。可《超級馬裡奧兄弟》的大小只有 64 KB,比魂鬥羅還小。
  • 新超級馬裡奧兄弟U 豪華學習版
    新超級馬裡奧兄弟U是一款頗受玩家喜愛的超級馬裡奧系列的闖關冒險類遊戲。該遊戲版本為豪華版,包含了遊戲前作所有的特點,再加上創新的玩法,遊戲內共有164個關卡。在遊戲中,玩家可以使用自己操作的角色來進行遊戲,遊戲還開放多人玩法,最多允許5個玩家一起玩,同屏暢玩,其樂無窮。
  • 超級馬裡奧的冷知識來襲,你準備好漲知識了嗎?
    雲彩和草叢是一個圖片,只是顏色不一樣超級馬裡奧為了節約內存,把技術發揮到了極限還有,超級馬裡奧32個關卡所用的內存只有64kb!這真的震驚到了我,現在一個遊戲動不動就十幾個G,甚至一些大型單機遊戲有幾百G,而超級馬裡奧這麼精彩的遊戲只有64kb,我不得不佩服開發這款遊戲的程式設計師。其實開發一款遊戲最佔地的是圖片和音樂,後臺的代碼並不佔地,代碼就是一堆英文字而已,和圖片所佔的內存比起來,不值一提。
  • 你的《超級馬裡奧兄弟》通關了沒?基於PPO強化學習算法的AI成功拿下29個關卡!
    作者 | 貝爽《超級馬裡奧兄弟》你能玩到第幾關?
  • 遊戲|超級馬裡奧兄弟
    超級馬裡奧的關卡全景這次依然是個比較俗套的英雄救美的故事,只是女主角從寶琳變成了桃子公主(寶琳成了《超級馬裡奧:奧德賽》紐敦市 New Donk玩家操縱馬裡奧穿過 8 個不同的世界,最終解救出囚禁在城堡中的公主。這裡出現的世界的概念進一步演化,成為了《超級馬裡奧兄弟 3》裡的關卡選擇地圖,進一步成為了《超級馬裡奧世界》的全景世界地圖。這個我們在前面的文章中提到過。
  • 難度堪比貓裡奧的超級馬裡奧兄弟2,似乎從未出現在玩家的世界中
    當《超級馬裡奧兄弟3》發布時,玩家們發現庫巴又回來了,遊戲過程中需要再次躲避烏龜和慄子怪。這就讓《超級馬裡奧兄弟2》這款遊戲看起來有些……詭異。為什麼它與前作和後作有這麼大的差別?充滿惡意的《超級馬裡奧兄弟2》想要了解《超級馬裡奧兄弟2》就不得不提它的前作《超級馬裡奧兄弟》,這款遊戲與1985年發售,僅僅在日本就狂賣680萬份,全球更是賣出了4000萬份!有了這樣的成功,任天堂很快便著手製作了《超級馬裡奧兄弟》的改版作品——《VS.超級馬裡奧兄弟》。
  • switch版新超級馬裡奧兄弟U豪華版11日上線,你決定入手了嗎?
    2019年到了,對於遊戲玩家來說我們不是按天過的,是按月過的,每月有哪些新作品問世是我們最關注的一件事,對於擁有switch的人來說,1月份的大作莫過於新超級馬裡奧兄弟U豪華版了,而且它明天即1月11日就要上線了,為什麼它會成為不少玩家的期待呢?今天我們就來談談這件事。
  • [馬裡奧U攻略]新超級馬裡奧兄弟U Switch版新手入門必看指南
    新超級馬裡奧兄弟U在2019年1月11日登陸Switch平臺了,你打到第幾關啦?下面就來看看第一次玩馬裡奧U的萌新們應該知道哪些事情。一、遊戲角色介紹遊戲中有五個角色可以選擇:紅色的馬裡奧、綠色的路易吉、奇諾比奧、奇諾比珂(比較簡單)、偷天兔(非常簡單)其中奇諾比珂和偷天兔是NS平臺此次新增的。兩名新角色在遊戲中具備不同的特別能力。
  • 2D 動作遊戲《New 超級馬裡奧兄弟 U 豪華版》試玩介紹
    任天堂旗下 Nintendo Switch 專用遊戲軟體《New 超級馬裡奧兄弟 U 豪華版(New スーパーマリオブラザーズ U
  • 超級馬裡奧run關卡通關攻略匯總 Supermariorun關卡大全
    導 讀 超級馬裡奧run關卡通關攻略匯總 Supermariorun關卡大全,遊戲中玩家可以單手控制馬裡奧大叔跳躍通關,吃金幣是關卡通關獎勵,小編預先為玩家們整理了關卡通關攻略玩家們可以先收藏
  • 如果,超級馬裡奧不是「假」的
    在那些虛擬的世界,幻想自己化身遊戲角色,通過一個又一個關卡;又或許在腦海裡,已經將科幻電影中的「超級英雄」演了個遍。如果說迪士尼樂園給孩子們一個進入童話世界的機會,那麼,我們是不是也能闖入刺激的遊戲戰場,或腦洞大開的電影世界呢。馬裡奧和路易基兄弟是任天堂的招牌遊戲角色,吃蘑菇、撞金幣,憑藉簡單的遊戲操作俘獲了超大一批遊戲迷。
  • 《新超級馬裡奧兄弟U》全硬幣收集攻略
    18183首頁 1+2=3 《新超級馬裡奧兄弟U》全硬幣收集攻略 《新超級馬裡奧兄弟U》全硬幣收集攻略 來源:網絡
  • Switch《新超級馬裡奧兄弟U豪華版》首周銷量竟超Wii U原版...
    我們都知道,《新超級馬裡奧兄弟U》最初登陸於任天堂的Wii U平臺,當年這款遊戲可是Wii U上的扛鼎之作,其地位相當於Switch上的《超級馬裡奧:奧德賽》或者《塞爾達傳說:荒野之息》。那麼很自然的,我們會想要拿switch上的《新超級馬裡奧兄弟U:豪華版》的首周銷量和當年Wii U上的《新超級馬裡奧兄弟U》的首周銷量做一個比較。
  • 自己製作關卡《超級馬裡奧製造2》這才是遊戲的終極體
    自己製作關卡《超級馬裡奧製造2》這才是遊戲的終極體 作為不少玩家童年的回憶,馬裡奧這個遊戲人物只要一出場絕對會引起玩家們的歡呼
  • 英國遊戲銷量榜:《新超級馬裡奧兄弟U豪華版》超越原版
    來自英國的消息確認,1月份剛剛發售不久的《新超級馬裡奧兄弟U豪華版》首周銷量大幅超過2013年11月的WiiU版《超級馬裡奧兄弟U》。根據UKIE/GfK發布的市場銷量統計數據,1月12日當周銷量最高的遊戲是Switch平臺的《新超級馬裡奧兄弟U豪華版》,這款遊戲上市首周的銷售量超過2013年WiiU版《超級馬裡奧兄弟U》56%。
  • 《新超級馬裡奧兄弟U豪華版》,增加奇諾比珂和偷天兔,隨時變換
    本文原創侵權必究《新超級馬裡奧兄弟U豪華版》,增加奇諾比珂和偷天兔,隨時變換不知不覺中暑假也過去一段時間了,不知道在暑假的小夥伴們過得怎麼樣呢?回想當年暑假小編最喜歡趁爸媽不在家的時候打開機子在馬裡奧的世界裡蹦蹦跳跳,相信現在大部分玩家聽得最多的可能就是3D《超級馬裡奧:奧德賽》或者自建系列的馬造,可是小編覺得還有一款遊戲也是馬裡奧系列中不可忽視的一代佳作,它就是《新超級馬裡奧兄弟U:豪華版》。
  • 新超級馬裡奧兄弟U發售在即,你對這個紅帽子水管工了解多少?
    此後,任天堂相繼推出了《超級馬裡奧兄弟2》《超級馬裡奧兄弟3》《超級馬裡奧大陸》等等2D馬裡奧遊戲,幾乎款款都是千萬級遊戲,可以說,2D馬裡奧發展史,就是任天堂的成長史。2012年12月8日,WII U發售,但截至2015年底1400萬的銷量,以及後續機種NS的推出,標誌著任天堂在這個主機世代慘澹的結束,WII U也漸漸成為歷史。
  • 遊漫談:《新超級馬裡奧兄弟U》遭Switch破解,任天堂該如何處理
    2019年1月份任天堂就開始拿出了自家超級IP系列「馬裡奧」的正統作品——《新超級馬裡奧兄弟U豪華版》,足以彰顯第一方遊戲的實力和誠意。《新超級馬裡奧兄弟U豪華版》是於2012年登陸WiiU《新超級馬力歐兄弟U》的移植版本,雖然又是一款移植遊戲。
  • 新超級馬裡奧兄弟UDX同步中文 | 跳票十年背後靈復活 | 龍珠超宇宙2可操控魔神
    打開淘寶輸入「任天堂是宇宙主宰」有驚喜!164個關卡玩個夠!《新超級馬裡奧兄弟UDX》支持中文香港任天堂宣布,《新超級馬裡奧兄弟UDX》將在發售的時候支持中文。以下為官方遊戲介紹。享受為人熟悉的橫向捲軸《新超級馬裡奧兄弟》系列最新作,將會在Nintendo Switch平臺上發售並增加多個新元素。在Nintendo Switch版的《新超級馬裡奧兄弟UDX》裡,除了瑪利歐、路易吉和奇諾比奧,新增的「偷天兔」和「奇諾比奧」角色也可以當作玩家的角色選擇。
  • 貓奴版的超級馬裡奧?《超級幻影貓2》試玩
    《超級幻影貓》汲取《超級馬裡奧兄弟》的精髓,同時又避免雷同,因此在裡面加入了更豐富的解謎和交互方式。幻影貓為了拯救妹妹而展開了探險,玩家可以運用幻影貓獨特的能力完成一個個關卡,去體驗一個像糖果一樣鮮豔的世界。