日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

为什么魂斗罗只有 128 KB却可以实现那么长的剧情?

發(fā)布時(shí)間:2025/3/20 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么魂斗罗只有 128 KB却可以实现那么长的剧情? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

??點(diǎn)擊上方?好好學(xué)java?,選擇?星標(biāo)?公眾號(hào)

重磅資訊、干貨,第一時(shí)間送達(dá) 今日推薦:是時(shí)候扔掉Postman了,又一個(gè)被低估的IDEA插件出來了...個(gè)人原創(chuàng)+1博客:點(diǎn)擊前往,查看更多 來源:https://dwz.cn/ZTAnWr5j 整理自公眾號(hào):java版web項(xiàng)目

個(gè)人覺得fc最神奇的游戲還屬超級(jí)瑪麗,32個(gè)關(guān)卡,每關(guān)都不同,各種隱藏要素,好像代碼區(qū)才10多k,數(shù)據(jù)區(qū)10多k。反匯編看完還是不敢相信這點(diǎn)東西能玩一個(gè)童年…現(xiàn)在helloworld的二進(jìn)制都可能比這大多了。

首先128k并不小

主要消耗存儲(chǔ)空間的不是程序

當(dāng)然對(duì)于128k來說程序大小自然也要考慮

鑒于fc是八位機(jī) 而且FC采用的是CISC處理器 一條指令就能完成很多事情

所以程序的大小也就現(xiàn)代64位RISC處理器的十幾到幾百分之一

資源才是大戶(包括圖像 音樂 地圖數(shù)據(jù) 關(guān)卡數(shù)據(jù) 等等)

就拿圖像和音樂來說

圖像在沒有壓縮之前 消耗存儲(chǔ)空間和 像素深度和大小有關(guān)

FC上的圖像 像素深度就2bit的索引而已 而現(xiàn)在廣泛使用的真彩色是24bit 包含alpha的需要32bit

這里就差了12倍到16倍

圖像大小更是差距巨大

FC普遍一個(gè)角色也就是 寬高十幾個(gè)像素而已

與現(xiàn)在動(dòng)輒寬高幾千像素圖像資源相比差了 數(shù)萬倍到數(shù)百萬倍

所以圖像資源消耗的存儲(chǔ)空間 至少差了5~7個(gè)數(shù)量級(jí)

音樂的話

FC采用的是8位midi音樂

而現(xiàn)在普遍用的是PCM音樂

類比到圖像中

就像矢量圖像和位圖的區(qū)別

總之PCM音樂的大小和采樣深度 采樣率 通道數(shù) 以及長(zhǎng)度有關(guān)

midi僅僅和譜子的復(fù)雜度有關(guān)

所以FC實(shí)際上對(duì)空間的要求和現(xiàn)代游戲相比至少差了5~7個(gè)數(shù)量級(jí)

你把128k放大10w倍到1000w倍 你就不覺得小了

一些人還提到了什么64k 3d程序什么的

這完全是兩碼事

FC程序小只是因?yàn)樾枨蟮馁Y源本來就很小而已

而那種64k 3d程序是因?yàn)椴捎肞rocedural generation方法

簡(jiǎn)單的說就是通過數(shù)學(xué)來描述

而不是通過記錄結(jié)果的采樣

Procedural generation 不光需要的存儲(chǔ)空間極小

而且可以做到無限精度

缺點(diǎn)是難以描述復(fù)雜事物

并且對(duì)算力要求高

而不是用了什么外星壓縮法

總結(jié):

1.游戲大量復(fù)用圖塊,圖塊還使用調(diào)色板索引,好像每個(gè)像素才占用2bit。2.程序員精心優(yōu)化各種數(shù)據(jù)結(jié)構(gòu),每一bit存儲(chǔ)都不浪費(fèi)。3.聲音只存儲(chǔ)發(fā)聲通道的調(diào)制參數(shù)序列,能復(fù)用就復(fù)用。4.代碼全是匯編寫成,直接操作硬件,基本不存在浪費(fèi)的指令。

總結(jié)

以上是生活随笔為你收集整理的为什么魂斗罗只有 128 KB却可以实现那么长的剧情?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。