"

在上一課的內容中,我們一起簡要了解了遊戲開發的大概流程。

那麼問題來了,從上古時代的示波器遊戲,到如今的虛擬現實頭顯遊戲,都是使用什麼技術開發的呢?

接下來,我們將一起來了解下游戲開發技術的發展簡史,特別是遊戲引擎的誕生和發展。

004- 遊戲引擎的誕生和發展

在正式開始學習Unity3d之前,我們需要記住的一個事實是,Unity3d是一款3d遊戲引擎,當然我們也可以用它來開發遊戲之外的3D/AR/VR行業應用。

那麼什麼是遊戲引擎?遊戲引擎又是如何誕生的呢?

在電子遊戲行業的“石器時代”,遊戲開發者的日子非常不好過,對遊戲開發者的能力要求相比其它類型軟件的開發也更高。以早期的Atari 2600遊戲機為例,在這個平臺上耕耘的遊戲開發者必須精通硬件的底層,包括如何合理使用和顯示相關的硬件,並熟悉相關操作系統的內核。蘋果公司創始人喬布斯的第一份工作就是給Atari公司開發遊戲。當然,為其它設備平臺開發遊戲似乎相對容易些,但即便開發者可以無視顯示部分的底層架構,內存的限制和調用又成了開發者頭上的金箍圈。

一個遊戲開發工程師需要全面瞭解硬件底層的知識,操作系統的內核,3D數學,C或者C++語言。總之,在遊戲引擎出現之前的遠古時代,遊戲開發絕B是一個超級硬核的工作,其難度絕對不亞於如今的AI人工智能算法工程師。

在整個二十世紀八十年代,真正意義上的遊戲引擎並未誕生。儘管如此,也出現了一些用來開發2D遊戲的類引擎系統,其中就包括了ASCII在1988年推出的RPG Maker。

進入二十世紀九十年代,一代遊戲大神John Carmack創立了id Software,並把目標投向3D遊戲的研發。在他的帶領下,id Software接連推出了《德軍總部3D》,《毀滅戰士》,《雷神之錘》等驚世之作。在開發這些遊戲的過程中,卡馬克史無前例的採用了自己獨創的3D遊戲引擎。

以《毀滅戰士》為例,其軟件架構可以清晰的分為三部分:核心遊戲組件(如3D圖形渲染系統、碰撞檢測系統、音效系統等)、美術資源和遊戲場景,以及和玩家遊戲體驗緊密相連的遊戲規則。通過使用遊戲引擎,遊戲開發者得以在遊戲核心架構不變的情況下設計自己的遊戲畫面、人物角色、武器和關卡,也就是所謂的“遊戲內容”或“遊戲資源”。遊戲引擎把和遊戲內容本身無關的碰撞檢測機制、渲染等獨立出來,從而讓開發者可以專注於遊戲內容和機制的設計。補充一句,3D遊戲引擎之父John Carmack於2014年正式加入VR行業的領軍企業Oculus,並擔任CTO一職至今。

所以說遊戲引擎其實沒有那麼高深,簡單來說,我們可以把它看作用來開發遊戲的軟件框架。遊戲開發者使用遊戲引擎開發各種平臺的遊戲,包括掌機遊戲、主機遊戲、PC遊戲、手機遊戲和AR/VR遊戲。

在id Software的《雷神之錘III競技場》和Epic Game於1998年推出的Unreal遊戲中,開發者都採用了類似的理念,也就是將引擎本身和遊戲內容區分開來。遊戲引擎本身和遊戲內容一樣開始具備獨立的商業價值。在這個時期,高端的商業引擎開始出現,比如Epic Games 推出的Unreal Engine(虛幻引擎)。這種高端商業引擎雖然授權費動輒數萬甚至數百萬美元,但可以讓多個公司使用,以快速開發自己的遊戲內容。從這個角度來看,遊戲引擎推動了整個遊戲行業的發展。

"

在上一課的內容中,我們一起簡要了解了遊戲開發的大概流程。

那麼問題來了,從上古時代的示波器遊戲,到如今的虛擬現實頭顯遊戲,都是使用什麼技術開發的呢?

接下來,我們將一起來了解下游戲開發技術的發展簡史,特別是遊戲引擎的誕生和發展。

004- 遊戲引擎的誕生和發展

在正式開始學習Unity3d之前,我們需要記住的一個事實是,Unity3d是一款3d遊戲引擎,當然我們也可以用它來開發遊戲之外的3D/AR/VR行業應用。

那麼什麼是遊戲引擎?遊戲引擎又是如何誕生的呢?

在電子遊戲行業的“石器時代”,遊戲開發者的日子非常不好過,對遊戲開發者的能力要求相比其它類型軟件的開發也更高。以早期的Atari 2600遊戲機為例,在這個平臺上耕耘的遊戲開發者必須精通硬件的底層,包括如何合理使用和顯示相關的硬件,並熟悉相關操作系統的內核。蘋果公司創始人喬布斯的第一份工作就是給Atari公司開發遊戲。當然,為其它設備平臺開發遊戲似乎相對容易些,但即便開發者可以無視顯示部分的底層架構,內存的限制和調用又成了開發者頭上的金箍圈。

一個遊戲開發工程師需要全面瞭解硬件底層的知識,操作系統的內核,3D數學,C或者C++語言。總之,在遊戲引擎出現之前的遠古時代,遊戲開發絕B是一個超級硬核的工作,其難度絕對不亞於如今的AI人工智能算法工程師。

在整個二十世紀八十年代,真正意義上的遊戲引擎並未誕生。儘管如此,也出現了一些用來開發2D遊戲的類引擎系統,其中就包括了ASCII在1988年推出的RPG Maker。

進入二十世紀九十年代,一代遊戲大神John Carmack創立了id Software,並把目標投向3D遊戲的研發。在他的帶領下,id Software接連推出了《德軍總部3D》,《毀滅戰士》,《雷神之錘》等驚世之作。在開發這些遊戲的過程中,卡馬克史無前例的採用了自己獨創的3D遊戲引擎。

以《毀滅戰士》為例,其軟件架構可以清晰的分為三部分:核心遊戲組件(如3D圖形渲染系統、碰撞檢測系統、音效系統等)、美術資源和遊戲場景,以及和玩家遊戲體驗緊密相連的遊戲規則。通過使用遊戲引擎,遊戲開發者得以在遊戲核心架構不變的情況下設計自己的遊戲畫面、人物角色、武器和關卡,也就是所謂的“遊戲內容”或“遊戲資源”。遊戲引擎把和遊戲內容本身無關的碰撞檢測機制、渲染等獨立出來,從而讓開發者可以專注於遊戲內容和機制的設計。補充一句,3D遊戲引擎之父John Carmack於2014年正式加入VR行業的領軍企業Oculus,並擔任CTO一職至今。

所以說遊戲引擎其實沒有那麼高深,簡單來說,我們可以把它看作用來開發遊戲的軟件框架。遊戲開發者使用遊戲引擎開發各種平臺的遊戲,包括掌機遊戲、主機遊戲、PC遊戲、手機遊戲和AR/VR遊戲。

在id Software的《雷神之錘III競技場》和Epic Game於1998年推出的Unreal遊戲中,開發者都採用了類似的理念,也就是將引擎本身和遊戲內容區分開來。遊戲引擎本身和遊戲內容一樣開始具備獨立的商業價值。在這個時期,高端的商業引擎開始出現,比如Epic Games 推出的Unreal Engine(虛幻引擎)。這種高端商業引擎雖然授權費動輒數萬甚至數百萬美元,但可以讓多個公司使用,以快速開發自己的遊戲內容。從這個角度來看,遊戲引擎推動了整個遊戲行業的發展。

讓不懂編程的人愛上Unity3d遊戲開發004-遊戲引擎的誕生和發展

隨著遊戲引擎技術發展的成熟,引擎界面和操作流程對開發者來說也越來越友好,引擎本身的應用領域也越來越廣,從傳統的遊戲開發拓展到其它領域,比如視覺設計、培訓、醫療、軍事模擬和建築等等。與此同時,除了傳統的遊戲主機、掌機和PC,遊戲引擎開始支持更多的設備平臺,包括智能手機(Android手機和iPhone)、網絡瀏覽器和VR設備等等。

此外,大多數的3D遊戲對GPU的資源要求與日俱增,也受限於顯卡性能的桎梏。但考慮到提高開發者效率的需求,越來越多的遊戲引擎不再需要開發者使用C語言或C++語言開發,而是使用更高級的編程語言,如Java、 C#、Python、Lua等。

但是需要強調的一點是,基於種種原因,如果想在遊戲開發領域有更深入的成就,那麼對C++語言的掌握還是必不可少的。

很多遊戲引擎都提供了一整套的可視化開發工具,以及可重用的軟件功能。這些開發工具通常以一種集成開發環境(IDE)的形式提供,讓開發者不必從零開始“造輪子”。遊戲引擎有時候又被稱作“中間件”,給開發者提供了極大的便利和靈活性,可以有效的提高開發效率,降低開發的複雜度,縮減開發成本。

遊戲引擎除了把開發工程師從困難之中解救出來,同時也讓團隊的其他成員可以更好的參與遊戲開發過程之中,從原型製作到關卡或場景設計,一些原本只有靠開發工程師寫代碼才能搞定的工作,如今策劃和美術人員也可以輕鬆參與。

好了,關於遊戲引擎的誕生和發展,就先講到這裡。

在下一課的內容中,我們將一起來簡單瞭解一下游戲引擎的基本架構。因為這種基本架構不光適用於Unity3d引擎,也適用於其它類型的引擎,如UE4,cocos2d-x,CryEngine等。

我們下一課再見~

"

相關推薦

推薦中...