遊戲引擎是指一些已編寫好的可編輯電腦遊戲系統或者一些交互式實時圖像應用程式的核心組件。這些系統為遊戲設計者提供各種編寫遊戲所需的各種工具,其目的在於讓遊戲設計者能容易和快速地做出遊戲程式,而不用由零開始。大部分都支援多種作業系統平台,如LinuxMac OS XWindows。大多數遊戲引擎包含以下系統:彩現引擎(即「彩現器」,含二維圖像引擎三維圖像引擎)、物理引擎、碰撞檢測系統、音效腳本引擎電腦動畫人工智慧網路引擎以及場景管理等。

展示了遊戲引擎的外觀與作用

概況

遊戲引擎提供一系列可視化開發工具和可重用組件。這些工具通過與開發環境進行集成,方便開發者簡單、快速進行資料驅動方式的遊戲開發。為了提高遊戲開發人員的開發效率,引擎開發者會開發出大量的遊戲所需要的軟體組件。大多數引擎集成了圖形、聲音、物理和人工智慧等功能部件。遊戲引擎會被稱為「中間件」,因為它們可以提供靈活和重用平台,向遊戲開發者提供所需要的全部核心功能,從而節省大量的遊戲開發費用,降低開發的複雜性,縮短遊戲的上市時間,所有這些對於高競爭性的遊戲產業來說都是關鍵因素。諸如虛幻系列引擎id Tech英語id TechUnity3DFrostbite Enginezerodin引擎Doom3引擎CryENGINE3DGame StudioRenderWareGamebryoVirtoolsRE引擎Source引擎等引擎。

與其它中間件解決方案一樣,遊戲引擎通常提供平台抽象層,實現同一款遊戲可以在各種平台上執行,包括遊戲機和個人電腦,而只需要改動少量的原始碼。一般來說,遊戲引擎均設計成基於組件的架構,方便進行特定子系統的替換或者添加新的引擎中間件(通常成本較高)從而實現功能的擴展。比如Havok引擎Miles Sound System聲音引擎Bink圖形引擎等。一些遊戲引擎如RenderWare引擎由一些鬆耦合的遊戲中間件組成,可以根據需要定製出遊戲引擎。通過組件技術,可以實現遊戲引擎的擴展性,而擴展性通常是遊戲引擎優先考慮的特性。遊戲引擎經常會應用於交互應用的實時圖像顯示,比如營銷演示、建築可視化、訓練模擬、環境建模。

引擎作為一個中間層,他能夠將同一個遊戲表現在不同的遊戲平台之上,諸如:個人電腦PlayStationPlayStation 2PlayStation 3XboxXbox 360Wii任天堂遊戲機。一些遊戲引擎通常被設計為部分組件可以替換或增加新組件,從而增強引擎的表現能力。當然這樣的引擎也會更昂貴。可用於增加功能的組件有用於物理計算的Havok,處理聲音的FMOD,加快彩現速度的SpeedTree等。一些引擎直接設計為組件分離,用戶根據需要自己組裝引擎組件比如RenderWare引擎。但這樣的設計給引擎的開發帶來了更高的難度,因為設計者要更多考慮各組件之間的協調問題。

一些遊戲引擎只包含實時三維彩現能力,不提供其它遊戲開發功能。這些引擎需要遊戲開發者自行開發所需功能,或者集成其他現有的遊戲組件。這此引擎通常被稱做「圖像引擎」、「彩現引擎」或者「三維引擎」,而非「遊戲引擎」。這個術語的定義已經有些模糊,因為很多特徵明顯的三維遊戲引擎被簡稱為「三維引擎」。一些圖像引擎如:Genesis3DIrrlichtOGRERealmForgeTruevision3DVision引擎。現代遊戲或圖像引擎通常提供場景圖形結構,該結構採用物件導向的方式表示三維遊戲世界,方便進行遊戲設計和高效彩現虛擬世界。

硬體概念

3D引擎的彩現系統通常建立在一套高級圖像API之上,諸如Direct3DOpenGL,這些API封裝了GPU和顯示卡的部分功能。級別低一點的如DirectXSDLOpenAL也經常使用,他們提供對其他硬體設備的獨立支援,諸如輸入設備(滑鼠、鍵盤、控制桿)、網卡、音效卡。在硬體加速圖形卡出現以前,開發者使用軟體彩現。現在軟體彩現依然被廣泛用於非及時圖像的彩現,或者是用戶的硬體設備不支援硬體彩現。

中間層

一些引擎開發者以開發整個遊戲引擎而著稱,他們試圖開發一個具有所有遊戲元素的引擎,包括圖像、聲音、物理、人工智慧。比如GamebryoRenderWare就是這樣的引擎。

也有一些開發者只專注於開發引擎的某一部分,但他們取得的成就往往比全功能引擎還高。SpeedTree就是一個很好的例子,他適用於大規模植被的彩現,被使用在Playstation 3Xbox 360微軟開發的一些RPG,以及上古卷軸4:遺忘。

一些引擎提供完整的原始碼,其他的只提供一個經過封裝的API接口,使用者用過調用DLL檔案來使用這個引擎。還有一些引擎將引擎二進制包和原始碼劃分開來,前者被免費授權使用,而後者則需要高額的費用來購買使用授權。

MMORPG中間層

MMORPG的中間層比單機版遊戲的中間層更為複雜,但網路遊戲的發展促進了這類引擎的開發。一些比較知名的引擎有:

開發者

遊戲引擎開發是一個比較熱門的職業,它強調學科間的相互合作,諸如幾何學色彩理論英語Color theory電腦程式等,主要集中在視覺科學領域。一些公司甚至以開發引擎為樂趣和技術追求,而不是用於盈利。比如godotBlender就是知名免費的開放原始碼多平台遊戲引擎。

參看

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.