[1.導讀]
游戲引擎(Game Engine)是什么?大多數(shù)人給出的解釋都是基于engine的英文翻譯,將游戲引擎等同于汽車中的引擎(發(fā)動機),再好一些的解釋成動力,這些解釋都對,但是動力只說并不全面,不能完整反映出游戲引擎在游戲中的作用與地位。

布加迪威龍之所以強大就是源自其W16發(fā)動機
先舉一個簡單例子,在某游戲中的一個場景中,玩家控制的角色躲藏在屋子里,敵人正在屋子外面搜索玩家。突然,玩家控制的是一個穿迷彩服的士兵,突然碰倒了桌子上的一個杯子,杯子墜地發(fā)出破碎聲,敵人在聽到屋子里的聲音之后聚集到玩家所在位置,玩家開槍射擊敵人,子彈引爆了周圍的易燃物,產(chǎn)生爆炸效果。在這個簡單而常見的過程中,游戲引擎便在后臺起著作用,控制著游戲中的一舉一動。

一些游戲中常見的場景都是引擎在后臺起著作用
把這個過程用專業(yè)們的語言分解一下就會變成這樣:首先出場的是可以行動的士兵,也就是人物模型。模型由引擎中的動畫系統(tǒng)賦予運動能力,游戲中角色能做出什么動作便取決于動畫系統(tǒng)有多強大。人物的真實程度則取決于3D模型渲染引擎的能力,這也是游戲引擎最重要的功能之一,游戲的畫質(zhì)高低便由它來決定。之后,士兵碰倒了杯子,這個過程涉及到引擎的碰撞檢測,它可以決定不同的物體在接觸的時候會產(chǎn)生什么樣的結(jié)果,有的游戲能穿墻有的則不能便是不同的碰撞檢測控制的。例子中設定的是把杯子碰倒了,杯子發(fā)出了破碎聲。在發(fā)生某種動作的同時發(fā)出相應的聲音則屬于引擎中的音效處理了。杯子破碎的聲音吸引了敵人的注意,這是引擎中的AI智能運算在起作用,最后雙方交火引發(fā)爆炸,爆炸產(chǎn)生的煙霧、爆炸物飛散則是引擎中的物理效果在起作用了。
可以說,游戲引擎雖然有著“動力(Engine)”之名,但是其實際上卻是行“大腦(brain)”之實,指揮控制著游戲中各種資源。游戲引擎的準確定義也是如此,“用于控制所有游戲功能的主程序,從計算碰撞、物理系統(tǒng)和物體的相對位置,到接受玩家的輸入,以及按照正確的音量輸出聲音等等?!蓖ǔ碇v,游戲引擎包含以下系統(tǒng):渲染引擎(即“渲染器”,含二維圖像引擎和三維圖像引擎)、物理引擎、碰撞檢測系統(tǒng)、音效、腳本引擎、電腦動畫、人工智能、網(wǎng)絡引擎以及場景管理。(引自wikipedia)
十幾年前的游戲都很簡單(以現(xiàn)在的眼光來看),容量大小都是以M計,通常一款游戲的開發(fā)周期在8到10個月左右,最主要的是,每款游戲開發(fā)都需要重頭編寫代碼,期間存在著大量的重復勞動,耗時耗力。慢慢地,開發(fā)人員總結(jié)出一個規(guī)律,某些游戲總是有些相同的代碼,可以在同題材的游戲中應用,這樣就可以大大減少游戲開發(fā)周期和開發(fā)費用,慢慢地這些通用的代碼就形成了引擎的雛形,伴隨著技術的發(fā)展,最終演變成今天這樣的游戲引擎。
同樣地,游戲引擎出現(xiàn)之后,也在另一方面促進著游戲開發(fā)。隨著顯卡性能越來越強,游戲的畫質(zhì)越來越高,游戲開發(fā)周期也越來越長,通常都會達到3到5年,自行開發(fā)游戲引擎的話時間還會更長,所以大多數(shù)游戲公司還是選擇購買現(xiàn)成的游戲引擎,簡化游戲的開發(fā)過程。
那么,實際的游戲開發(fā)過程中,游戲引擎是如何把游戲與顯卡連接在一起的,游戲中的各種特效是如何調(diào)用顯卡來實現(xiàn)的?這個問題如果要回答的很專業(yè),恐怕不在筆者知識范圍之內(nèi)了,不過我們可以用很簡單的方法來說解釋一下。顯卡是游戲的物理基礎,所有游戲效果都需要一款性能足夠的顯卡才能實現(xiàn),在顯卡之上是各種圖形API,目前主流的是DirectX和OpenGL,我們所說的DX10、DX9就是這種規(guī)范,而游戲引擎則是建立在這種API基礎之上,控制著游戲中的各個組件以實現(xiàn)不同的效果。
在引擎之上,則是引擎開發(fā)商提供給游戲開發(fā)商的SDK開發(fā)套件,這樣游戲廠商的程序員和美工就可以利用現(xiàn)成的SDK為自家的游戲加如自家建立的模型、動畫以及畫面效果,而最終的成品則是各種游戲。
整個關系可用下面的關系圖來表示。

游戲引擎與GPU的關系圖
經(jīng)過十多年的發(fā)展,游戲引擎的功能也越來越強大,涌現(xiàn)出一批比較知名的引擎如DOOM/Quake、Unreal虛幻,那么這些引擎的成功之處在哪里呢?
時至今日,游戲引擎已從早期游戲開發(fā)的附屬變成了今日的當家角色,對于一款游戲來說,能實現(xiàn)什么樣的效果,很大程度上取決于使用的引擎由多么強力。如果對什么才是優(yōu)秀的游戲引擎做個判斷,那么優(yōu)秀的游戲引擎一定具有如下優(yōu)點:
1.完整的游戲功能。隨著游戲要求的提高,現(xiàn)在的游戲引擎不再是一個簡單的3D圖形引擎,而是涵蓋3D圖形、音效處理、AI運算、物理碰撞等游戲中的各個組件,組件設計也應該是模塊化的,可以按需購買。以這兩年最成功的虛幻3引擎為例,雖然全部授權(quán)金(不包括售后技術服務)高達幾十萬甚至上百萬美元,但是可以分別購買相關組件,降低授權(quán)費用。
2.強大的編輯器和第三方插件。優(yōu)秀的游戲引擎還要具備強大的編輯器,包括場景編輯、模型編輯、動畫編輯等,編輯器的功能越強大,美工人員可發(fā)揮的余地就越大,做出的效果也越多。而插件的存在,使得第三方軟件如3DS Max、Maya可以與引擎對接,無縫實現(xiàn)模型的導入導出。
3.簡潔有效的SDK接口。優(yōu)秀的引擎會把復雜的圖像算法封裝在模塊內(nèi)部,對外提供的則是簡潔有效的SDK接口,有助于游戲開發(fā)人員迅速上手,這一點就如各種編程語言一樣,越高級的語言越容易使用。
4.其他輔助支持。優(yōu)秀的游戲引擎還提供網(wǎng)絡、數(shù)據(jù)庫、腳本等功能,這一點對于面向網(wǎng)游的引擎來說更為重要,網(wǎng)游還要考慮服務器端的狀況,要在保證優(yōu)異畫質(zhì)的同時降低服務器端的極高壓力。
以上四條對于今天的游戲引擎來說不成問題,當我們回頭歷數(shù)過去的游戲引擎,便會發(fā)現(xiàn)這些功能也都是從無到有慢慢發(fā)展起來的,早期的游戲引擎在今天看來已經(jīng)沒有什么優(yōu)勢,但是正是這些先行者推動了今日的發(fā)展。
談及游戲引擎,有一家游戲公司最應該被提起,也有一個人最不應該忘記,那就是ID software和它的創(chuàng)始人之一約翰?卡馬克(John D. Carmack)。據(jù)說這家公司僅有13名固定員工,而且停車場也只停13輛法拉利跑車,從這一八卦中可以看出大家都很關注這家公司是如何的盛產(chǎn)富翁,但是這群狂人開發(fā)的游戲技術更為傲人。
1990年,卡馬克和id的另一巨頭羅梅洛制作了一款小游戲《Commander Keen》(《指揮官基恩》),在PC機上首次實現(xiàn)了卷軸類游戲背景的流暢效果,后來他們又花了一個晚上的時間把當時的街機游戲《超級瑪麗》移植到PC機上,實現(xiàn)了流暢的橫板效果。他們把PC版《超級瑪麗》發(fā)給任天堂,希望借此吸引任天堂的興趣。當然,任天堂也確實很有興趣,夸獎了他們幾句,不過并無下文(大人物未成名之前總是被另一個大人物無視)。1991年,卡馬克和羅梅洛成立了ID Software,開始自主創(chuàng)業(yè)。
后面的事就很簡單了,憑借著過人的技術和狂熱的信念,id公司創(chuàng)造了一個又一個技術巔峰。沒多久,他們推出了《Wolfenstein 3D》(德軍總部3D)。這款游戲的畫面在現(xiàn)在看來不值一提,但是卻是3D射擊游戲之祖,卡馬克也因此獲得了“FPS游戲之父”的稱號。

《重返德軍總部3D》成了游戲引擎的始祖
作為最早的3D游戲引擎之一,《Wolfenstein 3D》(德軍總部3D)使用了一種射線追蹤技術來渲染游戲內(nèi)的物體(嚴格來說,《Wolfenstein 3D》還是一種偽3D)。游戲中每個像素會發(fā)射一道光束,如果這道光束碰到了障礙物形成反射,游戲就會按照設定好的程序在障礙物的相應位置創(chuàng)建單維深度緩存(dimensional depth buffer),建立紋理圖像。

游戲圖像
《Wolfenstein 3D》開創(chuàng)了3D射擊游戲時代,其獨創(chuàng)性的3D技術也為其他游戲所采用,Blake Stone, Corridor 7,Operation Body Count、Super Noah's Ark 3D(超級諾亞方舟3D)、 Rise of the Triad(算是《Wolfenstein 3D》的續(xù)作,增加了跳躍和低頭抬頭等動作),還有一直未發(fā)售的 Hellraiser(養(yǎng)鬼吃人)等游戲都沿用了卡馬克這一技術。
[5.《DOOM》問世―Id系列引擎之Id Tech 1 ]
注:Id公司為自家的引擎技術劃代為Id Tech,DOOM引擎正是Id Tech 1,后文都將按照這個序列來寫。
《Wolfenstein 3D》只是ID小試身手,1993年ID公司推出的DOOM(毀滅戰(zhàn)士)游戲引擎才是引擎技術的代表。DOOM引擎改善了《Wolfenstein 3D》引擎中的一些缺陷,如所有房間的高度都是相同的,所有墻壁都是垂直的,運動也只能直線前進或后退等,并且加入了許多新效果。

DOOM
在DOOM中,角色與游戲中的物品的互動性進一步增強,樓梯、樓梯上的花朵以及路橋已經(jīng)可升可降。游戲中的光照效果也不再單一,不同的單位也有了不同的亮度,此外DOOM引擎還支持立體聲音效,環(huán)境的定位感更真實。這些效果在3D顯卡都沒有問世的1993年毫無疑問是非常激動人心的進步。

DOMM一代的畫面
憑借自身的過人之處,DOOM獲得了350萬的銷量,為ID公司帶來了滾滾財源。更重要的是,DOOM成了ID公司第一款用于商業(yè)授權(quán)的引擎,從DOOM開始,游戲公司又多了一條創(chuàng)收之路。當時使用過DOOM引擎的游戲主要有:Raven公司的《ShadowCaster》(投影者)、《Heretic》(1994)、《Hexen》(1995)、Rogue Entertainment公司的《Strife》、《HacX》(免費)以及美國 Marine 公司的《Marine Doom》等等。這些游戲全都使用了DOOM引擎,其中Raven公司于ID公司的合作最為緊密,出品的三款DOOM引擎游戲也較為知名。
DOOM發(fā)售一年之后,ID又推出了DOOM系列的第二部作品《DOOM:Hell on Earth》。憑借id的號召和一代的影響力,DOOM II獲得了94年度的最佳原創(chuàng)幻想/科幻電腦游戲大獎,在銷量和口碑上再創(chuàng)新高。

DOOM II游戲
不過,從技術角度來講,DOOM II上并沒有什么創(chuàng)新之處,使用的DOOM,也沒帶來新穎的圖形技術,就連游戲中的怪物和武器也沒有新增多少。雖然id公司在1995年發(fā)布了一款擴展包《Master Levels for Doom II》,但是人們還是更期待《DOOM III》,只是這個期待要很長時間,《DOOM III》在10年后的2004年才正式發(fā)布。
就在DOOM系列熱火朝天的時候,Id公司又于1996年發(fā)售了另一款新型游戲《Quake》,相比《DOOM》使用的將擁有高度信息的二維地圖渲染成3D圖像的偽3D引擎,Quake引擎是實實在在的3D引擎。

真正3D模式的Quake引擎
Quake引擎是當時第一款完全支持多邊形模型、動畫和粒子特效的引擎,而在技術之外,《Quake》的游戲操控方式也樹立了FPS游戲的標準。游戲采用流動控制方案(fluid control scheme ),它使用鼠標來觀看/瞄準/定向以及用鍵盤前進/后退/側(cè)移,這也成了FPS游戲最普遍的操控模式,直到今日仍沒有變化。

Quake的出現(xiàn)為FPS游戲建立了經(jīng)典的操控方式
使用《Quake》引擎的主要是Id自己的《Quake》和《Quake World》系列、《HeXen II》(異教徒)、MageSlayer、Nexuiz(鏖戰(zhàn)廢土)、Day of Defeat(勝利之日),還有大名鼎鼎的《Half life:》(半條命)以及《Half life》擴展出來的《反恐精英》。

大名鼎鼎的CS使用的便是Quake引擎
90年代的Id公司相當勤奮,幾乎是每年推出一部新游戲,而且每次都能或多或少地帶給人們不少驚喜?!禥uake》一年之后,Id又發(fā)售了《Quake II》,采用的引擎也升級為Id Tech2。

《Quake II》
1997年的時候,當時3D加速卡(顯卡那是都叫3D加速卡)已經(jīng)興起,《Quake II》引擎已經(jīng)支持硬件3D加速,當時較為知名的3D API是OpenGL,《Quake》也因此重點優(yōu)化了OpenGL性能,這也奠定了Id公司系列游戲多為OpenGL渲染的基礎。

《Quake II》首次實現(xiàn)了彩色光影效果
Id Tech2引擎添加了256色材質(zhì)貼圖,首次實現(xiàn)了彩色光影效果,使得游戲中的物體在反射光影時候能展現(xiàn)出不同樣的色彩效果,另外一個技術特性則是通過支持DLL(dynamic-link libraries,動態(tài)鏈接庫)文件實現(xiàn)了對軟件渲染和OpenGL渲染的支持。
基于Id Tech2引擎的游戲有《Quake II》、《Anachronox》(時空傳奇)、《大刀》(Id另一強人羅梅洛離開Id之后開發(fā)的游戲)、《Soldier of Fortune》(命運戰(zhàn)士)、《半條命》(Quake和Quake II的代碼都有)。

《大刀》是羅梅洛離開Id之后使用《Quake II》引擎制作的一款游戲
[8.3D加速卡時代來臨―ID系列引擎之Id Tech3 ]
1999年,Id又發(fā)布了《Quake III:Arena》,這是《Quake》系列的第三步,也標志著Id的引擎技術到了Id Tech3時代。在這一時代,Id Tec3已經(jīng)不再支持軟件渲染,必須要有一款支持硬件加速的顯卡才能運行。

《Quake II》引擎需要一款硬件加速卡才能玩轉(zhuǎn)
《Quake III》引擎增加了32Bit 材質(zhì)的支持,還直接支持高細節(jié)模型和動態(tài)光影。同時,引擎在地圖中的各種材質(zhì)、模型上,都表現(xiàn)出了極好的真實光線效果。《Quake III》使用了革命性.MD3格式的人物模型,模型的采光使用了頂點光影(vertex animation)技術,每一個人物都被分為不同段(頭、身體等),并由玩家在游戲中的移動而改變實際的造型,游戲中真實感更強烈。

《Quake III:Team Arena》
《Quake III》擁有游戲內(nèi)命令行的方式,幾乎所有使用這款引擎的游戲都可以用`鍵調(diào)出游戲命令行界面,通過指令的形式對游戲進行修改,增強了引擎的靈活性。
《Quake III》一款十分優(yōu)秀的游戲引擎,即使是放到今天來講,這款引擎仍有可取之處,即使畫質(zhì)可能不是第一流的了,但是其優(yōu)秀的移植性、易用性、和靈活性使得它作為游戲引擎仍能發(fā)揮余熱,使用《Quake III》引擎的游戲數(shù)量眾多,比如早期的《使命召喚》系列、《榮譽勛章》、《絕地武士2》、《星球大戰(zhàn)》、《傭兵戰(zhàn)場2》、《007》、《重返德軍總部2》等等。

第一代的《使命召喚》使用了《Quake III》引擎
[9.《DOOM3》震撼問世―ID系列引擎之Id Tech4 ]
時間很快就到2004年,這一時代已經(jīng)是DX9顯卡的時代,但是人們關注的年度3D大作仍是基于OpenGL渲染的《DOOM3》,這也是Id公司的第四代引擎―Id Tech 4的代表作?!禗OOM3》命運多舛,03年的源碼泄露事件使得《DOOM3》很受傷,但是也因此使得其強悍面畫和要求為人所知。

DOOM3引擎的開山作
當時的《DOOM3》到底強到什么程度?id自家人恐怕最清楚,《Doom3》的首席程序員羅布?達菲曾經(jīng)說過:“Doom3從任何角度而言都是最完美的,而且它幾乎完全追隨并引導了硬件的發(fā)展。以id software的經(jīng)驗來看,Doom3估計又會被追捧至少5年,而在這5年里測試顯卡FPS的基準估計都會是它了?!保氵@話太大了點,至少07年發(fā)布的《Crysis》就超過了)。
在《DOOM3》中,即時光影效果成了主旋律,它不僅實現(xiàn)了靜態(tài)光源下的即時光影,最重要的是通過shadow volume(陰影錐)技術,《DOOM3》引擎實現(xiàn)了動態(tài)光源下的即時光影在游戲中大規(guī)模的使用。

shadow volume(陰影錐)關閉(左)與開啟(右)的效果對比
當然了,除了shadow volume(陰影錐)技術之外,《DOOM3》中的凹凸貼圖、多邊形、貼圖、物理引擎和音效也都是非常出色的,可以說04年《DOOM3》一出,當時的顯卡市場可謂一片哀嚎,GeForce FX 5800/Radeon 9700以下的顯卡基本喪失了高畫質(zhì)下流暢運行的能力,強悍能力也只有現(xiàn)在的《Crysis》能與之相比了。

《Quake 4》是Id公司目前最高級的引擎
由于DOOM3引擎的優(yōu)秀,后續(xù)有一大批游戲都使用了這款引擎,包括《DOOM3》資料片《Resurrection of Evil》(邪惡復蘇)、 Id自家的《Quake4》(實際是由Raven公司捉刀)、Human Head Studios的《Prey》、Splash Damage 的《Enemy Territory: Quake Wars》(敵占區(qū):雷神戰(zhàn)爭)和《Brink》、Raven的《Wolfenstein》(重返德軍總部)等等。

Id Tech 5引擎能否讓Id公司站在引擎技術最前端?
現(xiàn)在,Id公司還在進行著《DOOM4》的開發(fā),引擎也升級到Id Tech5,雖然詳細的技術規(guī)格仍然是迷,但是卡馬克已經(jīng)放言:“Doom4是一款為30幀而拼搏的作品,就像是應用了全新的引擎,它基于我們這四年來的研發(fā)成果?!比绻傅氖怯螒虬l(fā)布時的硬件水平,那么Id Tech5引擎恐怕又是高端顯卡的墳墓了。
如果要找一個能跟Id公司的Quake/DOOM游戲引擎相比肩的對手的話,那么EPIC公司的Unreal引擎無疑是最合適的。而且相比只負責3D圖像處理的Quake/DOOM引擎來講,Unreal涵蓋的方面更多,涉及物理特性、動畫演示、音頻效果和碰撞檢測等游戲的所有組件,也就是說Unreal引擎的集成度更高,通用性更強。
注:Quake/DOOM后來也一樣涉及到了物理碰撞、音頻處理等內(nèi)容,游戲引擎的發(fā)展即是向全能向發(fā)展。
1998年5月22日,大約在《Quake II》發(fā)布后半年左右,由Epic Games開發(fā)GT Interactive發(fā)行了《Unreal 》問世,游戲中除了精致的建筑物外,還擁有許多游戲特效,比如蕩漾的水波,美麗的天空,逼真的火焰、煙霧和力場,單純從畫面效果來看,《虛幻》是當之無愧的佼佼者。

最早的《虛幻》畫面
雖然在彩色光照效果上被Quake II引擎搶了先,但是Unreal引擎依然擁有自己的獨門秘籍。Unreal引擎在彩色光照和紋理過濾上的軟件渲染性能已經(jīng)接近硬件級的加速,而且Unreal引擎還支持當時CPU剛剛集成的SIMD(單指令多數(shù)據(jù))指令,比如AMD新增的3DNOW!,Intel的MMX和SSE指令集,這讓它的性能進一步增強。
Unreal問世的時候,大行其道的圖形接口還是3Dfx的Glide,性能最強的顯卡也是3Dfx的Voodoo 5,微軟的DX規(guī)范占據(jù)主流之后,Unreal引擎又很快支持DX,而對OpenGL規(guī)范雖然也有支持,但是一直不太順,性能也不夠好,所以Unreal引擎慢慢就變成了專司DX規(guī)范了。
得益于畫面精美和DX規(guī)范的通用性,Unreal很快就得到了18款游戲的支持,包括《Unreal》、《Unreal Tournament》、《哈利波特》、《Rune》、《Deus Ex》等都用Unreal引擎實現(xiàn)了不同的游戲效果。而且,由于Unreal引擎的通用性,除了游戲,它還廣泛使用在3D建模、建筑設計、動作捕捉、電影特效等等領域。

《Deus Dex》就使用了虛幻1引擎
Unreal引擎一炮打響,EPIC又再接再厲推出了Unreal2引擎。相比第一代Unreal引擎,Unreal2的全部代碼幾乎重寫,并集成了最新的編輯器。隨著游戲開發(fā)的需要,游戲引擎的內(nèi)涵也在不斷擴大,Unreal2引擎擁有了更多的功能。

《Unreal 2》虛幻2的畫面
當時物理加速技術已然成形,Unreal2引擎便集成了Karma 物理加速技術開發(fā)包,引擎中的物理效果得以增強,并且開始支持XBOX、PS2等主機平臺。Unreal2引擎期間有過一次小幅升級,被稱為UE2.5,渲染性能有了一定提高。

這張Unreal 2的看起來更漂亮一些
有了第一代引擎的鋪墊,采用Unreal2及其升級型引擎的游戲數(shù)量也大幅提高,其中的知名游戲包括《湯姆?克蘭西之細胞分裂2:明日潘多拉》、《部落:復仇者》、《越戰(zhàn)英豪》、《天堂2》、《殺手13》、《彩虹六號:雅典娜之劍》、《荒野大鏢客》、《虛幻競技場2003》、《手足兄弟連》等等。

《天堂2》的畫質(zhì)在當時的網(wǎng)游中可以說是傲視群雄
到了DX9時代,EPIC公司的Unreal2引擎便跟不上時代了,急需一款性能更強大、靈活性更高的新時代引擎,這便是EPIC當前的主力干將―Unreal3引擎。融合了眾多新技術、新特性的Unreal3也是當前使用最廣泛的引擎之一,在主機、單機、網(wǎng)游全面開花。

虛幻競技場3驚艷亮相
Unreal3支持64位HDRR高精度動態(tài)渲染、多種類光照和高級動態(tài)陰影特效,可以在低多邊形數(shù)量(通常在5000-15000多邊形)的模型實現(xiàn)通常數(shù)百萬個多邊形模型才有的高渲染精度,這樣就可以用最低的計算資源做到極高畫質(zhì)。Unreal3引擎還提供了強大的編輯工具,讓開發(fā)人員隨意調(diào)用游戲?qū)ο?,真正做到所見即所得?/p>

虛幻3引擎中支持PhysX物理特效的場景
Unreal3引擎之中還集成了許多現(xiàn)成的游戲技術,包括PhysX物理引擎、SpeedTree植被引擎、EAX5.0音效引擎、AI引擎等,其中的PhysX物理加速技術是NVIDIA公司力推的,在PhysX游戲中會擁有更好的效果。
優(yōu)秀的畫質(zhì)表現(xiàn)、適中的顯卡要求、強大的自定義工具和一站式配套開發(fā)使得Unreal具備了各個平臺各種游戲的適應性,所以自問世以來,已經(jīng)有越來越多的游戲采用Unreal3引擎,勢頭直追當前的Quake/DOOM引擎。

虛幻3引擎打造的《戰(zhàn)爭機器》不論游戲還是畫面都堪稱大作
在采用Unreal3引擎的游戲中,《生化危機》、《Alpha Protocol》、《戰(zhàn)爭機器》、《榮譽勛章:空降神兵》、《槍神》、《質(zhì)量效應》、《鏡之邊緣》都是知名大作,尤其是《戰(zhàn)爭機器》一度創(chuàng)下PC游戲的畫質(zhì)神話。
整個90年代,游戲引擎的光芒似乎成了Id和EPIC的專利,其余的公司都被這兩大巨頭所掩蓋了,其實當時仍然有不少引擎精品,Monolith公司的LithTech引擎便是一例。

《Shogo》升剛使用的便是LithTech最早的引擎
1998年,Monolith推出了新款游戲《Shogo:Mobile Armor Division》,這是一款結(jié)合了日本卡通的FPS游戲,使用的引擎便是LithTech。這款引擎耗費了Monolith公司五年的時間,花費超過700萬美元,如此高的代價也迫使公司改名為LithTech,業(yè)務范圍也轉(zhuǎn)向LithTech引擎授權(quán)以圖收回高昂的開發(fā)成本。
采用LithTech第一代引擎制作的游戲包括《血兆2》和《清醒》(Sanity)等。2000年LithTech公司推出了引擎的2.0版本和2.5版本,加入了骨骼動畫和高級地形系統(tǒng),LithTech 3.0則衍生出了“木星”(Jupiter)、“鷹爪”(Talon)、“深藍”(Cobalt)和“探索”(Discovery)四大系統(tǒng),其中“鷹爪”被用于開發(fā)《異形大戰(zhàn)掠奪者2》(Alien Vs. Predator 2),“木星”將用于《無人永生2》的開發(fā),“深藍”用于開發(fā)PS2版《無人永生》。

《F.E.A.R》中借助LithTech引擎實現(xiàn)了多種游戲效果
應用LithTech引擎最出色的當屬05年推出的《F.E.A.R》,改良的LithTech引擎為這款游戲帶來了細致的縱深場景刻畫,全屏抗鋸齒、實時光影效果都表現(xiàn)完美,而在今年上半年推出的《F.E.A.R2:起源計劃》 中,LithTech引擎又加入了HDR渲染、動態(tài)模糊、后期處理、屏幕空間環(huán)境光遮蔽(SSAO)等最新畫質(zhì)效果,也增強了物理和人工智能,還完善了對雙核心處理器的支持。
當然,LithTech引擎也非完美,雖然引擎本身繼承了Havok物理加速,但是游戲中的物理效果一般,表現(xiàn)比較生硬,不過瑕不掩瑜,LithTech引擎性能已經(jīng)好強大,LithTech公司的服務也非常詳盡,購買者可免費升級,而且授權(quán)費用僅有25萬美元(現(xiàn)在的價格未知),很適合中小型游戲開發(fā)公司。
Valve公司的《Half Life》使用的是Quake/Quake II引擎,當他們開發(fā)續(xù)作《Half Life2》之時,Quake引擎已經(jīng)略顯老態(tài),于是他們決定自己開發(fā)游戲引擎,這也成就了另一款知名的引擎―Source引擎。

《Half Life2》系列使用的都是Source引擎
與Unreal引擎一樣,Source也不是一款簡單的3D引擎,它同樣包括了3D圖像渲染、材質(zhì)系統(tǒng)、AI人工智能計算、Havok物理引擎、游戲界面、游戲聲效等各個組件,而且創(chuàng)造性地使用了模塊化理念,結(jié)合Vavlve公司的Stream平臺,游戲引擎的修改和升級都非常簡單,這也使得Source引擎可以長盛不衰,至今依是主流引擎之一。

Valve自家的游戲大都使用的是Source引擎
Source引擎最讓人驚嘆的特效當屬豐富的人物表情。人的面部有42塊肌肉,可以做出許多不同種類的表情,喜怒哀樂愁不一而足,要想在游戲中實現(xiàn)擬人化的表情絕非易事。為此,Valve專門開發(fā)了一套面部肌肉模擬系統(tǒng),這套系統(tǒng)中包含了一系列預先設定的表情腳本,能控制角色面肌肉群產(chǎn)生相應的面部動畫,并進行相加/混合/插值運算以創(chuàng)建現(xiàn)實生活中所見的自然真實的角色表情。
同時,為了與表情配合,Valve公司還創(chuàng)建了一套基于文本文件的半自動聲音識別系統(tǒng)(VRS)。Source引擎制作的游戲可以利用VRS系統(tǒng)在角色說話時調(diào)用事先設計好的單詞口形,再配合表情系統(tǒng)實現(xiàn)精確的發(fā)音口形。

Source引擎的面部表情非常傳神
Source引擎全面應用于Valve自家的游戲領域,《Half life2》三部曲,《CS:Source》、,還有現(xiàn)在的《Left 4 Dead》系列。自家領地之外也是遍地開花,《勝利之日:起源》、《吸血鬼》、《軍團要塞2》、《SiN Episodes》等多款游戲都授權(quán)使用了Source引擎。
在DOOM3和半條命2的同時代,育碧公司利用德國一家公司利開發(fā)的CryENGINE引擎做出了另一款畫面堪稱鬼神級的游戲―《FarCry》(孤島驚魂),游戲一推出,就贏得了大片贊嘆之聲。

《孤島驚魂》的畫質(zhì)達到了當時的巔峰
CryENGINE引擎的開發(fā)者是德國的CryTek,當時名不見經(jīng)傳,在游戲引擎開發(fā)上屬于新生代,但是第一次出手就表現(xiàn)不凡。CryENGINE引擎使用了“PolyBump”特效,利用很少的多邊形做出了大量多邊形才能實現(xiàn)的游戲效果,游戲中的動態(tài)光影效果也非常出色。

CryENGINE引擎打造的畫面即使現(xiàn)在看起來也很高
CryENGINE引擎還HDR高動態(tài)壓縮、3Dc等技術,后期還通過patch補丁升級了SM3.0支持,畫面又有所增強。
《孤島驚魂》作為CryTek公司初出茅廬之作,展示技術實力的目的是達到了,但是引擎授權(quán)方面并不算成功,除了《FarCry》在主機平臺的幾款游戲之外,僅有NC Soft購買了授權(quán)用在自家的網(wǎng)游上,這款網(wǎng)游也正是現(xiàn)在火爆的《永恒之塔》(AION)。

《永恒之塔》的高畫質(zhì)便得益于CryENGINE引擎的超強表現(xiàn)
雖然第一代引擎出師不利,但是CryTek的CryENGINE2引擎在DX10時代締造了另一個畫質(zhì)新高,那就是著名的顯卡危機―《Crysis》(孤島危機)。
[16.DX10時代最強畫質(zhì)代表―CryENGINE2引擎]
06年底,隨著Vista的發(fā)布,游戲進入了DX10時代,NVIDIA和AMD也都先后發(fā)布了各自的DX10顯卡,新一代引擎大戰(zhàn)也正式開始。這期間,CryTek沒有搶到首發(fā)DX10游戲引擎,但CryENGINE引擎的《Crysis》奪得了最強DX10畫質(zhì)大旗,并保持至今。

DX10畫質(zhì)最強音―CryENGINE2引擎
CryENGINE2在一代基礎上大幅強化,全面支持DX9中的SM2.0/3.0和DX10中的SM4.0,引擎完整涵蓋了游戲開發(fā)中的3D圖像、游戲音效、AI人工智能、物理效果、腳本系統(tǒng)、動畫系統(tǒng)、編輯器等,可為游戲開發(fā)者提供強大的可視化開發(fā)環(huán)境,此外CryENGINE2還支持64位系統(tǒng),多核心多線程處理。

MOD愛好者制作的Crysis高清MOD包

MOD愛好者制作的Crysis高清MOD包
有關《Crysis》的具體畫質(zhì)有多強,網(wǎng)上有很多相關資料,而《Crysis》的要求有多高,我們的評測欄目頁有很多,迄今為止的單卡還沒有能在高分辨率下的Very High級別流暢運行。也正是由于CryENGINE2引擎非常強的畫質(zhì)和可定制性,CryENGINE引擎現(xiàn)在也成了MOD玩家DIY的最佳工具。我們網(wǎng)站也報道過了許多高清MOD作品(連接在此:一、二),其中的一些畫面幾乎可以達到以假亂真的地步。
CryENGINE2引擎相比前代的境遇要好多了,除了CryTek自家的《Crysis》、《Crysis:Warhead》使用之外,卡通風格的《布魯克林商人》、《Forged by Chaos》(混沌試煉)、《Blue Mars》(藍色火星)、韓國網(wǎng)游《The Day》等多款游戲都獲得了CryENGINE2引擎授權(quán)。
成也蕭何敗也蕭何,CryENGINE2引擎的高畫質(zhì)高要求使得主機平臺承受不起,以致于下一代CryENGINE3引擎不得不降低要求以適應主機平臺(當然,CryTek公司是不會承認這一點的,他們只是在優(yōu)化而已),還好CryTek保證PC平臺的畫質(zhì)會再創(chuàng)新高,至于CryENGINE3引擎的到底能否再次讓我們經(jīng)歷一次顯卡危機,也許要等到2010年或2011年游戲上市正式才能揭曉了。

CryENGINE 3引擎或許會再一次上演顯卡危機
上面著重介紹的都是最為知名的幾款游戲引擎,尤以Id、EPIC、Valve、CryTek這幾家的Id Tech、Unreal、Source、CryENGINE為主。當然,在這幾家巨頭之外,不少游戲公司推出的引擎雖不一定能四處開花,但是在各自的領域也是十分的精彩。
另一款強調(diào)痛快殺戮的《Serious sam》(《英雄薩姆》)所采用的Serious引擎非常值得一提?!队⑿鬯_姆》游戲擁有極大的地圖視野,即是你面對蜂擁而至的千軍萬馬也絲毫沒有遲滯感,這與其他游戲在大場景處理中表現(xiàn)不足形成強烈的反差。Serious引擎隨著《英雄薩姆》系列游戲也在不斷演進,最近的Serious Engine3支持多核心HDR渲染,支持全面的像素光照效果和陰影技術(包括陰影緩沖),同時帶有多線程設計的物理引擎,可以在多核心系統(tǒng)上提供更好性能,并且提供真實的互動效果,宣稱整體效果可與虛幻3相媲美。

Serious Engine3引擎效果一覽
《Max Payne》(《馬克思佩恩》)的MAX-FX引擎來頭更大,之所以這么說,是因為早期的3Dmark測試軟件所用的引擎就是Max-FX,直到3Dmark03中才由Futuremark自己開發(fā)測試內(nèi)核t替代了MAX-FX引擎。MAX-FX是第一款支持輻射光渲染(Radiosity Lighting)技術的游戲引擎,可以根據(jù)物體的屬性準確計算出每個點的折射和反射率,光線傳播更符合真實情況,所營造的游戲效果也更自然。引擎的另一個特色則是子彈時間(Bulet Time),玩家可以在游戲中再現(xiàn)黑客帝國中躲避子彈的場景了。

《馬克思佩恩》系列的MAX-FX引擎
《超級房車賽:GRID》在去年大出風頭,影響甚至超過了《極品飛車12》,它所使用的正是EGO引擎。這款引擎是由CODEMASTERS和SCE使用SONY的PHYREENGINE跨平臺圖像引擎共同開發(fā)的,最早出現(xiàn)于于《科林邁克拉林:DIRT》中,現(xiàn)在使用的EGO是改良過的。EGO引擎主要使用在賽車類游戲中,除了《GRID》之外,《F1 2009》《科林邁克拉林:DIRT2》都使用EGO引擎,《閃電行動2》的加入則說明這款引擎在其他領域開疆辟土。

去年火熱的賽車游戲《GRID》使用的就是EGO引擎
《S.T.A.L.K.E.R:切爾諾貝利的陰影》使用的是X-Ray引擎。這款一再跳票的游戲開發(fā)了六年,而引擎開發(fā)周期更是長達八年,期間X-Ray的技術從先進到落后再到領先,最新版的X-ray引擎終于實現(xiàn)了DX10/SM4的shader渲染,最終的畫面效果也達到了一流水準。

潛行者的游戲畫面
前文對引擎的分類中已經(jīng)提到,游戲引擎的概念很廣,簡單來分也有通用的和專一性的,前面介紹的這些游戲引擎幾乎都是通用性,涵蓋了游戲設計中的3D圖像、音效處理、AI運算、碰撞檢測等等,而此處要說的則是一些功能單一但是專業(yè)高效的引擎,比如物理引擎、聲效引擎、植被引擎等。
物理引擎中首推Havok,其次則是NVIDIA力推的PhysX,前者是基于CPU運算的(現(xiàn)在也開始支持GPU運算),后者是基于GPU運算的,Havok資歷老、支持者眾,在PC、XBOX360、PS2/3等多平臺有著廣泛的應用,使用Havok物理引擎的游戲已有100多款。除了游戲領域外,Havok引擎還廣泛使用在電影特效中,《黑客帝國》、《哈利波特》、《特洛伊木馬》等多部電影中都使用了Havok引擎以營造真實的物理運動效果。

萬眾矚目的大菠蘿3就會支持Havok物理效果
PhysX物理加速最早由Ageia公司研發(fā),并以物理加速卡的方式加以推廣。后來Ageia公司被NVIDIA公司收購,PhysX技術被NVIDIA應用在自家的顯卡之上。憑借著GeForce顯卡的銷量和NVIDIA的影響力,PhysX也逐漸得到了各大游戲公司的支持,越來越多的游戲也開始支持PhysX物理加速引擎。

NVIDIA的PhysX物理加速技術也開始發(fā)力
SpeedTree作為一種單一的游戲引擎并不為人所熟知,但是正是這種專一性讓它在適宜的場合能夠做到全功能引擎做不到的事情。
SpeedTree是業(yè)內(nèi)最專門的植物渲染引擎,可以實現(xiàn)樹木、植被的建模、動態(tài)刮風、平滑細部和多樣燈光效果,可為游帶來逼真的樹木、草地等效果。

《虛幻3》中的SpeedTree引擎營造的參天大樹

《上古卷軸4》中的SpeedTree渲染出的草地效果
當然,SpeedTree也不只是應用在游戲領域,SpeedTree也是商業(yè)上常用的建模工具,更有美國國防部利用SpeedTree進行真實戰(zhàn)爭場景模擬來進行軍事訓練。
除了最初的圖形渲染功能之外,現(xiàn)在的游戲引擎已經(jīng)是一個包含3D建模、動畫設計、光影特效、AI運算、碰撞檢測、聲效處理等等多個子系統(tǒng)在內(nèi)的全功能引擎,,全功能、模塊化、按需訂購的設計使得這類游戲引擎成為市場上的主流,更能滿足游戲廠商的需求,而一些特殊而專業(yè)的引擎如物理引擎、植被引擎都集成在通用型游戲引擎里,如虛幻3引擎集成的PhysX和SpeedTree引擎,Source引擎集成的Havok物理引擎等。
游戲引擎已經(jīng)脫離了游戲開發(fā)副產(chǎn)物的角色走上前臺,隨著游戲技術的提高,游戲引擎的研發(fā)時間和成本也在直線上升,像90年代Id公司那樣一樣更新一代游戲引擎已經(jīng)不可能,如今一款開發(fā)一款優(yōu)秀的游戲引擎沒有三五年的功夫是下不來的,而且還要冒資金和技術上的風險,既要資金不斷流也要技術不落后,沒有一定的技術實力還真不敢攬這瓷器活。

幾年前的LithTech引擎就耗費了開發(fā)公司五年時間和700萬美元
不過,一旦開發(fā)成功,收益也是非常大的,就如虛幻引擎的開發(fā)商EPIC那樣,只靠虛幻3引擎的授權(quán),這家公司就可以活得很滋潤,這樣的先例也鼓舞著越來越多的公司仿效Id、EPIC瞄準引擎授權(quán)市場,這個領域中的競爭也日趨激烈,這在一定程度上可以促進引擎技術的發(fā)展,但是也希望游戲開發(fā)商不要忘記一點:一款游戲成功的關鍵不在于引擎的好壞,畫質(zhì)的高低,游戲本身好玩與否才是決定性的。馬里奧、俄羅斯方塊歷經(jīng)二十多年而不衰,有些高畫質(zhì)游戲可能兩三年就無人問津,也許這個比較并不恰當,但是其中的含義還是很明了,決定游戲生死的永遠是游戲本身是否好玩,這是最簡單的道理,恐怕也是最難把握的道理。

引擎不是決定游戲好壞的唯一