日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么魂斗罗只有 128 KB却可以实现那么长的剧情? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??點擊上方?好好學java?,選擇?星標?公眾號

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

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

首先128k并不小

主要消耗存儲空間的不是程序

當然對于128k來說程序大小自然也要考慮

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

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

資源才是大戶(包括圖像 音樂 地圖數據 關卡數據 等等)

就拿圖像和音樂來說

圖像在沒有壓縮之前 消耗存儲空間和 像素深度和大小有關

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

這里就差了12倍到16倍

圖像大小更是差距巨大

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

與現在動輒寬高幾千像素圖像資源相比差了 數萬倍到數百萬倍

所以圖像資源消耗的存儲空間 至少差了5~7個數量級

音樂的話

FC采用的是8位midi音樂

而現在普遍用的是PCM音樂

類比到圖像中

就像矢量圖像和位圖的區別

總之PCM音樂的大小和采樣深度 采樣率 通道數 以及長度有關

midi僅僅和譜子的復雜度有關

所以FC實際上對空間的要求和現代游戲相比至少差了5~7個數量級

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

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

這完全是兩碼事

FC程序小只是因為需求的資源本來就很小而已

而那種64k 3d程序是因為采用Procedural generation方法

簡單的說就是通過數學來描述

而不是通過記錄結果的采樣

Procedural generation 不光需要的存儲空間極小

而且可以做到無限精度

缺點是難以描述復雜事物

并且對算力要求高

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

總結:

1.游戲大量復用圖塊,圖塊還使用調色板索引,好像每個像素才占用2bit。2.程序員精心優化各種數據結構,每一bit存儲都不浪費。3.聲音只存儲發聲通道的調制參數序列,能復用就復用。4.代碼全是匯編寫成,直接操作硬件,基本不存在浪費的指令。

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。