必威电竞|足球世界杯竞猜平台

引擎
來(lái)源:互聯(lián)網(wǎng)

引擎(Engine),是開(kāi)發(fā)程序或系統(tǒng)的核心組件。應(yīng)用引擎指開(kāi)發(fā)者可迅速建立研發(fā)程序所需的功能,或利用其輔助程序的運(yùn)轉(zhuǎn)。一般而言,引擎是一個(gè)程序或一套系統(tǒng)的支持部分。

常見(jiàn)的程序引有游戲引擎、搜索引擎、殺毒引擎等。其中游戲引擎是指一些已編寫好的可編用輯計(jì)算機(jī)游戲系統(tǒng),或者一些互交式實(shí)時(shí)圖像應(yīng)用程序的核心組件,供開(kāi)發(fā)人員高效、便捷地設(shè)計(jì)和編寫游戲程序需要實(shí)現(xiàn)的功能。而搜索引擎是一種網(wǎng)上信息檢索工具。不同的引擎功能不同,有所差別。

定義

把游戲的引擎比作賽車的引擎。引擎是賽車的心臟,決定著賽車的性能和穩(wěn)定性,賽車的速度、操縱桿這些直接與車手相關(guān)的指標(biāo)都是建立在引擎的基礎(chǔ)上的。游戲也是如此,玩家所體驗(yàn)到的劇情、關(guān)卡、美工、音樂(lè)、操作等內(nèi)容都是由游戲的引擎直接控制的,它扮演著中場(chǎng)發(fā)動(dòng)機(jī)的角色,把游戲中的所有元素捆綁在一起,在后臺(tái)指揮它們同時(shí)、有序地工作。簡(jiǎn)單地說(shuō),引擎就是“用于控制所有游戲功能的主程序,從計(jì)算碰撞、物理系統(tǒng)和物體的相對(duì)位置,到接受玩家的輸入,以及按照正確的音量輸出聲音等等。”

可見(jiàn),引擎并不是什么玄乎的東西,無(wú)論是2D游戲還是3D游戲,無(wú)論是角色扮演游戲、即時(shí)策略游戲、冒險(xiǎn)益智游戲或是動(dòng)作射擊游戲,哪怕是一個(gè)只有1兆的小游戲,都有這樣一段起控制作用的代碼。經(jīng)過(guò)不斷的進(jìn)化,如今的游戲引擎已經(jīng)發(fā)展為一套由多個(gè)子系統(tǒng)共同構(gòu)成的復(fù)雜系統(tǒng),從建模、動(dòng)畫到光影、粒子特效,從物理系統(tǒng)、碰撞檢測(cè)到文件管理、網(wǎng)絡(luò)特性,還有專業(yè)的編輯工具和插件,幾乎涵蓋了開(kāi)發(fā)過(guò)程中的所有重要環(huán)節(jié),以下就對(duì)引擎的一些關(guān)鍵部件作一個(gè)簡(jiǎn)單的介紹。

首先是光影效果,即場(chǎng)景中的光源對(duì)處于其中的人和物的影響方式。游戲的光影效果完全是由引擎控制的,折射、反射等基本的光學(xué)原理以及動(dòng)態(tài)光源、彩色光源等高級(jí)效果都是通過(guò)引擎的不同編程技術(shù)實(shí)現(xiàn)的。

其次是動(dòng)畫,游戲所采用的動(dòng)畫系統(tǒng)可以分為兩種:一是骨骼動(dòng)畫系統(tǒng),一是模型動(dòng)畫系統(tǒng),前者用內(nèi)置的骨骼帶動(dòng)物體產(chǎn)生運(yùn)動(dòng),比較常見(jiàn),后者則是在模型的基礎(chǔ)上直接進(jìn)行變形。引擎把這兩種動(dòng)畫系統(tǒng)預(yù)先植入游戲,方便動(dòng)畫師為角色設(shè)計(jì)豐富的動(dòng)作造型。

引擎的另一重要功能是提供物理系統(tǒng),這可以使物體的運(yùn)動(dòng)遵循固定的規(guī)律,例如,當(dāng)角色跳起的時(shí)候,系統(tǒng)內(nèi)定的重力值將決定他能跳多高,以及他下落的速度有多快,子彈的飛行軌跡、車輛的顛簸方式也都是由物理系統(tǒng)決定的。

碰撞探測(cè)是物理系統(tǒng)的核心部分,它可以探測(cè)游戲中各物體的物理邊緣。當(dāng)兩個(gè)3D物體撞在一起的時(shí)候,這種技術(shù)可以防止它們相互穿過(guò),這就確保了當(dāng)你撞在墻上的時(shí)候,不會(huì)穿墻而過(guò),也不會(huì)把墻撞倒,因?yàn)榕鲎蔡綔y(cè)會(huì)根據(jù)你和墻之間的特性確定兩者的位置和相互的作用關(guān)系。

渲染是引擎最重要的功能之一,當(dāng)3D模型制作完畢之后,美工會(huì)按照不同的面把材質(zhì)貼圖賦予模型,這相當(dāng)于為骨骼蒙上皮膚,最后再通過(guò)渲染引擎把模型、動(dòng)畫、光影、特效等所有效果實(shí)時(shí)計(jì)算出來(lái)并展示在屏幕上。渲染引擎在引擎的所有部件當(dāng)中是最復(fù)雜的,它的強(qiáng)大與否直接決定著最終的輸出質(zhì)量。

引擎還有一個(gè)重要的職責(zé)就是負(fù)責(zé)玩家與電腦之間的溝通,處理來(lái)自鍵盤、鼠標(biāo)、搖桿和其它外設(shè)的信號(hào)。如果游戲支持聯(lián)網(wǎng)特性的話,網(wǎng)絡(luò)代碼也會(huì)被集成在引擎中,用于管理客戶端與服務(wù)器之間的通信。

通過(guò)上面這些枯燥的介紹我們至少可以了解到一點(diǎn):引擎相當(dāng)于游戲的框架,框架打好后,關(guān)卡設(shè)計(jì)師、建模師、動(dòng)畫師只要往里填充內(nèi)容就可以了。因此,在3D游戲的開(kāi)發(fā)過(guò)程中,引擎的制作往往會(huì)占用非常多的時(shí)間,《馬科斯·佩恩》的MAX-FX引擎從最初的雛形FinalReality到最終的成品共花了四年多時(shí)間,LithTech引擎的開(kāi)發(fā)共花了整整五年時(shí)間,耗資700萬(wàn)美元,Monolith Productions公司(LithTech引擎的開(kāi)發(fā)者)的老板詹森·霍爾甚至不無(wú)懊悔地說(shuō):“如果當(dāng)初意識(shí)到制作自己的引擎要付出這么大的代價(jià)的話,我們根本就不可能去做這種傻事。沒(méi)有人會(huì)預(yù)料得到五年后的市場(chǎng)究竟是怎樣的。”

正是出于節(jié)約成本、縮短周期和降低風(fēng)險(xiǎn)這三方面的考慮,越來(lái)越多的開(kāi)發(fā)者傾向于使用第三方的現(xiàn)成引擎制作自己的游戲,一個(gè)龐大的引擎授權(quán)市場(chǎng)已經(jīng)形成。

歷史

(1992年~1993年)1992年,3D REALMS公司/Apogee公司發(fā)布了一款只有2兆多的小游戲——《德軍司令部》(Wolfenstein3D),稍有資歷的玩家可能都還記得初接觸它時(shí)的興奮心情,用“革命”這一極富煽動(dòng)色彩的詞語(yǔ)也無(wú)法形容出它在整個(gè)電腦游戲發(fā)展史上占據(jù)的重要地位。這部游戲開(kāi)創(chuàng)了第一人稱射擊游戲的先河,更重要的是,它在X軸和Y軸的基礎(chǔ)上增加了一根Z軸,在由寬度和高度構(gòu)成的平面上增加了一個(gè)向前向后的縱深空間,這根Z軸對(duì)那些看慣了2D游戲的玩家造成的巨大沖擊可想而知。

Wolfenstein3D引擎的作者是大名鼎鼎的約翰·卡馬克,這位Id Software公司的首席程序師正是憑借這款Wolfenstein3D引擎在游戲圈里站穩(wěn)了腳跟。事實(shí)上,《德軍司令部》并非第一款采用第一人稱視角的游戲,在它發(fā)售前的幾個(gè)月,Origin公司就已經(jīng)推出了一款第一人稱視角的角色扮演游戲——《創(chuàng)世紀(jì):地下世界》(UltimaUnderworld),這款角游戲采用了類似的技術(shù),但它與Wolfenstein3D引擎之間有著相當(dāng)大的差別,舉例來(lái)說(shuō),《地下世界》的引擎支持斜坡,地板和天花板可以有不同的高度,分出不同的層次,玩家可以在游戲中跳躍,可以抬頭低頭,這些特性Wolfenstein3D引擎都無(wú)法做到,而且從畫面上看,《德軍司令部》更接近漫畫風(fēng)格而不是傳統(tǒng)的像素畫面。

盡管從技術(shù)細(xì)節(jié)上看,Wolfenstein3D引擎比不上《創(chuàng)世紀(jì):地下世界》的引擎,但它卻更好地利用了第一人稱視角的特點(diǎn),快速火爆的游戲節(jié)奏使人們一下子記住了“第一人稱射擊游戲”這個(gè)單詞,而不是“第一人稱角色扮演游戲”。《德軍司令部》后來(lái)還發(fā)布過(guò)一款名義上的續(xù)集——《三元的崛起》(RiseoftheTriad),這款游戲在Wolfenstein3D引擎的基礎(chǔ)上增加了許多重要特性,包括跳躍和抬頭低頭等動(dòng)作。

引擎誕生初期的另一部重要游戲同樣是出自Id Software公司的一款非常成功的第一人稱射擊游戲——《毀滅戰(zhàn)士》(Doom)。Doom引擎在技術(shù)上大大超越了Wolfenstein3D引擎,《德軍司令部》中的所有物體大小都是固定的,所有路徑之間的角度都是直角,也就是說(shuō)你只能筆直地前進(jìn)或后退,這些局限在《毀滅戰(zhàn)士》中都得到了突破。盡管游戲的關(guān)卡還是維持在2D平面上進(jìn)行制作,沒(méi)有“樓上樓”的概念,但墻壁的厚度可以為任意,并且路徑之間的角度也可以為任意,這使得樓梯、升降平臺(tái)、塔樓和戶外等各種場(chǎng)景成為可能。

由于Doom引擎本質(zhì)上依然是二維的,因此可以做到同時(shí)在屏幕上顯示大量角色而不影響游戲的運(yùn)行速度,這一特點(diǎn)為游戲創(chuàng)造出了一種瘋狂刺激的動(dòng)作風(fēng)格,在這方面迄今為止大約只有《英雄薩姆》(英雄薩姆:第一次遭遇)系列能與之相比,除此之外還沒(méi)有哪款3D引擎能在大批敵人向你涌來(lái)的時(shí)候依然保持游戲的流暢,這也是為什么如今市面上的大部分第一人稱射擊游戲都在積極地培養(yǎng)玩家的戰(zhàn)術(shù)運(yùn)用能力、提高玩家的射擊準(zhǔn)確率而拒絕濫砍濫殺的主要原因之一。值得一提的是,盡管Doom引擎缺乏足夠的細(xì)節(jié)度,但開(kāi)發(fā)者仍然在《毀滅戰(zhàn)士》中表現(xiàn)出了驚人的環(huán)境效果,其純熟的設(shè)計(jì)技巧實(shí)在令人贊嘆。

不過(guò)更值得紀(jì)念的是,Doom引擎是第一個(gè)被用于授權(quán)的引擎。1993年底,Raven公司采用改進(jìn)后的Doom引擎開(kāi)發(fā)了一款名為《投影者》(ShadowCaster)的游戲,這是游戲史上第一例成功的嫁接手術(shù)。1994年Raven公司采用Doom引擎開(kāi)發(fā)《異教徒》(Heretic),為引擎增加了飛行的特性,成為跳躍動(dòng)作的前身。1995年Raven公司采用Doom引擎開(kāi)發(fā)《毀滅巫師》(Hexen),加入了新的音效技術(shù)、腳本技術(shù)以及一種類似集線器的關(guān)卡設(shè)計(jì),使你可以在不同關(guān)卡之間自由移動(dòng)。Raven公司與Id Software公司之間的一系列合作充分說(shuō)明了引擎的授權(quán)無(wú)論對(duì)于使用者還是開(kāi)發(fā)者來(lái)說(shuō)都是大有裨益的,只有把自己的引擎交給更多的人去使用才能使引擎不斷地成熟起來(lái)。

毀滅戰(zhàn)士》系列本身就相當(dāng)成功,大約賣了350萬(wàn)套,而授權(quán)費(fèi)又為idSoftware公司帶來(lái)了一筆可觀的收入。在此之前引擎只是作為一種自產(chǎn)自銷的開(kāi)發(fā)工具,從來(lái)沒(méi)有哪家游戲商考慮過(guò)依靠引擎賺錢,Doom引擎的成功無(wú)疑為人們打開(kāi)了一片新的市場(chǎng)。

參考資料 >

生活家百科家居網(wǎng)