遊戲開發需要的背景知識

2021-08-20 12:07:37 字數 2472 閱讀 3778

現在公認的第一款電子遊戲(也就是主機遊戲),是 1952 年面世的。遊戲玩的是井字棋,6 年後才出現了簡陋的網球遊戲。

下面這幅圖就是井字棋遊戲,儘管它與 1952 年的遊戲畫面還是有所出入,但是遊戲內容是一樣的。

此後,就進入了「雅達利」時期。隨後的《太空侵略者》,是最經典的一款遊戲。在這之後,我們耳熟能詳的任天堂紅白機,發布了《吃豆人》《大金剛》等遊戲。再之後,就進入了各種遊戲主機競相綻放的階段。

在電腦遊戲方面,第一款電腦遊戲是 1962 年面世的《太空戰爭》。到 1980 年之後,隨著電腦技術的日趨成熟,電腦遊戲的畫面才開始有了逐漸趕超電子遊戲的態勢。到 2005 年之後,隨著電腦圖形硬體的發展,電腦遊戲的發展進入了加速期。

電子遊戲的優勢

集合了當時高精尖的圖形顯示卡技術,純粹為遊戲所設計。比如索尼的 ps 系列。

電腦遊戲的優勢

能更換顯示卡和硬體。當顯示卡公升級換代的時候,理論上,只要主機板支援,你就可以更新;而電子遊戲主機是固化的硬體,只能靠購買新的版本。

從硬體來講,大致可以分為四大類。

第二類是電腦遊戲。電腦遊戲品類繁多,有 pc 客戶端遊戲,比如《夢幻西遊》《魔獸世界》《星際爭霸》《gta》等;還有 html5 網頁遊戲、flash 遊戲等等。

第四類是移動遊戲電視機遊戲。隨著安卓系統的興起,電視盒子的出現,出現了一種不需要遊戲主機卻能在電視螢幕上直接玩的遊戲,這就是電視機遊戲。但這類遊戲一般需要用電視遙控器玩,而且由於電視盒子的機能限制,畫面甚至可能比不上手機遊戲,所以只適合閒暇的時候偶爾玩一下。

在最早期的遊戲開發中,比如任天堂的《famicom》(我們俗稱《紅白機 fc》)、《super famicom》(我們俗稱《超任 sfc》),都是使用組合語言進行開發的。早期由於 8 位機能限制,程式設計師們為了優化遊戲速度、提公升遊戲畫面,無所不用其極,甚至到了奇技淫巧的地步。到了後期的遊戲(比如《無賴戰士》《足球小將》等),已經將機能挖掘到了極限。到了 16 位機後(任天堂《sfc》、世嘉的《md》),才逐步使用c 語言進行程式設計。到了 32 位機之後,基本都是使用c/c++ 語言進行程式設計。

2d 遊戲涉及最基本的圖形、影象知識。從畫面方面考慮,開發 2d 遊戲只需要你知道 x 和 y 的位置即可,其他深層次的知識,引擎都可以替你完成。想要製作 3d 畫面,你需要掌握更多的知識,特別是幾何知識,這是毋庸置疑的。對於初學者來說,我們首先需要掌握核心的開發流程,至於過於細節的知識,可以在有了一定基礎之後再進行拓展學習。

2d 遊戲涉及最核心的網路呈現過程。網路資料在客戶端和伺服器端之間傳輸,經過伺服器端計算的資料返回給客戶端,客戶端進行呈現。

1. 橫版遊戲

經典遊戲《超級瑪麗》就是一款橫版過關遊戲。橫版遊戲,是 2d 遊戲可以實現的最基本的內容。橫版遊戲最主要的特點是它的畫面,這種 2d 平面的畫面只有左右兩側畫面可以控制,玩家體驗通常比較順暢。還有前幾年大火的《水管鳥》、耳熟能詳的《魂斗羅》,以及 steam 上的《返校》等等,都是橫版 2d 遊戲。

2. 俯視視角遊戲

俯視視角的遊戲。比如 fc 上的《勇者鬥惡龍》《大航海時代》等等。這類的遊戲提供乙個空中俯視的視角給玩家,能很清晰地看到遊戲中呈現的所有地圖和區域。在區域中,主角可以給玩家呈現四個、六個或者八個方向的旋轉和移動。在橫版遊戲中,玩家只能左右或者上下進行移動,而俯視角的遊戲則可以移動四個、六個或八個方向。比如,在《gta2》中,可以朝各個方向移動,並且通過縮放實現了主角的上下跳躍的視覺呈現。

3. 斜 45 度角的視角遊戲(「偽 3d」遊戲)

斜 45 度角的視角遊戲。我們看到大量的網頁遊戲、flash 遊戲、一些早期所謂的 2.5d mmo 遊戲,都是這種型別的視角。這種視角下的遊戲,也被俗稱為「偽 3d」遊戲。我們可以通過八個或者六個方向進行操作。地圖和建築物都是斜 45 度角的,做得好的遊戲可以進行縮放,所以看起來就像是 3d 的畫面。

到了 2d 斜 45 度角的後期,我們都使用 3d 建模,然後把它轉成 2d 圖形來進行製作。因為在 2d 角度下,有乙個很細節的問題,那就是左右手腳的交換。也就是說,如果角色右手拿著**,往左邊走,當它在往右側走的時候,為了節省資源和程式設計的方便,會對人物進行映象繪製,這就變成了左手拿著**了。

到了後期的 2d mmo 遊戲中,我們會通過 3d 建模,製作大量的非映象來契合左右手的限制。比如主角騎的坐騎中,左右腳被坐騎遮擋,我們可以通過 3d 建模將各種模型的腳和坐騎製作在一起,以解決左右腳或者裝備被遮擋的問題。

不管是開發 2d 遊戲還是 3d 遊戲,你首先需要理解什麼是遊戲引擎。以目前的技術手段,開發一款完整的遊戲已經不是特別難的事情,只要你有一款強大的引擎,然後將焦點 focus 在你所要實現的邏輯上,只需要配置一些、關卡、**,就能很快地實現一款遊戲。

不管何種型別、何種平台的遊戲,其開發的順序和手段幾乎是一樣的。而對於我們初學遊戲開發的人來說,首先需要掌握的是開發流程,在有了一定基礎之後,再學習細節的知識,就會如虎添翼。

Unity遊戲開發背景知識

一 unity 1.支援的ide 整合開發環境 monodevelop 適用於windows mac linux,主要用於mac visual studio 適用於microsoft支援的所有平台 二 visual studio基本使用 1.vs使用基本要求 1.新建和儲存專案 2.了解vs介面,學...

python開發需要掌握的知識

一 計算機組成原理和linux基礎 一般python入職公司職務分為三種 運維工程師 主要負責伺服器搭建 網路工程師 主要計算機系統的執行與維護 軟體開發工程師 顧名思義 應用程式開發 這三中職業相輔相成,了解相關知識對軟體開發有幫助。二 python開發 1 python基礎 python 3 教...

遊戲開發者需要關注的遊戲ICON

開發者往往重視遊戲的名字,認為乙個好的遊戲名字能給玩家在茫茫遊戲海洋中留下深刻的印象,其實人類往往會先被吸引,然後才是文字。所以某種程度上來說,遊戲的icon反而更容易給玩家留下印象。icon色調 大家都知道現實生活中色調的不同,會給人帶來不一樣的感受。像橙色會給人帶來陽光 活潑的感受。藍色則代表著...