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