劉為
摘 要:隨著游戲產(chǎn)業(yè)的不斷壯大,游戲開發(fā)引擎及工具開始變得免費(fèi)和易用。文章介紹并分析了當(dāng)下在中國應(yīng)用最為廣泛的幾款商用游戲開發(fā)引擎和工具,對(duì)各個(gè)引擎特性進(jìn)行了闡述,并從多個(gè)方面對(duì)這幾款引擎進(jìn)行了對(duì)比,為開發(fā)者選用合適引擎提供了參考。
關(guān)鍵詞:游戲引擎;虛幻;unity;cocos2d;LayaAir;Egret
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-8937(2016)30-0064-03
1 概 述
中國的游戲市場(chǎng)在近五年得到了飛速發(fā)展,除了一直保持穩(wěn)定增長的傳統(tǒng)電腦游戲市場(chǎng)外,被解禁的電子游戲機(jī),電子競(jìng)技,網(wǎng)絡(luò)游戲和移動(dòng)游戲市場(chǎng)均出現(xiàn)大幅提升,成為推進(jìn)我國經(jīng)濟(jì)增長的助力之一。
據(jù)相關(guān)報(bào)告顯示,截止2016年上半年,中國游戲市場(chǎng)實(shí)際銷售收入達(dá)到787.5億元人民幣,同比增長30.1%。其中,移動(dòng)游戲依然保持了高速增長,達(dá)到374.8億元人民幣,同比增長79.1%。相應(yīng)的,2016年前6個(gè)月我國游戲用戶達(dá)到了4.89億人,同比增長6.7%。
隨著游戲產(chǎn)業(yè)的不斷擴(kuò)大,相應(yīng)的游戲開發(fā)公司和從業(yè)者數(shù)量不斷增加,市場(chǎng)競(jìng)爭(zhēng)也非常激烈,絕大多數(shù)游戲的生命周期都被大大壓縮,不斷推出新的游戲,更短的開發(fā)周期,更低的資金投入都是各個(gè)游戲公司關(guān)注的重點(diǎn)。
為了達(dá)到最大的開發(fā)效率,幾乎所有公司都會(huì)選擇游戲引擎進(jìn)行開發(fā);同時(shí)一些個(gè)人創(chuàng)業(yè)者也可以通過使用游戲引擎,快速的將自己的創(chuàng)意實(shí)現(xiàn)為產(chǎn)品。本文將對(duì)市場(chǎng)上主流的游戲引擎的特點(diǎn)進(jìn)行分析,并提出了不同引擎的適用環(huán)境。
2 游戲引擎解析
游戲引擎是指專業(yè)軟件廠商推出的游戲開發(fā)工具,這類型工具實(shí)現(xiàn)了游戲開中最底層的一些技術(shù),并將其打包成為函數(shù)庫,內(nèi)置于工具中。
這些底層的實(shí)現(xiàn)往往也是游戲開發(fā)中最難的一部分。例如圖形圖像效果的實(shí)現(xiàn),物理效果的實(shí)現(xiàn),動(dòng)畫的實(shí)現(xiàn)以及多硬件平臺(tái)的發(fā)布等。
游戲開發(fā)者獲得工具后,能夠借助工具提供的圖形化開發(fā)環(huán)境專注于游戲邏輯的實(shí)現(xiàn),對(duì)于游戲效果等部分,可以借助調(diào)用函數(shù)庫來實(shí)現(xiàn),大大減少了開發(fā)的復(fù)雜度;同時(shí)在后期發(fā)布時(shí),也無需擔(dān)心硬件平臺(tái)的不同,游戲引擎往往能實(shí)現(xiàn)多平臺(tái)發(fā)布。
2.1 虛幻引擎(Unreal engine)
虛幻引擎最初版本發(fā)布于1998年,是該領(lǐng)域歷史較悠久、知名度最高的商業(yè)游戲引擎,由美國公司Epic Games開發(fā)。該引擎發(fā)布以來,一直為高端游戲廠家所選用,無數(shù)3D游戲大作基于該平臺(tái),例如早期的《時(shí)空之輪》《細(xì)胞分裂》,以及后來的《戰(zhàn)爭(zhēng)機(jī)器》、《質(zhì)量效應(yīng)》等。
虛幻引擎的底層采用C++編寫完成,其圖形特性能夠支持最新版本的DirectX。
虛幻引擎很早就能夠支持PC和游戲機(jī)的上的開發(fā),該引擎第一代在1998年發(fā)布,之后在2002年發(fā)布了虛幻二,在2006年發(fā)布了第三代產(chǎn)品。虛幻引擎在2013年發(fā)布了第4個(gè)版本,并且?guī)砹撕芏嘧兓?/p>
首先,前三代虛幻引擎是一個(gè)純商業(yè)化產(chǎn)品,使用者必須付費(fèi)購買,并且價(jià)格不菲。而虛幻4則采用了一種完全免費(fèi)使用的產(chǎn)品發(fā)行方式,用戶只需在官網(wǎng)上注冊(cè),就可以下載該引擎進(jìn)行游戲開發(fā)。僅當(dāng)用戶將游戲商業(yè)化并創(chuàng)造收入時(shí),虛幻引擎才收取收入的5%作為引擎費(fèi)用。
其次,虛幻4能夠很好的支持多平臺(tái),除了傳統(tǒng)的Windows,MACOS以及Xbox和PlayStation外,新引擎還強(qiáng)化了對(duì)移動(dòng)設(shè)備的支持,涵蓋了IOS和安卓兩大移動(dòng)平臺(tái)以及HTML5的頁面平臺(tái)。
第三,虛幻4采用了新的代碼編輯語言和編輯方式,早期虛幻用的是unreal script語言,現(xiàn)在采用了更加常用的C++,并且增加了Blueprint可視化編輯環(huán)境。
第四,虛幻4增加了應(yīng)用商城,能夠讓普通用戶將自己開發(fā)的插件在商城中售賣,從而大幅提升該引擎的實(shí)際應(yīng)用能力。
虛幻引擎由于其早期的高價(jià)和高技術(shù)含量,針對(duì)的開發(fā)對(duì)象也是PC和游戲機(jī),使得該引擎的用戶往往是專業(yè)程序員。其優(yōu)勢(shì)依然在PC和游戲機(jī)領(lǐng)域,在移動(dòng)平臺(tái)方面還處在開拓階段。
2.2 Unity引擎
Unity引擎是近幾年使用非常廣泛的新游戲引擎。其特點(diǎn)首先是免費(fèi)使用,其次是學(xué)習(xí)門檻較低,同時(shí)具有龐大的用戶商城支持。
可以說,Unity的技術(shù)以及運(yùn)營模式更加適合當(dāng)前這個(gè)快銷費(fèi)和免費(fèi)使用的時(shí)代,很快就占據(jù)了大量用戶,也倒逼虛幻引擎放棄了以前的收費(fèi)策略,走上了和Unity一樣開放的道路。
Unity最早發(fā)布于2005年,適用于MAC平臺(tái),早期其名為Unity 3D,主要是為實(shí)現(xiàn)基于Web的3D和虛擬現(xiàn)實(shí)(VR)項(xiàng)目而開發(fā)。
直到2008年,Unity支持Windows平臺(tái)后,其知名度才大幅提高。之后隨著Unity相繼支持移動(dòng)平臺(tái)、PlayStation和Xbox,在2011年就完成了其跨平臺(tái)的生態(tài)的構(gòu)建,成為了多平臺(tái)3D游戲和互動(dòng)設(shè)計(jì)的高人氣引擎。
Unity的優(yōu)勢(shì)在于強(qiáng)大3D效果和虛擬現(xiàn)實(shí),2D方面則從Unity4之后開始加強(qiáng)。迄今為止,Unity是使用者最廣泛的游戲引擎,其原因首先是免費(fèi)使用,只有專業(yè)版才收取一定的收費(fèi)。
其次是該引擎使用的編程語言也是非常易學(xué)習(xí)的C#和JavaScript,學(xué)習(xí)成本較低,上手非???,并且在國內(nèi)有很多用戶,能夠找到豐富的網(wǎng)絡(luò)資源。
第三,該引擎提供一個(gè)非常強(qiáng)大且易用的集成開發(fā)環(huán)境,適用于不同開發(fā)人員(程序員,設(shè)計(jì)人員和策劃人員)共同工作,其基于組件的游戲快速開發(fā)流程也非常令人容易理解;同時(shí)該引擎提供資源商城,用戶間可以很方便的交易資源和工具,可以說,Unity是當(dāng)今效率最高的3D游戲開發(fā)引擎。
第四,全平臺(tái)打包支持,該引擎對(duì)幾乎所有的移動(dòng)和游戲機(jī)平臺(tái)都能提供支持,除此之外,對(duì)知名的虛擬現(xiàn)實(shí)設(shè)備也有非常好的支持。
不過該引擎早期版本對(duì)界面設(shè)計(jì)及2D設(shè)計(jì)的支持比較弱,如果是開發(fā)小型HTML5游戲,可以考慮用其它引擎。在Unity5之后,加入了對(duì)WebGL的支持,對(duì)HTML5方面的支持再上一個(gè)臺(tái)階,使其成為了開發(fā)大型2D/3D網(wǎng)頁游戲(無插件)的重要選擇之一。
2.3 Cocos 2d-x引擎
Cocos 2d-x是由中國公司觸控科技開發(fā)的,基于Cocos 2d開源引擎的國產(chǎn)游戲引擎,其特性主要集中在2D游戲和移動(dòng)平臺(tái),甚至打出了為移動(dòng)而生的口號(hào)。
Cocos 2d的原型出現(xiàn)在2005年的阿根廷,創(chuàng)始者當(dāng)時(shí)使用python語言開發(fā)該引擎,后來在2008年率先支持蘋果的IPhone平臺(tái),成為眾多開發(fā)者的選擇。Cocos 2d-x作為Cocos 2d的國產(chǎn)引擎,主要部分由C++開發(fā)完成,早期版本的Cocos 2d-x提供Cocos Studio作為開發(fā)工具,能夠同時(shí)支持C++,Lua和JavaScript三種開發(fā)語言進(jìn)行邏輯設(shè)計(jì)。
目前,基于Cocos 2d-x引擎開發(fā)的游戲非常多,多數(shù)2D游戲開發(fā)者都會(huì)首選該引擎,日本游戲公司基于該引擎開發(fā)的《怪物彈珠》成為2014年日本付費(fèi)游戲第一名。
Cocos 2d-x最大特性是跨平臺(tái)部署,能夠一次編寫,發(fā)布到IOS,Android和HTML5頁面平臺(tái)。同時(shí)其作為專業(yè)2D游戲引擎,圖形部分基于OpenGL ES進(jìn)行渲染,引擎中附帶一些3D的效果。
經(jīng)過幾年發(fā)展,Cocos 2d-x在2016年推出了全新Cocos Creator集成開發(fā)工具,該工具是以內(nèi)容創(chuàng)作為核心的游戲開發(fā)工具,實(shí)現(xiàn)了一體化、可擴(kuò)展、可自定義工作流的編輯器,并形成了組件化編程方式,極大簡化了游戲開發(fā)工作流中的場(chǎng)景編輯、UI設(shè)計(jì)、資源管理、游戲調(diào)試和預(yù)覽、多平臺(tái)發(fā)布等工作。不過該開發(fā)工具放棄了C++和Lua語言,僅僅支持JavaScript作為開發(fā)語言。
2.4 LayaAir引擎
由中國公司Layabox打造的基于HTML5協(xié)議的跨平臺(tái)游戲開發(fā)的開源免費(fèi)引擎。該引擎除了能開發(fā)HTML5的游戲以及一些富媒體應(yīng)用外,還能夠?qū)⒆罱K的應(yīng)用發(fā)布成為APP和Flash頁面。
該引擎圖形部分從一開始便基于WebGL渲染,能夠直接調(diào)用硬件GPU進(jìn)行加速,故在游戲性能上有一定優(yōu)勢(shì)。該引擎提供集成化開發(fā)工具LayaAir IDE,支持ActionScript3、Typescript、JavaScript三種開發(fā)語言,其中AS3主要應(yīng)用在Flash應(yīng)用的發(fā)布上。
LayaAir引擎支持開發(fā)2D、3D及VR的網(wǎng)頁產(chǎn)品(HTML5),同時(shí)能夠發(fā)布IOS、Android和Flash(處于淘汰中)應(yīng)用,最為主要的是,該引擎在H5游戲的性能方面優(yōu)化較好,大型H5游戲能夠在不需要runtime的情況下達(dá)到較高流暢度(該引擎同時(shí)提供LayaPlayer作為運(yùn)行器,該運(yùn)行器也被多個(gè)主流瀏覽器預(yù)裝)。
該引擎現(xiàn)在歸屬與觸控科技。
2.5 Egret引擎
Egret引擎是在2014年由國內(nèi)公司設(shè)計(jì)的基于HTML5的開源、免費(fèi)游戲引擎,可以說該引擎與LayaAir引擎比較相似,都和早期的Flash有一定的淵源,脫胎于HTML5。
該引擎提供名為Egret Wing的可視化開發(fā)環(huán)境,只能使用Typescript作為開發(fā)語言,基于組件的編程設(shè)計(jì),能夠極為快速的開發(fā)小型HTML5游戲,同時(shí)能夠打包作品到移動(dòng)平臺(tái)APP及HTML5頁面。
該引擎圖形部分早期基于HTML5的Canvas模式,兼容性較好,但性能較差,基本無法開發(fā)大型的H5游戲。
2016年,該引擎在3.0.8版加入了基于WebGL渲染支持,圖形方面有較大改善,能夠勝任大型H5游戲的開發(fā),同時(shí)在3D效果方面支持較好,提供功能包含模型,骨骼動(dòng)畫,光照系統(tǒng),粒子系統(tǒng)等。Egret作為國內(nèi)3大游戲引擎之一,可以說在各個(gè)方面都表現(xiàn)的很均衡,隨著幾乎所有主流瀏覽器支持WebGL后,該引擎與LayaAir形成了HTML5引擎的國內(nèi)第一梯隊(duì)。
3 主流游戲引擎間的比較
現(xiàn)在的游戲引擎格局和早些年有很大不同,最主要的變化是普通開發(fā)者也能夠免費(fèi)的使用、學(xué)習(xí)和開發(fā)自己的游戲,而游戲引擎公司也都開始了平臺(tái)化運(yùn)營,即通過引擎網(wǎng)羅優(yōu)質(zhì)游戲內(nèi)容(CP)公司,并通過在引擎內(nèi)提供平臺(tái)接入(廣告、渠道、支付、社區(qū))、聯(lián)合運(yùn)營等方式,幫助游戲公司快速發(fā)行游戲獲得收入。當(dāng)然,依然有些公司選擇自己開發(fā)游戲引擎,這些不屬本文討論范圍。雖然游戲引擎的運(yùn)營方式大同小異,但引擎本身的差異還是很多的,本文列舉了上一章中各個(gè)引擎的不同地方,見表1。
4 結(jié) 語
對(duì)于現(xiàn)在比較流行的中小型HTML5游戲而言,Cocos2d-x、LayaAir和Egret引擎相對(duì)來說比較合適。而對(duì)于開發(fā)大型3D游戲,虛幻引擎則更加適合,但對(duì)開發(fā)者的要求也比較高。
Unity相對(duì)來說比較均衡,也很容易學(xué)習(xí),但是其不開源的問題可能會(huì)讓一些開發(fā)者選擇其它引擎。總體而言,免費(fèi)和易用的浪潮已經(jīng)行程,對(duì)于廣大開發(fā)者和愛好者而言,都是好事一件。
參考文獻(xiàn):
[1] 李紅波,吳雨芯,趙寬,等. Android平臺(tái)下3D游戲引擎技術(shù)的研究及應(yīng) 用綜述[J].數(shù)字通信,2012, 39(5):28-33.
[2] 高興,鄭智,全宇.三維游戲引擎的研究與設(shè)計(jì)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,
2013(8):29-33.
[3] Carlson R E. Universal game engine for a game network and
method therefor: US, US6428413[P].2002.
[4] 張健.次時(shí)代游戲引擎設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2014.
[5] Goussencourt T D, Bertolino P. Using the Unity game engine as a
platform for advanced real time cinema image processing[J]. 2015.