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

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

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

  1、開發(fā)語言的支持

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

  3、性能

  4、引擎的應用廣度

  5、設計理念

  6、工作流支持力度

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

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

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

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

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

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

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

  1、選擇H5游戲開發(fā)語言

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

  

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

 

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

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

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

  

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

 

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

  3、性能是核心需求

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

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

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

  

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

 

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

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

  4、與引擎的應用廣度

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

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

  

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

 

  5、設計理念與定位

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

  

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

 

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

  6、工作流支持力度

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

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

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

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

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

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

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

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

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

  寫在較后:較后提醒一下,千萬不要相信某些引擎的單方宣傳,一定要花一點時間去研究實踐,親自制作DEMO去作一作對比,動手體驗到的才是真理。

  針對DEMO測試筆者有幾點建議:

  1、采用一個復雜的UI,特別是復雜列表,比如說沒有分頁的背包列表,背包里放上不同的道具圖片,測試滑動時的流暢度,這塊比較考驗性能,元素越復雜,數(shù)據(jù)越多,尤其能對比出來性能上的差異。

  2、包含較復雜戰(zhàn)斗部分,不要寫戰(zhàn)斗邏輯代碼,不然會花的時間太長,只需要把戰(zhàn)斗相關(guān)的動畫和復雜的元素放在場景中模擬即可,因為H5游戲性能瓶頸通常在于畫面的顯示。

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

相關(guān)文章推薦
從頭開始構(gòu)建網(wǎng)站并托管和維護或改造舊網(wǎng)站需要聘請一支擁有技能和專業(yè)知識的團隊。如果您不想進一步擴大團隊,不想經(jīng)歷招聘大手筆,或者想降低離岸成本,北京軟件開發(fā)外包...
物聯(lián)網(wǎng) ( IoT ) 概念首次出現(xiàn)時,曾有大膽預測稱,到 2020 年,物聯(lián)網(wǎng)連接設備數(shù)量將達到 500 億甚至數(shù)萬億。這些極高的估值引發(fā)了炒作,但最終被證明...
下一代工業(yè)進步被稱為工業(yè)4.0,旨在將傳統(tǒng)行業(yè)(如自動化)互聯(lián)互通并實現(xiàn)計算機化。工業(yè)4.0的目標是使工廠變得更加智能,提高適應性和資源效率,以及改善工廠之間供...
企業(yè)需要強大且可靠的在線形象才能取得成功。Magento 已成為領先的電子商務平臺,為各種規(guī)模的企業(yè)提供強大的功能和定制選項。對于希望通過基于 Magento ...
近幾年最大的發(fā)展趨勢之一是移動應用程序加密。正如我們最近所寫,主要的消息應用程序正在朝著為用戶提供端到端加密默認設置的方向發(fā)展——這是有充分理由的。隨著公眾開始...
通過與北京軟件公司?合作,企業(yè)可以獲得所需的熟練開發(fā)人員,以加速創(chuàng)新和發(fā)展。北京軟件公司 可以通過提供成熟的開發(fā)人員和定制解決方案來幫助企業(yè)彌補開發(fā)人員短缺的差距并實現(xiàn)業(yè)務增長。...
可以通過物聯(lián)網(wǎng)基礎設施自動控制加熱和冷卻設備、洗衣機或汽車充電站等智能設備,以節(jié)省能源或僅在例如以較低價格提供電力的時間投入運行。...
而我們以為:“軟件其實就是一種動力” 那種結(jié)果感是無與倫比的。 可能這才是她的真正魅力所在,能有一個運轉(zhuǎn)流利的軟件把這一切都搞定,同時當把全盤的需求理解全盤的難點全...
北京軟件開發(fā)軟件開發(fā)模型(Software Development Model)是指軟件開發(fā)全部過程、活動和任務的結(jié)構(gòu)框架。軟件開發(fā)包括需求、設計、編碼和測試等階段,有時也包括維護階段。軟件開發(fā)模型能...
局部文檔 **需求 **解說書,需求分析 **編碼 **編碼 **設計,交齊文檔、代碼。 6 .4人員姓名職責 6 .3.2更改規(guī)程軟件需求的更改à需求分析的更改à軟件設計的更改à編碼的更改à文檔的更...
北京軟件開發(fā)當大數(shù)據(jù)成為一種資源...
北京軟件開發(fā)Android N開發(fā)者預覽版4發(fā)布...
?