<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    為什么魂斗羅只有128KB卻可以實(shí)現(xiàn)那么長的劇情?

    共 961字,需瀏覽 2分鐘

     ·

    2020-04-10 23:25

    255846d1c68d117e16198eff3968e455.webp
    來自:知乎,作者:紅白機(jī)
    鏈接:http://rrd.me/eYSCg

    個(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倍。

    圖像大小更是差距巨大,F(xiàn)C普遍一個(gè)角色也就是寬高十幾個(gè)像素而已,與現(xiàn)在動(dòng)輒寬高幾千像素圖像資源相比差了數(shù)萬倍到數(shù)百萬倍,所以圖像資源消耗的存儲(chǔ)空間至少差了5~7個(gè)數(shù)量級(jí)。

    音樂的話,F(xiàn)C采用的是8位midi音樂,而現(xiàn)在普遍用的是PCM音樂。類比到圖像中,就像矢量圖像和位圖的區(qū)別。

    總之PCM音樂的大小和采樣深度、采樣率、通道數(shù)以及長度有關(guān),midi僅僅和譜子的復(fù)雜度有關(guān),所以FC實(shí)際上對(duì)空間的要求和現(xiàn)代游戲相比至少差了5~7個(gè)數(shù)量級(jí)。你把128k放大10w倍到1000w倍,你就不覺得小了。

    對(duì)于什么64k 3d程序什么的,這完全是兩碼事,F(xiàn)C程序小只是因?yàn)樾枨蟮馁Y源本來就很小而已,而那種64k 3d程序是因?yàn)椴捎肞rocedural generation方法,簡單的說就是通過數(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)的指令。

    瀏覽 70
    點(diǎn)贊
    評(píng)論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報(bào)
    評(píng)論
    圖片
    表情
    推薦
    點(diǎn)贊
    評(píng)論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報(bào)

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    性感美女被操网站 | 一级黄在线看看 | 久久不卡视频精典视频 | 看黄色片网站免费 | 青青草国产免费无码欧美 |