游戲引擎
概況
游戲引擎提供一系列可視化開發(fā)工具和可重用組件。這些工具通過與開發(fā)環(huán)境進(jìn)行集成,方便開發(fā)者簡單、快速進(jìn)行數(shù)據(jù)驅(qū)動方式的游戲開發(fā)。為了提高游戲開發(fā)人員的開發(fā)效率,引擎開發(fā)者會開發(fā)出大量的游戲所需要的軟件組件。大多數(shù)引擎集成了圖形、聲音、物理和人工智能等功能部件。游戲引擎會被稱為“中間件”,因?yàn)樗鼈兛梢蕴峁╈`活和重用平臺,向游戲開發(fā)者提供所需要的全部核心功能,從而節(jié)省大量的游戲開發(fā)費(fèi)用,降低開發(fā)的復(fù)雜性,縮短游戲的上市時間,所有這些對于高競爭性的游戲產(chǎn)業(yè)來說都是關(guān)鍵因素。諸如虛幻系列引擎、Frostbite Engine、zerodin引擎、Doom3引擎、CryENGINE、3DGame Studio、RenderWare、Gamebryo、Virtools以及Source引擎等引擎。
與其它中間件解決方案一樣,游戲引擎通常提供平臺抽象層,實(shí)現(xiàn)同一款游戲可以在各種平臺上運(yùn)行,包括游戲機(jī)和個人電腦,而只需要改動少量的源代碼。一般來說,游戲引擎均設(shè)計成基于組件的架構(gòu),方便進(jìn)行特定子系統(tǒng)的替換或者添加新的引擎中間件(通常成本較高)從而實(shí)現(xiàn)功能的擴(kuò)展。比如Havok物理引擎、Miles Sound System聲音引擎和Bink圖形引擎等。一些游戲引擎如RenderWare引擎由一些松耦合的游戲早間件組成,可以根據(jù)需要定制出游戲引擎。通過組件技術(shù),可以實(shí)現(xiàn)游戲引擎的擴(kuò)展性,而擴(kuò)展性通常是游戲引擎優(yōu)先考慮的特性。游戲引擎經(jīng)常會應(yīng)用于交互應(yīng)用的實(shí)時圖像顯示,比如營銷演示、建筑可視化、訓(xùn)練模擬、環(huán)境建模。
引擎作為一個中間層,他能夠?qū)⑼粋€游戲表現(xiàn)在不同的游戲平臺之上,諸如:個人電腦、PlayStation、PlayStation 2、PlayStation 3、Xbox、Xbox 360、Wii和任天堂游戲機(jī)。一些游戲引擎通常被設(shè)計為部分組件可以替換或增加新組件,從而增強(qiáng)引擎的表現(xiàn)能力。當(dāng)然這樣的引擎也會更昂貴??捎糜谠黾庸δ艿慕M件有用于物理計算的Havok,處理聲音的FMOD,加快渲染速度的SpeedTree等。一些引擎直接設(shè)計為組件分離,用戶根據(jù)需要自己組裝引擎組件比如RenderWare引擎。但這樣的設(shè)計給引擎的開發(fā)帶來了更高的難度,因?yàn)樵O(shè)計者要更多考慮各組件之間的協(xié)調(diào)問題。
一些游戲引擎只包含實(shí)時三維渲染能力,不提供其它游戲開發(fā)功能。這些引擎需要游戲開發(fā)者自行開發(fā)所需功能,或者集成其他現(xiàn)有的游戲組件。這此引擎通常被稱做“圖像引擎”、“渲染引擎”或者“三維引擎”,而非“游戲引擎”。這個術(shù)語的定義已經(jīng)有些模糊,因?yàn)楹芏嗵卣髅黠@的三維游戲引擎被簡稱為“三維引擎”。一些圖像引擎如:Genesis3D、Irrlicht、OGRE、RealmForge、Truevision3D和Vision引擎?,F(xiàn)代游戲或圖像引擎通常提供場景圖形結(jié)構(gòu),該結(jié)構(gòu)采用面向?qū)ο蟮姆绞奖硎救S游戲世界,方便進(jìn)行游戲設(shè)計和高效渲染虛擬世界。
硬件概念
3D引擎的渲染系統(tǒng)通常建立在一套高級圖像API之上,諸如Direct3D或OpenGL,這些API封裝了GPU和顯卡的部分功能。級別低一點(diǎn)的如DirectX、SDL和OpenAL也經(jīng)常使用,他們提供對其他硬件設(shè)備的獨(dú)立支持,諸如輸入設(shè)備(鼠標(biāo)、鍵盤、控制桿)、網(wǎng)卡、聲卡。在硬件加速圖形卡出現(xiàn)以前,開發(fā)者使用軟件渲染?,F(xiàn)在軟件渲染依然被廣泛用于非及時圖像的渲染,或者是用戶的硬件設(shè)備不支持硬件渲染。
中間層
一些引擎開發(fā)者以開發(fā)整個游戲引擎而著稱,他們試圖開發(fā)一個具有所有游戲元素的引擎,包括圖像、聲音、物理、人工智能。比如Gamebryo和RenderWare就是這樣的引擎。此外近年出現(xiàn)的zerodin引擎比較受人矚目,因其引擎專門為開發(fā)MMORPG而設(shè)計,且節(jié)約將近60%開發(fā)成本和時間。
也有一些開發(fā)者只專注于開發(fā)引擎的某一部分,但他們?nèi)〉玫某删屯热δ芤孢€高。SpeedTree就是一個很好的例子,他適用于大規(guī)模植被的渲染,被使用在Playstation 3、Xbox 360,微軟開發(fā)的一些RPG,以及上古卷軸4:遺忘。
一些引擎提供完整的源代碼,其他的只提供一個經(jīng)過封裝的API接口,使用者用過調(diào)用DLL文件來使用這個引擎。還有一些引擎將引擎二進(jìn)制包和源代碼劃分開來,前者被免費(fèi)授權(quán)使用,而后者則需要高額的費(fèi)用來購買使用授權(quán)。
MMOG中間層
MMORPG的中間層比單機(jī)版游戲的中間層更為復(fù)雜,但網(wǎng)絡(luò)游戲的發(fā)展促進(jìn)了這類引擎的開發(fā)。一些比較知名的引擎有:
開發(fā)者
游戲引擎開發(fā)是一個比較熱門的職業(yè),他強(qiáng)調(diào)學(xué)科間的相互合作,諸如幾何學(xué)、色彩理論、電腦程序等,主要集中在視覺科學(xué)領(lǐng)域。一些公司甚至以開發(fā)引擎為樂趣和技術(shù)追求,而不是用來賣錢。比如Crystal Space就是一個比較知名的免費(fèi)開放源代碼多平臺游戲引擎。
參看
游戲引擎列表
游戲開發(fā)者
免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。
- 有價值
- 一般般
- 沒價值
{{item.userName}} 舉報
{{item.time}} {{item.replyListShow ? '收起' : '展開'}}評論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}
{{_reply.userName}} 舉報
{{_reply.time}}