什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂

我們經常會看到這樣的話語:“XX遊戲是基於XX遊戲引擎製作的”。那麼,到底什麼是遊戲引擎?這篇文章來淺淺談一下我這個普通玩家對遊戲引擎的認識,使用通俗易懂的語言讓大家瞭解什麼是遊戲引擎(專業的東西我也不會),專業人士看到,如有錯誤請見諒。

首先,百度百科上對遊戲引擎的描述非常地專業,很多我也不瞭解。總結起來就是“遊戲引擎就和汽車引擎一樣,汽車引擎是汽車的核心,那麼遊戲引擎就是該款遊戲的核心”。

什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂

汽車引擎


但我對此不這麼認為。引擎,一般指汽車的發動機,我們常常會說“XX車是由XX引擎發動的”,汽車引擎是汽車的核心這沒有錯。但對於遊戲,我們一般不說“XX遊戲是用XX遊戲引擎來運行的”,而是說“XX遊戲是用XX遊戲引擎來製作的”。也就是說,“遊戲引擎”不是一個運行遊戲的程序,而是一個製作遊戲的程序。引擎是汽車必不可少的東西,但“遊戲引擎”不是製作遊戲必須的,最早的時候,製作遊戲是沒有“遊戲引擎”的。所以,遊戲引擎並不是一個遊戲的核心,一個遊戲的核心應該是這個遊戲的主程序和其代碼。遊戲和“遊戲引擎”的關係,類似於汽車和汽車工廠的關係。那麼為什麼會被稱為“遊戲引擎”而不是“遊戲製作軟件”呢?據說是因為第一個製作出“遊戲引擎”的人喜歡汽車,所以給這個軟件起了一個“引擎”的名字,而這個稱呼也就沿用至今。

什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂

虛幻4引擎


接下來說說引擎的誕生。

話說在很久很久以前,有一個遊戲製作者,通過寫代碼,花了七、八個月製作了一款遊戲橫版動作遊戲,之後他又要製作第二個遊戲,遊戲類型和第一款一樣,也是一款橫版動作遊戲。由於他很懶,不想再從零開始寫代碼,再花費數月的時間來製作這款遊戲。於是,他把第一款遊戲的代碼拿過來,在此基礎上進行了修改,更改了諸如人物模型、音樂、動作等等要素,只花費了一個月的時間就做出來一款看起來與第一款遊戲完全不同的新遊戲。後來,他發覺這個方法很不錯,於是把這些代碼打包起來,分享給了其他的遊戲製作者,一段時間後,其他的遊戲製作者們都用這個方法來製作遊戲了。慢慢的,這類代碼越來越多,於是出來了一個人,根據這些代碼的用途,將這些代碼分門別類,比如圖形的代碼放一起,動作的代碼放一起,音效的代碼放一起,然後分別打包,最後打一個大包,這個大包就是一個“遊戲引擎”了。

以上這段話是我編的,但這確確實實是“遊戲引擎”的起源。其實,“遊戲引擎”就是很多很多製作遊戲的代碼的集合。通過“遊戲引擎”來製作遊戲,就是將“遊戲引擎”裡已經存在的代碼拿出來,然後加以修改,有序的組合成一個遊戲程序。

目前世界公認的第一個製作出“遊戲引擎”的人是約翰·卡馬克,1992年製作的。就是那個製作了《德軍總部3D》、《毀滅戰士》、《雷神之錘》的約翰·卡馬克。《德軍總部3D》就是第一個用遊戲引擎製作的遊戲。這個引擎的名字和遊戲同名。

什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂

約翰·卡馬克


當年約翰·卡馬克在製作這款遊戲時,他和之前的遊戲製作者們不一樣。其他人做遊戲的時候,是先做遊戲,中途看看需要什麼代碼,然後拿過來放進去。而約翰·卡馬克在製作《德軍總部3D》時,他不是先做遊戲,而是基於這款遊戲的類型,3D射擊遊戲,先把可能用到的、用不到的代碼全都寫出來,按類別做成一個框架。然後再開始製作遊戲,往這個框架裡面進行具體的設計和填充,然後製作出了世界上第一款3D射擊遊戲。這個框架就是一個“遊戲引擎”了。雖說之前別的製作者做遊戲也會用一些現成的代碼,但這些代碼並沒有形成系統框架,而約翰·卡馬克第一次系統的構建了一個框架,所以認為他是第一個做出“遊戲引擎”人。

什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂

德軍總部3D


通常來說,一個“遊戲引擎”至少會包含圖形渲染系統、物理系統、特效系統、音效系統等部分,有一些程序雖然也能做遊戲,但因為功能侷限,也不能稱之為“引擎”。比如魔獸地圖編輯器,冰蛙用它做出了DOTA;又比如DOTA2地圖編輯器,巨鳥多多用它做出了DOTA自走棋。這些軟件製作出的遊戲都必須依附其他的遊戲為主體,所以算不上“遊戲引擎”,不過的的確確擁有“遊戲引擎”的一部分功能。可以把它們看成是“用遊戲引擎做出來的遊戲引擎”。

什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂


近30年的時間,從第一款“遊戲引擎”誕生之初,如今有太多的“遊戲引擎”了。比如多用於製作3D大作的《寒霜》(戰地)、《虛幻》(彩虹6號)、《尖叫》(孤島危機)等“大引擎”,也有多用於製作手遊的《Cocos2d-x》、《Unity3D》,製作頁遊的《白鷺》等“小引擎”。其中有些只有開發公司自己使用的,比如《寒霜》。也有用於商用授權給別的開發公司使用的,比如《虛幻》。也有公開免費使用的,比如《Unity3D》。

什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂

虛幻4開發的劍靈


如今的這些“引擎”,早已不是30年前“引擎”的樣子,已經大大可視化、具象化,呈現在製作者眼前的再也不是一長串的代碼。比如我想要在場景裡放棵樹,就可以在模型庫裡找棵樹放上去;比如我想要加個光影特效,就在特效庫裡找出來放上去,當然,這些都是“引擎”製作人提前寫代碼寫進去的,但代碼是如何寫的,就不是遊戲製作者們的事了。

什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂

虛幻引擎界面


總之,如今得利於“遊戲引擎”的強大功能,大大降低了遊戲製作者的門檻,甚至沒學過編程,從來沒寫過代碼的零基礎的人,只要熟練掌握了一款“遊戲引擎”,也能做出遊戲。這一方面有助於遊戲市場的多樣性,出現越來越多獨立遊戲製作者;另一方面,也讓粗製濫造的遊戲大大增多,比如steam上眾多的“庫存汙染”。

但不管如何,世界在進步,中國在進步,中國的遊戲市場也在進步,讓我們靜待將來吧。

我是小鴿子,望大家點贊、關注,會給大家帶來更多的遊戲資訊、雜談、攻略等等。

直接使用今日頭條APP上方的搜索框搜索“unity3d”,即可免費觀看頭條上的unity3D教程。

什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂


什麼是遊戲引擎?是類似汽車引擎的“核心”嗎?3分鐘教你弄懂


分享到:


相關文章: