首頁>遊戲>

個人覺得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.程式碼全是彙編寫成,直接操作硬體,基本不存在浪費的指令。

小編也整理了21個簡單易學的小遊戲開發專案供大家學習實踐,既可以幫助你提高程式設計能力,又能讓你感受到遊戲的樂趣!這些專案的技能要求並不高,零基礎的同學也能學會哦~

一、web前端:

1、基於HTML5 Canvas實現小遊戲

image

此課程較為簡單,基於 HTML5 的 canvas 實現了一個小遊戲,著重介紹了 HTML5 遊戲開發的流程及遊戲開發中需要處理的東西。對 Web 遊戲開發感興趣的同學可以通過這個專案實踐 HTML5 及 JavaScript 基礎知識。

2、網頁版別踩白塊遊戲

不同於移動端採用手指觸碰,網頁版需要我們點選黑塊,黑塊才會消失。為了使程式碼儘量簡單,邏輯清晰,去掉了很多的事件控制按鈕,重新整理頁面即可以開始遊戲,只保留了實現這個小遊戲最重要的部分程式碼,讓初學者也能很快看懂。

3、網頁版拼圖遊戲

此課程基於 HTML+CSS+JavaScript 實現網頁版的拼圖遊戲。實現過程中將用到 HTML5,CSS3 及 JavaScript 相關知識。完成這個專案,可以進一步紮實前端基礎知識。

4、基於 JavaScript 實現打地鼠遊戲

此課程基於 HTML+CSS+JavaScript 實現網頁版打地鼠,你能學到如何開發一款 Web 小遊戲,從佈局到編寫遊戲邏輯。如果你剛入門前端,這是個不錯的實踐練習。

5、網頁版掃雷

此課程帶領大家實現經典小遊戲掃雷的網頁版,通過學習該課程,可以實踐 JavaScript 和 CSS 等基本的 Web 開發知識,學習如何對遊戲中的物件進行抽象、封裝。

6、網頁版2048

《2048》是一款風靡一時的,非常簡單易上手的小遊戲。此教程帶領大家使用 HTML+CSS+JS+jQuery 實現一個網頁版的《2048》。

二、Python

1、200 行 Python 程式碼實現 2048

實驗僅用200行的 python 程式碼完成2048小遊戲的編寫。通過本實驗將學習 Python 基本知識,狀態機的概念,以及編寫 python 遊戲的步驟。需要使用者具有 Python 的語法基礎。

2、Python3 實現推理遊戲Bagels

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

3、人機對戰初體驗:Python基於Pygame實現四子棋遊戲

實驗利用Python模擬AI和玩家進行四子棋遊戲,利用遊戲實驗Pygame庫,為遊戲提供介面和操作支援。AI演算法借用蒙特卡洛搜尋樹思想。通過設定AI的難度係數,即AI所能考慮到的未來棋子的可能走向,從而選擇出最佳的方案和玩家對抗。難度係數越大,AI搜尋範圍越廣,它所能做出的決定越明智。

4、用Python做2048遊戲

5、基於Pygame開發貪吃蛇和俄羅斯方塊

6、數獨遊戲的 Python 實現與破解

7、Python 實現推箱子游戲

8、Python 實現康威生命遊戲

三、C/C++

1、C 語言製作 2048

2048是之前十分火爆的一款益智遊戲。此課程將使用 C 語言完成一個2048遊戲。適合對C語言有一定基礎,想做專案練手的同學,本課程學習後將會了解C語言,以及繪相簿ncurses的實用。本課程適合有C語言基礎,希望在動手能力上得到提升的同學,熟悉模組與主流程的執行流程。

2、C++ 實現俄羅斯方塊

此課程將用C++動手實現經典遊戲-俄羅斯方塊,課程難度適中,適合初學C++並且有一定基礎的同學,通過課程可以掌握C++程式設計的基本方法以及遊戲設計中的邏輯演算法,既能提高程式設計能力,又能感受遊戲的樂趣!

3、C 語言實現貪吃蛇

4、C 語言快速實現五子棋

5、C語言版 Flappy Bird

四、其它

1、Shell指令碼實現打字遊戲

此課程使用 Shell 指令碼在終端實現了一個打字遊戲,體現了shell命令的強大和實用,在專案實現的過程中學習並實踐了Shell指令碼編寫的知識點。熟悉了read,exec,trap,local,date等命令的用法。本課程適合有一定程式設計基礎,與對於linux有一定了解,想更加熟悉和鞏固shell命令的同學

2、GO語言開發2048

以上就是我們整理的遊戲開發入門專案,也非常適合新手學習,大家可以收藏起來慢慢練習~

最新評論
  • 1 #

    128K能做出一個讓人嗯忘記不了的好遊戲。 現在100G容量都不一定做得到。

  • 2 #

    現在一個遊戲硬碟都放不下,幾百g

  • 3 #

    指令還有浪費之說?邏輯問題怪處理器,可真行

  • 4 #

    CISC和RISC說反了吧?

  • 5 #

    好多背景是靜態的,所以容易打壞電視機

  • 年營收30億,智明星通投資的這家SLG廠商贏麻了
  • 夢幻西遊魔方寸和三掃唐兩個大後期?看我截圖山如何捶死你