咨詢郵箱?咨詢郵箱:service@yitianxinda.com 咨詢熱線?咨詢熱線:18101296137 微博 微信
北京軟件開(kāi)發(fā)公司如何選擇HTML5游戲開(kāi)發(fā)引擎_北京軟件開(kāi)發(fā)公司
發(fā)表日期:2016-05-03 10:18:50 ?? 文章編輯:yitianxinda ?? 瀏覽次數(shù):

  北京軟件開(kāi)發(fā)公司如何選擇HTML5游戲開(kāi)發(fā)引擎,原生手游市場(chǎng)已是紅海、騰訊、網(wǎng)易等寡頭獨(dú)霸天下,H5游戲市場(chǎng)或?qū)⒊蔀橄乱粋€(gè)風(fēng)口。據(jù)筆者所知,很多H5游戲開(kāi)發(fā)團(tuán)隊(duì)由于選擇引擎不慎導(dǎo)致項(xiàng)目甚至團(tuán)隊(duì)夭折。如何選擇適合團(tuán)隊(duì)和項(xiàng)目的引擎,筆者通過(guò)學(xué)習(xí)和項(xiàng)目實(shí)踐,總結(jié)微薄經(jīng)驗(yàn),供大家參考,非技術(shù)人員也可以將本篇內(nèi)容作為引擎選擇的重要關(guān)注點(diǎn)。

  選擇H5游戲引擎的思考維度

  1、開(kāi)發(fā)語(yǔ)言的支持

  2、2D、3D、VR的支持

  3、性能

  4、引擎的應(yīng)用廣度

  5、設(shè)計(jì)理念

  6、工作流支持力度

  7、商業(yè)化成熟案例

  8、學(xué)習(xí)資源與技術(shù)支持能力

  首先,我們要知道,當(dāng)前主流的游戲引擎有哪些。由于H5引擎有很多,筆者在這里進(jìn)行了精心的篩選,過(guò)濾掉不支持webGL的引擎,以及封裝了第三方渲染內(nèi)核的JS框架,和不能直接在瀏覽器中運(yùn)行的JS引擎。

  為什么要過(guò)濾掉這幾種呢,首先,沒(méi)有自己的渲染內(nèi)核,僅僅是基于第三方的內(nèi)核作的API封裝,筆者很擔(dān)心可持續(xù)的性能優(yōu)化和維護(hù)能力。另外,不能在瀏覽器中直接運(yùn)行的JS引擎,將限制H5游戲跨平臺(tái)的交互能力。還有, 筆者非??春脀ebGL模式,認(rèn)為webGL模式才是H5引擎的未來(lái)。原因有幾點(diǎn):

  第一、性能,webGL模式遠(yuǎn)超Canvas數(shù)倍。DOM模式就不適合用于真正的游戲開(kāi)發(fā),更不用提。

  第二、3D方向,webGL模式理論上可以制作2D和3D游戲,Canvas和DOM模式下只能制作2D游戲。

  第三、普及率,webGL的普及率已經(jīng)非常高了,尤其是支持webGL的騰訊TBS-Blink內(nèi)核已在4月19日發(fā)布,并逐步在微信、QQ空間、QQ瀏覽器、手機(jī)QQ等APP中采用靜默安裝方式全面升級(jí)。這個(gè)普及率在國(guó)內(nèi)帶來(lái)的影響,;你懂的……

  1、選擇H5游戲開(kāi)發(fā)語(yǔ)言

  擁有廣泛開(kāi)發(fā)者的H5游戲開(kāi)發(fā)語(yǔ)言共有三種,分別為Flash AS3、TypeScript、JavaScript。其中Flash AS3、TypeScript均屬于面向?qū)ο蟮母呒?jí)腳本語(yǔ)言,通過(guò)編譯器將原項(xiàng)目代碼編譯成JavaScript代碼文件運(yùn)行于瀏覽器之中,面向?qū)ο蟮母呒?jí)語(yǔ)言無(wú)論是項(xiàng)目開(kāi)發(fā)管理,還是項(xiàng)目開(kāi)發(fā)的工具環(huán)境的成熟度都明顯優(yōu)于JavaScript腳本語(yǔ)言,尤其是中大型項(xiàng)目方面,AS3等高級(jí)語(yǔ)言的效率會(huì)更高。

  

避坑寶典:如何選擇HTML5游戲開(kāi)發(fā)引擎

 

  從上圖看出,支持JavaScript語(yǔ)言的引擎更多,由于AS3語(yǔ)言的編譯器為L(zhǎng)ayabox引擎推出的,因此采用AS3作為開(kāi)發(fā)語(yǔ)言的僅有Layabox引擎。筆者建議在開(kāi)發(fā)中大型游戲項(xiàng)目的時(shí)候,采用TypeScript或者是Flash AS3語(yǔ)言進(jìn)行開(kāi)發(fā)。如果是小型游戲,任選其一即可。

  2、引擎的未來(lái)延續(xù)能力

  選擇一個(gè)引擎,并不是簡(jiǎn)單的認(rèn)為,滿足眼前夠用就可以了,引擎的未來(lái)延續(xù)能力也是很重要的,這個(gè)項(xiàng)目是2D,下個(gè)項(xiàng)目想開(kāi)發(fā)3D,如果引擎不支持怎么辦?去換個(gè)引擎?如果VR的機(jī)會(huì)來(lái)了,再想發(fā)布VR版本,這個(gè)引擎不支持,需要重新開(kāi)發(fā)嗎?等等問(wèn)題,作為開(kāi)發(fā)者盡可能要提前想好。

  

避坑寶典:如何選擇HTML5游戲開(kāi)發(fā)引擎

 

  通過(guò)上圖,可以看出,即便是在支持webGL的H5引擎里,有只面向2D游戲的,也有只面向3D游戲的,同時(shí)支持2D、3D、VR的H5引擎,從目前看只有Layabox與Egret引擎。

  3、性能是核心需求

  性能是H5游戲面臨的核心門(mén)檻,也是很多H5游戲不被專(zhuān)業(yè)玩家認(rèn)可的重要原因之一。游戲卡頓,不流暢,這樣的產(chǎn)品體驗(yàn)很難在激烈競(jìng)爭(zhēng)中生存下來(lái)。

  H5產(chǎn)業(yè)早期的普及階段即將過(guò)去,游戲品質(zhì)在迅速提高,品質(zhì)中包括精細(xì)的美術(shù)和炫酷的動(dòng)畫(huà)等。在復(fù)雜的游戲項(xiàng)目面前,上述種種元素,其流暢體驗(yàn)度對(duì)游戲引擎是極大的考驗(yàn)。所以選擇性能優(yōu)秀的引擎是保證品質(zhì)的較重要基礎(chǔ),一定要謹(jǐn)慎。

  在游戲項(xiàng)目研發(fā)開(kāi)始時(shí),一定要先對(duì)復(fù)雜的模塊做DEMO測(cè)試,特別是帶背景滾動(dòng)的游戲。比如橫屏卷軸游戲,對(duì)幀數(shù)穩(wěn)定性要求極高,如果滿足不了性能上的需求,可能會(huì)帶來(lái)眩暈、眼花、疲倦等不良體驗(yàn)。

  

避坑寶典:如何選擇HTML5游戲開(kāi)發(fā)引擎

 

  在webGL的2D渲染性能方面,pixi.js的性能處于當(dāng)前的頂級(jí)。在webGL的3D渲染性能方面,Three.js非常優(yōu)秀。在runtime方面Cocos2d-js也有著原生級(jí)的表現(xiàn),經(jīng)過(guò)對(duì)比,筆者認(rèn)為L(zhǎng)ayabox性能的綜合實(shí)力較強(qiáng),在各個(gè)渲染領(lǐng)域都保持在HTML5引擎的頂級(jí)水平。當(dāng)然,上圖僅作為參考,對(duì)于任何號(hào)稱(chēng)某個(gè)引擎性能較牛的論調(diào),一定要親自進(jìn)行性能DEMO的測(cè)試對(duì)比,而不要輕易采信。

  由于性能是游戲較核心的需求,筆者這里再多說(shuō)一句,大型項(xiàng)目在系統(tǒng)復(fù)雜度、UI復(fù)雜度、動(dòng)畫(huà)顯示數(shù)量和種類(lèi)等方面與小型游戲項(xiàng)目完全不在一個(gè)量級(jí)。會(huì)涉及到比小游戲更復(fù)雜的性能優(yōu)化、內(nèi)存管理、資源管理等需求,如果選擇了小馬拉大車(chē)的低性能引擎,項(xiàng)目夭折可能性非常大,除非較后項(xiàng)目開(kāi)發(fā)者花大量時(shí)間自己優(yōu)化引擎。所以性能差一點(diǎn),就會(huì)導(dǎo)致結(jié)果差很多,不可主觀想象。

  4、與引擎的應(yīng)用廣度

  隨著H5游戲品質(zhì)提升,在其他領(lǐng)域也具備一定的競(jìng)爭(zhēng)力和價(jià)值,一次開(kāi)發(fā)可發(fā)行各個(gè)領(lǐng)域版本,已成為日漸明確的需求,這里面包括發(fā)行原生APP手游和PC的flash頁(yè)游需求,大統(tǒng)一的引擎時(shí)代即將來(lái)領(lǐng)。目前較火爆的H5游戲《傳奇世界H5》據(jù)說(shuō)有40%的收入來(lái)自PC網(wǎng)頁(yè)。

  發(fā)布PC頁(yè)游時(shí),由于PC瀏覽器目前對(duì)HTML5兼容性不足70%,用戶損耗很大,頁(yè)游聯(lián)運(yùn)平臺(tái)可能會(huì)拒絕或放量很少,只有采用能同時(shí)發(fā)布Flash版本的引擎,才能解決這個(gè)問(wèn)題。

  

避坑寶典:如何選擇HTML5游戲開(kāi)發(fā)引擎

 

  5、設(shè)計(jì)理念與定位

  設(shè)計(jì)理念是個(gè)比較大的話題,也是個(gè)很重要的引擎選擇因素,比如引擎是要專(zhuān)注移動(dòng)端,還是要面向全平臺(tái)多端游戲市場(chǎng)。是注重性能,還是注重工具鏈等等。深入了解不同引擎的理念與定位,才能更好的與游戲產(chǎn)品進(jìn)行結(jié)合。

  

避坑寶典:如何選擇HTML5游戲開(kāi)發(fā)引擎

 

  上圖內(nèi)容僅作參考,詳情建議去各引擎官網(wǎng)深入了解。

  6、工作流支持力度

  作為商業(yè)級(jí)開(kāi)源引擎,工具鏈的提供與支持也是一種選擇考量要素,比如UI編輯器、粒子編輯器、骨骼編輯器、場(chǎng)景編輯器等等,如果引擎方直接提供或支持,那么將會(huì)較大的提升研發(fā)效率。

  本文中提到的7個(gè)引擎,只有Egret、Layabox、Cocos2d-JS這三個(gè)引擎,在工具鏈方面提供足夠全面的支撐。

  7、是否有成熟的商業(yè)案例

  怎么證明引擎是成熟的?一定要有成熟的商業(yè)案例,一般引擎的官網(wǎng)上都會(huì)有游戲案例介紹,我們?cè)谶x擇引擎之前要進(jìn)行深入體驗(yàn),包括:商業(yè)案例的數(shù)量、商業(yè)案例的種類(lèi)、穩(wěn)定性、流暢度(要在低端機(jī)里體驗(yàn))、項(xiàng)目復(fù)雜度、項(xiàng)目相似度等。如果有一些大型成功案例背書(shū)會(huì)相對(duì)安全可靠些。

  從目前的行業(yè)案例來(lái)看,Layabox引擎的MMORPG《醉西游》、重度動(dòng)作游戲《獵刃2》、大型模擬經(jīng)營(yíng)游戲《夢(mèng)幻家園》等無(wú)疑是H5引擎技術(shù)的較高水準(zhǔn)代表作。但是從卡牌、掛機(jī)等類(lèi)型的付費(fèi)游戲總體數(shù)量來(lái)看,Egret引擎明顯占優(yōu),充分說(shuō)明該引擎的市場(chǎng)宣傳力度更勝一籌。

  8、學(xué)習(xí)資源與技術(shù)支持能力

  能提供什么樣的學(xué)習(xí)資源,以及技術(shù)支持,對(duì)于開(kāi)發(fā)者也是重要因素,如果你是技術(shù)大牛,只想使用輕量的第三方渲染內(nèi)核。那么2D游戲,pixi.js無(wú)疑是首選。3D游戲,筆者推薦Three.js。但是這兩種引擎的學(xué)習(xí)資料都比較稀少。筆者認(rèn)為學(xué)習(xí)資料的完善,以及在學(xué)習(xí)過(guò)程中的技術(shù)支持力度,將會(huì)很大的幫助你解決引擎使用中的問(wèn)題。所以,API完善,DEMO完善,文檔完善,社區(qū)的響應(yīng)速度,交流氛圍,以及QQ技術(shù)支持等,都可以作為你選擇引擎的因素考量之一。

  9、頁(yè)游移植產(chǎn)品的引擎選擇

  目前像《醉西游》等優(yōu)秀H5產(chǎn)品是Flash頁(yè)游或手游移植而成,移植類(lèi)的產(chǎn)品在選用引擎時(shí)要注意,代碼是否可以直接移植?如果可以,那將節(jié)省大量的開(kāi)發(fā)成本。比如Flash AS3開(kāi)發(fā)的2D或3D頁(yè)游或手游,可以把邏輯與算法代碼直接拷貝移植到Layabox引擎項(xiàng)目中,開(kāi)發(fā)速度提高數(shù)倍。

  寫(xiě)在較后:較后提醒一下,千萬(wàn)不要相信某些引擎的單方宣傳,一定要花一點(diǎn)時(shí)間去研究實(shí)踐,親自制作DEMO去作一作對(duì)比,動(dòng)手體驗(yàn)到的才是真理。

  針對(duì)DEMO測(cè)試筆者有幾點(diǎn)建議:

  1、采用一個(gè)復(fù)雜的UI,特別是復(fù)雜列表,比如說(shuō)沒(méi)有分頁(yè)的背包列表,背包里放上不同的道具圖片,測(cè)試滑動(dòng)時(shí)的流暢度,這塊比較考驗(yàn)性能,元素越復(fù)雜,數(shù)據(jù)越多,尤其能對(duì)比出來(lái)性能上的差異。

  2、包含較復(fù)雜戰(zhàn)斗部分,不要寫(xiě)戰(zhàn)斗邏輯代碼,不然會(huì)花的時(shí)間太長(zhǎng),只需要把戰(zhàn)斗相關(guān)的動(dòng)畫(huà)和復(fù)雜的元素放在場(chǎng)景中模擬即可,因?yàn)镠5游戲性能瓶頸通常在于畫(huà)面的顯示。

  3、 測(cè)試主要目的是看項(xiàng)目在引擎中性能,這是較至關(guān)重要的,所以,硬件上,我們要選擇低端安卓手機(jī)(比如紅米)進(jìn)行測(cè)試。軟件環(huán)境建議使用微信環(huán)境測(cè)試,首先,因?yàn)槲⑿殴娞?hào)是H5的主要渠道之一,其次,微信當(dāng)前的H5性能低于chrome瀏覽器,在惡劣的環(huán)境下更能測(cè)試引擎的優(yōu)劣。

相關(guān)文章推薦
下一代工業(yè)進(jìn)步被稱(chēng)為工業(yè)4.0,旨在將傳統(tǒng)行業(yè)(如自動(dòng)化)互聯(lián)互通并實(shí)現(xiàn)計(jì)算機(jī)化。工業(yè)4.0的目標(biāo)是使工廠變得更加智能,提高適應(yīng)性和資源效率,以及改善工廠之間供...
您正在尋找能夠?qū)⒛钊梭@嘆的應(yīng)用程序想法變?yōu)楝F(xiàn)實(shí)的人。我應(yīng)該聘請(qǐng)軟件公司還是兼職開(kāi)發(fā)者?這可能是每個(gè)新晉產(chǎn)品所有者問(wèn)自己的最常見(jiàn)問(wèn)題。在開(kāi)始開(kāi)發(fā)過(guò)程之前,您需要...
從頭開(kāi)始構(gòu)建網(wǎng)站并托管和維護(hù)或改造舊網(wǎng)站需要聘請(qǐng)一支擁有技能和專(zhuān)業(yè)知識(shí)的團(tuán)隊(duì)。如果您不想進(jìn)一步擴(kuò)大團(tuán)隊(duì),不想經(jīng)歷招聘大手筆,或者想降低離岸成本,北京軟件開(kāi)發(fā)外包...
物聯(lián)網(wǎng) ( IoT ) 概念首次出現(xiàn)時(shí),曾有大膽預(yù)測(cè)稱(chēng),到 2020 年,物聯(lián)網(wǎng)連接設(shè)備數(shù)量將達(dá)到 500 億甚至數(shù)萬(wàn)億。這些極高的估值引發(fā)了炒作,但最終被證明...
下一代工業(yè)進(jìn)步被稱(chēng)為工業(yè)4.0,旨在將傳統(tǒng)行業(yè)(如自動(dòng)化)互聯(lián)互通并實(shí)現(xiàn)計(jì)算機(jī)化。工業(yè)4.0的目標(biāo)是使工廠變得更加智能,提高適應(yīng)性和資源效率,以及改善工廠之間供...
企業(yè)需要強(qiáng)大且可靠的在線形象才能取得成功。Magento 已成為領(lǐng)先的電子商務(wù)平臺(tái),為各種規(guī)模的企業(yè)提供強(qiáng)大的功能和定制選項(xiàng)。對(duì)于希望通過(guò)基于 Magento ...
工業(yè)控制系統(tǒng) (ICS) 解決方案需要新的架構(gòu),并且需要更適應(yīng)不斷變化的環(huán)境的理念。重點(diǎn)介紹了六種方法: 學(xué)習(xí)目標(biāo) 工業(yè) 4.0 時(shí)代的工業(yè)控制解決方案需要新的架構(gòu)和理念。 由于工業(yè)...
然后反過(guò)去把訊息傳給Printer. 參見(jiàn):Mtomefitsin Fowler:Refprofessioninging:Improve the design of Existing Code Kent Beck : Smprhvthatcticinglytingk Best Proverice Povertern A......
北京軟件開(kāi)發(fā)公司為大家?guī)?lái)更多個(gè)性化高質(zhì)量手機(jī)APP。 并在北京APP開(kāi)發(fā)公司中也是小出名望的。...
北京APP開(kāi)發(fā)公司金融APP開(kāi)發(fā)解決方案隨著人們的生活質(zhì)量不斷提升,經(jīng)濟(jì)條件不斷優(yōu)化,金融行業(yè)也隨之變得越來(lái)越火熱,而近幾年,智能化的時(shí)代,移動(dòng)互聯(lián)網(wǎng)不斷的發(fā)展與更新,讓...
  北京軟件開(kāi)發(fā)APP從業(yè)者必知的整個(gè)APP開(kāi)發(fā)標(biāo)準(zhǔn)流程。   一般的APP開(kāi)發(fā)及上線流程 步驟如下:   首先,制作一款A(yù)PP,必須要有相關(guān)的idea(主意),也就是說(shuō),第一步是APP的i...
北京軟件開(kāi)發(fā)公司全棧測(cè)試:平衡單元測(cè)試和端到端測(cè)試...
?