遊戲引擎、3D引擎、物理引擎以及其他引擎的由來

20多年前,大部分電腦遊戲都還是以文本為基礎的,少數則是以低分辨率的圖像及各種很聒噪的音效構成的.因此,在這一時期,為遊戲編寫代碼與著色可以說是一件非常簡單的工作,只需要將圖像填充到最初的位置上就行了.於是乎,用不了幾個程序員,便能在幾週,甚至幾天的時間內,在他們的車庫或是閣樓裡做出遊戲來.

但是隨著電腦技術的進步,玩家的胃口也越來越高.現在的遊戲已是非3D加速畫面不用,非數字式環繞音效不支持,為了使遊戲角色在充滿細節的三維世界中的移動更加真實,遊戲代碼的編寫成了一件需要耗費大量時間,耗費大量金錢的事情.可以說,這一進程(編寫代碼)的好壞,甚至在遊戲公司開始創作最終的內容之前,就已經決定了遊戲的最終品質

遊戲引擎

今天,很多遊戲公司都心裡明白,僅憑自身的財力,根本不足以平地起高樓——開發從頭到腳都完全嶄新的遊戲.於是他們決定從其它公司獲取那些在屏幕後面驅動遊戲運行的程序代碼,也就是俗稱的"遊戲引擎".

由Rogue Entertainment根據著名童話故事Alice in Wonderland(愛麗絲夢遊仙境)所改編的第三人稱射擊遊戲American McGee's Alice,是其中一個典型的代表.其設計師American McGee對此解釋說:"要想白手起家,創建一套功能強大的3D遊戲引擎,實在是超出我們力所能及範圍之內的不可完成之任務,因此我們唯一的選擇就是尋找一套市面上現存的,具備強大功能及適應性的引擎."

許多開發者都有著類似的處境,他們無力獨自開發一套全新的遊戲引擎,大部分是因為沒錢,沒時間,甚或只是因為他們沒有足夠的程序師,以完成這項日漸艱苦的工作——畢竟如今遊戲市場上可供選擇的遊戲引擎並不在少數,縱使你有幸得以開發出一套新的引擎,也不足以保證能從眾多同類者中脫穎而出!

對此,Legend Entertainment的Glen Dahlgren也是深有感觸,他評論說:"若僅僅只靠自己的技術力量開發遊戲引擎,你就要冒遠遠落後於技術潮流的巨大風險,因而很可能當你還在使用第一代引擎的時候,市面上第二代,第三代的引擎卻早已出現了,那麼你怎麼可能競爭得過他們呢?"

最常見的解決辦法便是去尋求某些公司為自己提供已有的引擎,當然這些引擎還要能夠根據自己的需要進行改良與延伸.


Unreal引擎


當前最主流的3D遊戲引擎之一便是Unreal的引擎,它是由Tim Sweeney及其開發小組Epic Games所提供的.該引擎不僅為Epic自己的遊戲,比如Unreal與Unreal Tournament提供了強勁的動力,它還被眾多其它開發者所選用.

Ion Storm奧斯汀部的Warren Spector便是其中之一,他的RPG大作Deus Ex(殺出重圍)正是採用的這部引擎.Spector在談到他之所以選擇這款引擎時說道:"當我們還處於前期製作階段時,便發現Unreal可以說是性價比最高的引擎."

"他為遊戲設計師們準備了極為強大的開發工具組件,並且似乎具有相當簡便的擴展性.當我們決定無論我們簽下哪一款引擎,我們都會加入許多新要素時(當然我們也不希望完全從頭開始),這款引擎注定必須擁有輕而易舉的修改性."

"最終,我們為其加入了一個交談系統,大量的二維界面畫面,新型的武器與物品,極度增強的AI,以及一個非常貼近真實效果的實時嘴型同步系統.當然,不管有多少新要素的加入,提供了一個穩定基礎的Unreal引擎是必不可少的前提."


Quake引擎


能與Unreal引擎比肩的主要競爭者毫無疑問是Quake 3.其擁有者id Software也許是這個世界上對引擎授權行當最不陌生的公司了.根據其前設計師John Romero的說法,id授權引擎的歷史最早可追溯到1991年的Commander Keen系列.

到90年代中期,以其大獲成功的共享遊戲軟件Wolfenstein 3D(德軍總部3D)為基礎,誕生了Apogee的Blake Stone與Raven的Shadow Caster.自那以後,他們不僅使用自己的引擎開發本部遊戲,還將其授權給其它一些公司.其中,Doom催生了Heretic與Hexen, Quake催生了Hexen II與Half-Life, Quake II引擎則被Kingpin,Heretic II(異教徒2), Soldier of Fortune(命運戰士) , Sin(原罪)以及Daikatana(大刀)等等一長串游戲所引用.

曾開發過Soldier of Fortune, Heretic II和Voyager:Elite Force的Jake Simpson(Raven)對於id的技術一點也不陌生,他形容他們的最新引擎(Quake III)"簡直是酷斃了!"

"Quake III中強大的功能節省了我們不少的時間,它實在是難以置信—尤其是其陰影系統就完全值得我們購買."

"當然,這部引擎也缺少我們過去所熟悉的某​​些要素,比如游戲存檔,以及Quake II中最基本的要素:單人遊戲模式.但是我們會花費一定資源對其進行擴展的,所以沒什麼問題."


並非完美


當然,使用任何現成的遊戲引擎都會遇到許多問題,Quake III自然也不例外.Jake對此評述說:"(Q III引擎)在描繪廣闊戶外場景上的不足,是我們不得不面對的一大難題.而Unreal Tournament與Tribes在這方面就做得很不錯.此外,Quake III引擎還存在一些並不容易被察覺的問題,直到你試圖嘗試一些特別設計的時候,這些問題才會顯現出來. "

"Carmack是一個十足的實用主義者.他只會使他的引擎能盡量滿足他自己的要求就行,而很少顧及別人的需求,這就使我們這些購買引擎的人不得不進行大量的鑽研與特性修改."

這種看法得到了3D Realms一位程序員的附應,他就是負責Duke Nukem Forever(永遠的毀滅公爵)開發的Scott Miller,雖然花大價錢購得了Quake II引擎,但經過一番努力後,他卻痛苦地發現:如果非要說Quake II適合某一款遊戲的開發的話,那麼這款遊戲就只有是Quake 2.

最後3D Realms不得不於1998年作出了一個令世人震驚的決定,放棄Quake II引擎而轉投Unreal引擎來重新開發DNF——哪怕他們的這部新作才在幾週前的E3展上給新聞界留下了深刻的印象,還是哪怕他們已經為Quake II引擎的使用權向id支付了不菲的代價.

也許,Quake II引擎的缺陷並非3D Realms作出如此決斷的最主要因素,但Scott Miller所給出的官方解釋就是如此:"理由很簡單,Quake引擎對於戶外場景的處理並非盡善盡美,而我們則必須要用到這一功效來製作​​DNF中的眾多關卡."

當然,也並不是每一位設計師都會被Quake引擎的缺陷所限制,主持開發<愛麗絲夢遊仙境>的前id老兵American McGee就是其中之一,他告訴我們說:"就Alice與Quake III引擎而言,我們還真的沒有發現它們有什麼重大設計缺陷."

"因此,我實在找不出我們選用Quake III引擎會有什麼錯,也許是因為我們對其研究得更加深入吧……!"


誘人的引擎授權


雖然引擎授權對id Software來說只是一個小小的副業,但正是這個副業卻為id帶來了不菲的利潤——每授權Quake III引擎開發一部遊戲,大概可收入50萬美元左右,這還不包括版稅!


如今,Quake III引擎已經為數部遊戲所採用,他們有:"American McGee's Alice"(愛麗絲夢遊仙境), "Heavy Metal:FAKK2"(重金屬2),"Return To Castle Wolfenstein"(重返德軍總部) ,"The World Is Not Enough"(末日危機)與"Voyager:Elite Force"(星際迷航記:精英力量).再考慮到id並沒有花費多少資源在推銷(或是支持)他們的引擎上面,那麼幾乎可以肯定:他們從引擎授權中獲得的利潤要比光靠販賣"Quake 3 Arena"所獲得的利潤還要多.

出於這樣的誘惑,Monolith也深信引擎授權是一項絕對有利可圖的生意,於是他們最近也成立了一個全新的公司,名稱就是以他們公司的代表引擎LithTech命名的,而這家公司的業務便是從事設計,開發,授權他們的LithTech引擎,並提供相應的技術支持.

LithTech引擎的買家還不少,他們之所以選擇它不光是因為它的強大性能,還因為Monolith完善的售後支持.對此,Third Law公司的David Namaksy(開發作品為KISS : Psycho Circus<變態馬戲團:噩夢男孩>)的話頗具代表性:"Monolith承諾將為購買者提供技術支持與不斷的升級服務,並一直持續到我們的遊戲發售後,這一點對於我們將決定購買哪款引擎是非常重要的.而Monolith的承諾就像是我們擁有一個自己的引擎專門小組一樣."

持這一觀點的還有大名鼎鼎的John Romero,他新成立的公司同時購買了Quake與Unreal引擎的授權,這便使他對這兩大引擎的售後支持力度有了一個直觀的比較,他首先指出"這主要還是得依靠引擎提供商".

"如果從id購買引擎,基本上得不到任何支持與幫助,也沒有任何相關資料.這並不是件好事.但如果你從Monolith,或是從Epic購買引擎,他們則會給予你相當相當大的支持."


問題


購買授權引擎還會引發其它一些問題.Raven就遭遇了受制於引擎更新進度的麻煩,本來其Voyager : Elite Force的開發工作早在Quake 3 Arena 上市前就已展開,但id這部作品的開發進程一拖再拖,給Raven造成了極大的不便.

"試圖去擊打一個移動目標一直都很非常困難,"Jake Simpson訴苦到."我們很久之前就已期盼著這部引擎能夠快點完成,不然這顯然會對我們自己的上市日程造成極大衝擊——尤其是在我們與id還有著特別協議的情況下,即我們作品的發售日期不能與id的QuakeIII挨得太近."

"我們遊戲的開發進度只能與Quake III引擎的開發進度大致相當,因此當我們有時獲得了更新源代碼後,只能將其中變化的部分進行簡單的剪切粘貼,而沒有時間進行深入細緻的改良."

不過,就算開發者能夠擁有一套現存的完善引擎,其大部分功效最後也不得不被扔棄——如果你不僅僅只是希望製作一部看得過眼的資料片的話.

對此,Scott Miller評述到:"理論上說,購買了現有引擎使用權的開發商確實能夠節約大把的開發時間."

"但事實上,如果他們真心希望開發一部3A級別的遊戲,他們就需要對所獲得的引擎進行根本上的升級與改進.Half-Life就是一個典型的例子,Duke Nukem Forever也是一樣.到最後,引擎大部分地方其實都是我們自己的成果."

"當然基本上,所有的Unreal Tournament基礎核心代碼還是會得以保留,"Scott進一步解釋到."我們自己新開發的代碼則主要用於增添引擎的其它特效."

或者用John Romero最近在達拉斯Razer-CPL大賽上所說的那樣:"有時我想,要是能只購買引擎的核心部分就好了,那樣我就能隨心所欲增加任何自己想要的東西."


自創


既然你打算將引擎的大部分代碼進行重寫,有人也許會想:"那何不干脆從頭乾起更好?"

英國開發商Rebellion的創始人之一Jason Kingsley便是持有這種想法的開發人之一,而它的兩部作品:Aliens vs Predator(異形vs掠奪者)及組隊型動作冒險遊戲Gunlok(鋼鐵戰場),也正是用自家的引擎開發的.

Jason告訴我們說:"用我們自己的引擎,使我們能夠自由盡情的發揮,這樣就不必妥協於他購的引擎——或準確的說是二手引擎."

Rebel Act工作室的Xavier Carrillo也同意Jason(作品Blade<黑暗之刃>)的看法,他告訴我們說從頭創建屬於自己的遊戲引擎比外購引擎"更具有靈活性",它將使你自己對整個遊戲的開發"擁有完全的掌控權,並能依據自己的開發需求對引擎進行設計規範."

Starbreeze公司一位正在忙於在線第一人稱射擊遊戲Enclave(困土)開發的關卡設計師:Jens Matthies也認為使用自己開發的引擎使開發者們有了"對遊戲設計過程中的所有方面全面施以影響的權力"

他還說:"如果我想到了一個新點子,我便會把它告訴Magnus[Starbreeze的主程序員],如果他贊成的話,他就會將其加入遊戲中.這對我這樣的關卡設計者來說實在太有利了,因為這種做法有可能使一切都能變得盡善盡美.這實在是太令人高興了."


自創的弊端


很顯然,開發全新引擎也有很大的弊端.Xavier就告訴我們從頭設計獨立引擎:"無疑需要更多的程序員,而所有其它部門的工作進程都得要視引擎的進化程度而定."

而Jens也直言不諱地認為這確實是一個大問題.他解釋到用一個尚在開發中的引擎製作遊戲,意味著"永遠都會存在著你很想加入,但事實上卻無法加入的特效," ,甚至"要到很晚才能進行關卡設計."

雖說若真的有必要從頭設計一部引擎,開發者還可以根據遊戲的需要對其進行量身定制的話.那麼如果遊戲引擎的設計實在變動得太過頻繁,那將意味著大量的早期工作將被浪擲、返工、或至少是在工程後期需要重新編譯.

這篇文章應該有 8 年左右的歷史了.

沒有留言:

張貼留言