定義
把遊戲的引擎比作賽車的引擎。引擎是賽車的心臟,決定著賽車的性能和穩定性,賽車的速度、操縱桿這些直接與車手相關的指標都是建立在引擎的基礎上的。遊戲也是如此,玩家所體驗到的劇情、關卡、美工、音樂、操作等內容都是由遊戲的引擎直接控制的,它扮演著中場發動機的角色,把遊戲中的所有元素捆綁在一起,在後台指揮它們同時、有序地工作。簡單地說,引擎就是“用於控制所有遊戲功能的主程式,從計算碰撞、物理系統和物體的相對位置,到接受玩家的輸入,以及按照正確的音量輸出聲音等等。”
可見,引擎並不是什麼玄乎的東西,無論是2D遊戲還是3D遊戲,無論是角色扮演遊戲、即時策略遊戲、冒險解謎遊戲或是動作射擊遊戲,哪怕是一個只有1兆的小遊戲,都有這樣一段起控制作用的代碼。經過不斷的進化,如今的遊戲引擎已經發展為一套由多個子系統共同構成的複雜系統,從建模、動畫到光影、粒子特效,從物理系統、碰撞檢測到檔案管理、網路特性,還有專業的編輯工具和外掛程式,幾乎涵蓋了開發過程中的所有重要環節,以下就對引擎的一些關鍵部件作一個簡單的介紹。
首先是光影效果,即場景中的光源對處於其中的人和物的影響方式。遊戲的光影效果完全是由引擎控制的,折射、反射等基本的光學原理以及動態光源、彩色光源等高級效果都是通過引擎的不同編程技術實現的。
其次是動畫,遊戲所採用的動畫系統可以分為兩種:一是骨骼動畫系統,一是模型動畫系統,前者用內置的骨骼帶動物體產生運動,比較常見,後者則是在模型的基礎上直接進行變形。引擎把這兩種動畫系統預先植入遊戲,方便動畫師為角色設計豐富的動作造型。
引擎的另一重要功能是提供物理系統,這可以使物體的運動遵循固定的規律,例如,當角色跳起的時候,系統內定的重力值將決定他能跳多高,以及他下落的速度有多快,子彈的飛行軌跡、車輛的顛簸方式也都是由物理系統決定的。
碰撞探測是物理系統的核心部分,它可以探測遊戲中各物體的物理邊緣。當兩個3D物體撞在一起的時候,這種技術可以防止它們相互穿過,這就確保了當你撞在牆上的時候,不會穿牆而過,也不會把牆撞倒,因為碰撞探測會根據你和牆之間的特性確定兩者的位置和相互的作用關係。
渲染是引擎最重要的功能之一,當3D模型製作完畢之後,美工會按照不同的面把材質貼圖賦予模型,這相當於為骨骼蒙上皮膚,最後再通過渲染引擎把模型、動畫、光影、特效等所有效果實時計算出來並展示在螢幕上。渲染引擎在引擎的所有部件當中是最複雜的,它的強大與否直接決定著最終的輸出質量。
引擎還有一個重要的職責就是負責玩家與電腦之間的溝通,處理來自鍵盤、滑鼠、搖桿和其它外設的信號。如果遊戲支持聯網特性的話,網路代碼也會被集成在引擎中,用於管理客戶端與伺服器之間的通信。
通過上面這些枯燥的介紹我們至少可以了解到一點:引擎相當於遊戲的框架,框架打好後,關卡設計師、建模師、動畫師只要往裡填充內容就可以了。因此,在3D遊戲的開發過程中,引擎的製作往往會占用非常多的時間,《馬科斯·佩恩》的MAX-FX引擎從最初的雛形Final Reality到最終的成品共花了四年多時間,LithTech引擎的開發共花了整整五年時間,耗資700萬美元,Monolith公司(LithTech引擎的開發者)的老闆詹森·霍爾甚至不無懊悔地說:“如果當初意識到製作自己的引擎要付出這么大的代價的話,我們根本就不可能去做這種傻事。沒有人會預料得到五年後的市場究竟是怎樣的。”
正是出於節約成本、縮短周期和降低風險這三方面的考慮,越來越多的開發者傾向於使用第三方的現成引擎製作自己的遊戲,一個龐大的引擎授權市場已經形成。
歷史
(1992年~1993年)1992年,3D Realms公司/Apogee公司發布了一款只有2兆多的小遊戲——《德軍司令部》(Wolfenstein 3D),稍有資歷的玩家可能都還記得初接觸它時的興奮心情,用“革命”這一極富煽動色彩的詞語也無法形容出它在整個電腦遊戲發展史上占據的重要地位。這部遊戲開創了第一人稱射擊遊戲的先河,更重要的是,它在X軸和Y軸的基礎上增加了一根Z軸,在由寬度和高度構成的平面上增加了一個向前向後的縱深空間,這根Z軸對那些看慣了2D遊戲的玩家造成的巨大衝擊可想而知。
Wolfenstein 3D引擎的作者是大名鼎鼎的約翰·卡馬克,這位id Software公司的首席程式師正是憑藉這款Wolfenstein 3D引擎在遊戲圈裡站穩了腳跟。事實上,《德軍司令部》並非第一款採用第一人稱視角的遊戲,在它發售前的幾個月,Origin公司就已經推出了一款第一人稱視角的角色扮演遊戲——《創世紀:地下世界》(Ultima Underworld),這款角遊戲採用了類似的技術,但它與Wolfenstein 3D引擎之間有著相當大的差別,舉例來說,《地下世界》的引擎支持斜坡,地板和天花板可以有不同的高度,分出不同的層次,玩家可以在遊戲中跳躍,可以抬頭低頭,這些特性Wolfenstein 3D引擎都無法做到,而且從畫面上看,《德軍司令部》更接近漫畫風格而不是傳統的像素畫面。
儘管從技術細節上看,Wolfenstein 3D引擎比不上《創世紀:地下世界》的引擎,但它卻更好地利用了第一人稱視角的特點,快速火爆的遊戲節奏使人們一下子記住了“第一人稱射擊遊戲”這個單詞,而不是“第一人稱角色扮演遊戲”。《德軍司令部》後來還發布過一款名義上的續集——《三元的崛起》(Rise of the Triad),這款遊戲在Wolfenstein 3D引擎的基礎上增加了許多重要特性,包括跳躍和抬頭低頭等動作。
引擎誕生初期的另一部重要遊戲同樣是出自id Software公司的一款非常成功的第一人稱射擊遊戲——《毀滅戰士》(Doom)。Doom引擎在技術上大大超越了Wolfenstein 3D引擎,《德軍司令部》中的所有物體大小都是固定的,所有路徑之間的角度都是直角,也就是說你只能筆直地前進或後退,這些局限在《毀滅戰士》中都得到了突破。儘管遊戲的關卡還是維持在2D平面上進行製作,沒有“樓上樓”的概念,但牆壁的厚度可以為任意,並且路徑之間的角度也可以為任意,這使得樓梯、升降平台、塔樓和戶外等各種場景成為可能。
由於Doom引擎本質上依然是二維的,因此可以做到同時在螢幕上顯示大量角色而不影響遊戲的運行速度,這一特點為遊戲創造出了一種瘋狂刺激的動作風格,在這方面迄今為止大約只有《英雄薩姆》(Serious Sam)系列能與之相比,除此之外還沒有哪款3D引擎能在大批敵人向你湧來的時候依然保持遊戲的流暢,這也是為什麼如今市面上的大部分第一人稱射擊遊戲都在積極地培養玩家的戰術運用能力、提高玩家的射擊準確率而拒絕濫砍濫殺的主要原因之一。值得一提的是,儘管Doom引擎缺乏足夠的細節度,但開發者仍然在《毀滅戰士》中表現出了驚人的環境效果,其純熟的設計技巧實在令人讚嘆。
不過更值得紀念的是,Doom引擎是第一個被用於授權的引擎。1993年底,Raven公司採用改進後的Doom引擎開發了一款名為《投影者》(ShadowCaster)的遊戲,這是遊戲史上第一例成功的嫁接手術。1994年Raven公司採用Doom引擎開發《異教徒》(Heretic),為引擎增加了飛行的特性,成為跳躍動作的前身。1995年Raven公司採用Doom引擎開發《毀滅巫師》(Hexen),加入了新的音效技術、腳本技術以及一種類似集線器的關卡設計,使你可以在不同關卡之間自由移動。Raven公司與id Software公司之間的一系列合作充分說明了引擎的授權無論對於使用者還是開發者來說都是大有裨益的,只有把自己的引擎交給更多的人去使用才能使引擎不斷地成熟起來。
《毀滅戰士》系列本身就相當成功,大約賣了350萬套,而授權費又為id Software公司帶來了一筆可觀的收入。在此之前引擎只是作為一種自產自銷的開發工具,從來沒有哪家遊戲商考慮過依靠引擎賺錢,Doom引擎的成功無疑為人們打開了一片新的市場。