一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

 稻草人1616 2019-12-03
為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

來源于:java版web項目

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

首先128k并不小

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

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

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

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

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

就拿圖像和音樂來說

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

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

這里就差了12倍到16倍

圖像大小更是差距巨大

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

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

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

音樂的話

FC采用的是8位midi音樂

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

類比到圖像中

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

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

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

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

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

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

這完全是兩碼事

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

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

簡單的說就是通過數(shù)學來描述

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

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

而且可以做到無限精度

缺點是難以描述復雜事物

并且對算力要求高

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

總結(jié):

1.游戲大量復用圖塊,圖塊還使用調(diào)色板索引,好像每個像素才占用2bit。

2.程序員精心優(yōu)化各種數(shù)據(jù)結(jié)構(gòu),每一bit存儲都不浪費。

3.聲音只存儲發(fā)聲通道的調(diào)制參數(shù)序列,能復用就復用。

4.代碼全是匯編寫成,直接操作硬件,基本不存在浪費的指令。

小編也整理了21個簡單易學的小游戲開發(fā)項目供大家學習實踐,既可以幫助你提高編程能力,又能讓你感受到游戲的樂趣!這些項目的技能要求并不高,零基礎(chǔ)的同學也能學會哦~

編程資料獲取方式:轉(zhuǎn)發(fā)文章+私信【資料】

一、web前端:

1、基于HTML5 Canvas實現(xiàn)小游戲

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

image

此課程較為簡單,基于 HTML5 的 canvas 實現(xiàn)了一個小游戲,著重介紹了 HTML5 游戲開發(fā)的流程及游戲開發(fā)中需要處理的東西。對 Web 游戲開發(fā)感興趣的同學可以通過這個項目實踐 HTML5 及 JavaScript 基礎(chǔ)知識。

2、網(wǎng)頁版別踩白塊游戲

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

不同于移動端采用手指觸碰,網(wǎng)頁版需要我們點擊黑塊,黑塊才會消失。為了使代碼盡量簡單,邏輯清晰,去掉了很多的事件控制按鈕,刷新頁面即可以開始游戲,只保留了實現(xiàn)這個小游戲最重要的部分代碼,讓初學者也能很快看懂。

3、網(wǎng)頁版拼圖游戲

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

此課程基于 HTML+CSS+JavaScript 實現(xiàn)網(wǎng)頁版的拼圖游戲。實現(xiàn)過程中將用到 HTML5,CSS3 及 JavaScript 相關(guān)知識。完成這個項目,可以進一步扎實前端基礎(chǔ)知識。

4、基于 JavaScript 實現(xiàn)打地鼠游戲

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

此課程基于 HTML+CSS+JavaScript 實現(xiàn)網(wǎng)頁版打地鼠,你能學到如何開發(fā)一款 Web 小游戲,從布局到編寫游戲邏輯。如果你剛?cè)腴T前端,這是個不錯的實踐練習。

5、網(wǎng)頁版掃雷

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

此課程帶領(lǐng)大家實現(xiàn)經(jīng)典小游戲掃雷的網(wǎng)頁版,通過學習該課程,可以實踐 JavaScript 和 CSS 等基本的 Web 開發(fā)知識,學習如何對游戲中的對象進行抽象、封裝。

6、網(wǎng)頁版2048

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

《2048》是一款風靡一時的,非常簡單易上手的小游戲。此教程帶領(lǐng)大家使用 HTML+CSS+JS+jQuery 實現(xiàn)一個網(wǎng)頁版的《2048》。

二、Python

1、200 行 Python 代碼實現(xiàn) 2048

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

實驗僅用200行的 python 代碼完成2048小游戲的編寫。通過本實驗將學習 Python 基本知識,狀態(tài)機的概念,以及編寫 python 游戲的步驟。需要用戶具有 Python 的語法基礎(chǔ)。

2、Python3 實現(xiàn)推理游戲Bagels

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

Bagels 是可以和朋友一起玩的一個推理游戲。你的朋友想到一個隨機的、沒有重復的3位數(shù)字,你嘗試去猜測它是什么。每次猜測之后,朋友就會給出3種類型的線索:

3、人機對戰(zhàn)初體驗:Python基于Pygame實現(xiàn)四子棋游戲

實驗利用Python模擬AI和玩家進行四子棋游戲,利用游戲?qū)嶒濸ygame庫,為游戲提供界面和操作支持。AI算法借用蒙特卡洛搜索樹思想。通過設(shè)置AI的難度系數(shù),即AI所能考慮到的未來棋子的可能走向,從而選擇出最佳的方案和玩家對抗。難度系數(shù)越大,AI搜索范圍越廣,它所能做出的決定越明智。

4、用Python做2048游戲

5、基于Pygame開發(fā)貪吃蛇和俄羅斯方塊

6、數(shù)獨游戲的 Python 實現(xiàn)與破解

7、Python 實現(xiàn)推箱子游戲

8、Python 實現(xiàn)康威生命游戲

三、C/C++

1、C 語言制作 2048

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

2048是之前十分火爆的一款益智游戲。此課程將使用 C 語言完成一個2048游戲。適合對C語言有一定基礎(chǔ),想做項目練手的同學,本課程學習后將會了解C語言,以及繪圖庫ncurses的實用。本課程適合有C語言基礎(chǔ),希望在動手能力上得到提升的同學,熟悉模塊與主流程的運行流程。

2、C++ 實現(xiàn)俄羅斯方塊

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

此課程將用C++動手實現(xiàn)經(jīng)典游戲-俄羅斯方塊,課程難度適中,適合初學C++并且有一定基礎(chǔ)的同學,通過課程可以掌握C++編程的基本方法以及游戲設(shè)計中的邏輯算法,既能提高編程能力,又能感受游戲的樂趣!

3、C 語言實現(xiàn)貪吃蛇

4、C 語言快速實現(xiàn)五子棋

5、C語言版 Flappy Bird

四、其它

1、Shell腳本實現(xiàn)打字游戲

為什么魂斗羅只有128KB卻可以實現(xiàn)那么長的劇情?附游戲開發(fā)項目

此課程使用 Shell 腳本在終端實現(xiàn)了一個打字游戲,體現(xiàn)了shell命令的強大和實用,在項目實現(xiàn)的過程中學習并實踐了Shell腳本編寫的知識點。熟悉了read,exec,trap,local,date等命令的用法。本課程適合有一定編程基礎(chǔ),與對于linux有一定了解,想更加熟悉和鞏固shell命令的同學

2、GO語言開發(fā)2048

以上就是我們整理的游戲開發(fā)入門項目,也非常適合新手學習,大家可以收藏起來慢慢練習~

編程資料獲取方式:轉(zhuǎn)發(fā)文章+私信【資料】

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本乱论一区二区三区| 视频在线免费观看你懂的| 人妻内射在线二区一区| 久久人人爽人人爽大片av| 欧美做爰猛烈叫床大尺度| 色综合伊人天天综合网中文| 欧美六区视频在线观看| 国产亚洲精品岁国产微拍精品| 成人午夜免费观看视频| 日韩三极片在线免费播放| 欧美亚洲美女资源国产| 91精品视频免费播放| 制服丝袜美腿美女一区二区| 国产超薄黑色肉色丝袜| 亚洲精选91福利在线观看| 青青操视频在线观看国产| 国内真实露脸偷拍视频| 美女被后入视频在线观看| 黑人粗大一区二区三区| 亚洲男人天堂网在线视频| 日韩高清毛片免费观看| 日韩在线中文字幕不卡| 丝袜人妻夜夜爽一区二区三区| 精品人妻一区二区三区在线看| 国产原创激情一区二区三区| 国产精品欧美一级免费| 亚洲二区欧美一区二区 | 99久只有精品免费视频播放| 偷自拍亚洲欧美一区二页| 亚洲欧洲精品一区二区三区| 手机在线不卡国产视频| 国产午夜福利在线免费观看| 久久久精品日韩欧美丰满| 亚洲av又爽又色又色| 91久久精品国产成人| 日韩精品视频免费观看| 色哟哟哟在线观看视频| 激情综合网俺也狠狠地| 日韩一级免费中文字幕视频| 高清在线精品一区二区| 日韩精品一区二区三区四区|