週末不發技術性文章,祝大家週末愉快~
來源於:https://dwz.cn/ZTAnWr5j
個人覺得 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.代碼全是彙編寫成,直接操作硬件,基本不存在浪費的指令。
為大家準備了一些適合於1-5年以上開發經驗的程序員面試涉及到的絕大部分面試題及答案做成了文檔和學習筆記文件以及架構視頻資料免費分享給大家,希望可以幫助到大家。
Java300集視頻教程:
週末不發技術性文章,祝大家週末愉快~
來源於:https://dwz.cn/ZTAnWr5j
個人覺得 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.代碼全是彙編寫成,直接操作硬件,基本不存在浪費的指令。
為大家準備了一些適合於1-5年以上開發經驗的程序員面試涉及到的絕大部分面試題及答案做成了文檔和學習筆記文件以及架構視頻資料免費分享給大家,希望可以幫助到大家。
Java300集視頻教程:
週末不發技術性文章,祝大家週末愉快~
來源於:https://dwz.cn/ZTAnWr5j
個人覺得 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.代碼全是彙編寫成,直接操作硬件,基本不存在浪費的指令。
為大家準備了一些適合於1-5年以上開發經驗的程序員面試涉及到的絕大部分面試題及答案做成了文檔和學習筆記文件以及架構視頻資料免費分享給大家,希望可以幫助到大家。
Java300集視頻教程:
Python400集視頻教程:
週末不發技術性文章,祝大家週末愉快~
來源於:https://dwz.cn/ZTAnWr5j
個人覺得 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.代碼全是彙編寫成,直接操作硬件,基本不存在浪費的指令。
為大家準備了一些適合於1-5年以上開發經驗的程序員面試涉及到的絕大部分面試題及答案做成了文檔和學習筆記文件以及架構視頻資料免費分享給大家,希望可以幫助到大家。
Java300集視頻教程:
Python400集視頻教程:
週末不發技術性文章,祝大家週末愉快~
來源於:https://dwz.cn/ZTAnWr5j
個人覺得 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.代碼全是彙編寫成,直接操作硬件,基本不存在浪費的指令。
為大家準備了一些適合於1-5年以上開發經驗的程序員面試涉及到的絕大部分面試題及答案做成了文檔和學習筆記文件以及架構視頻資料免費分享給大家,希望可以幫助到大家。
Java300集視頻教程:
Python400集視頻教程:
Linux資料:
週末不發技術性文章,祝大家週末愉快~
來源於:https://dwz.cn/ZTAnWr5j
個人覺得 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.代碼全是彙編寫成,直接操作硬件,基本不存在浪費的指令。
為大家準備了一些適合於1-5年以上開發經驗的程序員面試涉及到的絕大部分面試題及答案做成了文檔和學習筆記文件以及架構視頻資料免費分享給大家,希望可以幫助到大家。
Java300集視頻教程:
Python400集視頻教程:
Linux資料:
週末不發技術性文章,祝大家週末愉快~
來源於:https://dwz.cn/ZTAnWr5j
個人覺得 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.代碼全是彙編寫成,直接操作硬件,基本不存在浪費的指令。
為大家準備了一些適合於1-5年以上開發經驗的程序員面試涉及到的絕大部分面試題及答案做成了文檔和學習筆記文件以及架構視頻資料免費分享給大家,希望可以幫助到大家。
Java300集視頻教程:
Python400集視頻教程:
Linux資料:
python學習書籍:
週末不發技術性文章,祝大家週末愉快~
來源於:https://dwz.cn/ZTAnWr5j
個人覺得 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.代碼全是彙編寫成,直接操作硬件,基本不存在浪費的指令。
為大家準備了一些適合於1-5年以上開發經驗的程序員面試涉及到的絕大部分面試題及答案做成了文檔和學習筆記文件以及架構視頻資料免費分享給大家,希望可以幫助到大家。
Java300集視頻教程:
Python400集視頻教程:
Linux資料:
python學習書籍:
還有更多學習資料,由於篇幅原因,小編就不都截出來了,有需要的讀者可以按下方獲取方式領取
獲取方式:
1.評論區評論,關注小編
2.私信小編“資料” 領取資源,小編會第一時間回覆
私信方法:點擊小編頭像,進入小編主頁關注,右上角私信
注意:頭條沒有認證手機的沒有私信功能哦!
資料整理不易,希望大家拿到資源可以給個好評,謝謝大家啦!
祝大家學習愉快哦!