很多剛剛接觸到游戲開發,準備大展拳腳的小鮮肉們,往往在技術選型這第一關就栽了跟頭。畢竟網絡上的游戲引擎良莠不齊,官網上相關資料也比較少,而選擇一個適合的游戲引擎是一個項目最基礎,也是很核心的一部分。試想一下,在游戲開發進行到中后期的時候,才發現項目引入的游戲引擎與需求相悖,這時候不管是重新做一些修修補補的工作或者更換游戲引擎,這都是相當耗費人力物力的一件事。為了避免這種情況的出現,在前期選擇適合項目需求的游戲引擎顯得尤為重要。接下來我們來聊一聊如何去選擇適合項目的 JS 游戲引擎。
在剛接到游戲需求時,我們可以從以下幾個方面進行考量,分析出游戲需求場景所屬,從而作為我們選擇游戲引擎的依據。
筆者從業界較流行的一些框架,進行以下幾個方面對比,希望能從客觀數據上給大家的技術選型帶來建議和參考。
2D,3D,VR 都支持的游戲引擎
下圖是主要支持2D游戲的游戲引擎
Egret 周邊產品
白鷺引擎是企業級游戲引擎,有團隊維護。Egret 在工作流的支持上做的是比較好的,從 Wing 的代碼編寫,到 ResDepot 和 TextureMerger 的資源整合,再到 Inspector 調試,最后到原生打包(支持 APP 打包),游戲開發過程中的每個環節基本都有工具支撐。官網上的示例,教程也是比較多。值得一提的是,今年5月白鷺引擎支持了 WebAssembly ,這對于性能的提升又是一大里程碑。
在渲染模式上,LayaAir 支持 Canvas 和 WebGL 兩種方式;在工具流的支持程度上,主要是提供了 LayaAir IDE。LayaAir IDE 包括代碼模式與設計模式,支持代碼開發與美術設計分離,內置了 SWF 轉換、圖集打包、JS 壓縮與加密、APP 打包、Flash 發布等實用功能。
一般來說,WebGL 的渲染速度都會比 Canvas 快,這是由倆者的繪制路徑決定的。Pixi 最大的特點在于,Pixi 具有完整的 WebGL 支持,卻并不要求開發者掌握 WebGL 的相關知識,并在需要時無縫地回退到 Canvas 。相較于很多同類產品,它的渲染能力是比較強大的。然而,Pixi 也有不足的地方,Pixi 對于動畫的支持是比較缺乏的,在實際開發中,常常需要引進額外的動畫庫,如 GSAP。
Phaser 在渲染方面直接封裝了 Pixi;架構方面,Phaser 內嵌了3個物理引擎(Arcade Physics、Ninja、p2.js),提供粒子系統、動畫、預下載和設備適配方案;兼容性方面,Phaser 的焦點是放在移動端瀏覽器上的;API 方面,Phaser 能實現豐富的游戲功能,適合復雜度高的游戲開發。
CreateJs 周邊產品
CreateJS 官方提供了 TweenJS 支持動畫開發,同時通過 SoundJS 和 PreLoadJS 提供了音頻和預下載的支持,對于 H5 游戲基礎功能的支持是足夠的。在兼容性方面,CreateJS 支持 PC 端和移動端幾乎所有的瀏覽器。此外,CreateJS 還支持用 flash CC 開發導出由 CreateJS 渲染的 H5 游戲。
Hilo 是阿里團隊推出的一個開源項目,支持模塊化開發,同時提供了多種模塊范式的包裝版本和跨終端解決方案,適合用來開發營銷小游戲。其體積也是比較輕量的,只有70kb左右。Hilo 支持 DOM 渲染,Canvas 渲染和 WebGL 渲染,同時集成了 Hilo Audio, Hilo Preload。其后推出的 Hilo 3D 也是其亮點之一。
Cocos2d-x 是業界比較老牌的游戲引擎了,同時支持 C++ ,Lua 和 JavaScript 三種開發語言,官方用例來看更傾向于 C++ 開發,適合做一些中大型游戲開發。Cocos2d-x 提供 Cocos Creator 游戲開發工具,組件化,腳本化,數據驅動,跨平臺發布。
lufylegend.js 的最新更新是在16年,不過其社區還是十分活躍的,如果遇到什么開發問題,可以很方便地在社區上找到解決的方案。lufylegend.js 可以支持基礎的游戲功能,但是其可拓展性不是很強。
主要支持3D游戲的游戲引擎
name2D渲染(Canvas)2D渲染(WebGL)3D渲染(WebGL)VRgithub star 數文檔詳細程度周邊產品備注Three.jsNONOYES(傾向)NO37.6k(最新更新2017.12)? 英文文檔
? 例子充足
? 英文社區無默認Ammo.js為默認物理引擎,基于JavaScript語言的3D庫,耗性能,加載慢,效果一般PlayCanvasNONOYESYES3k(最新更新2017.12)? 英文文檔
? 例子充足
? 英文社區提供了在線編輯器,發布托管等教程較為詳細,入門快
Three.js 示例案例
相信對于很多有關注 3D 游戲的開發者來說,Three.js 早已經耳熟能詳了。實際上,Three.js 官方定位并不是游戲引擎,而是一個 JS 3D 庫。Three.js 更傾向于展示型的視覺呈現,比較少直接拿 Three.js 來開發 H5 游戲。渲染環境上,Three.js 支持 WebGL 和 CSS3D 兩種渲染模式。
從渲染支持程度來看,PlayCanvas 不僅支持 3D WebGL渲染,同時保持到 VR 的支持,擁有比較好的拓展性。在工具流的支持上,提供了在線編輯器和發布托管等服務。從官方教程上看,教程也是比較詳細的。
現在市場上的 H5游戲引擎很多,很難去直接定義哪個引擎的好壞,只能說每個引擎都有自己的特性,在某方面跟項目的契合程度比較高,筆者根據現在市場上比較熱門的幾大引擎做了幾點比較,希望能給剛入門的你做技術選型的時候有一點幫助,找到適合項目的引擎,更快、更準、更高效率地完成項目需求。
感謝各位耐心讀完,希望能有所收獲,有考慮不足的地方歡迎留言指出。
如果對「H5游戲開發」感興趣,歡迎關注我們的專欄。
目前有哪些比較成熟的 HTML5 游戲引擎?
HTML5游戲引擎深度測評
現在 TypeScript 的生態如何?
為移動游戲引擎的后來者,Egret的出現一開始著實令我們困惑;而當我們得知Egret是一個基于Html5的開發引擎時,更多的問題開始涌現:
● 現在移動游戲領域已經是Unity 3D和Cocos2dx的天下,Egret準備如何殺出一條血路?
● Html5一直被認為性能低下、難堪大任,Egret又為什么選擇這個標準作為引擎的核心?
● 作為一個開源的游戲引擎,Egret如何避免其它免費開源引擎的老路,實現真正的商業化?
帶著這樣的問題,葡萄君來到了Egret公司所在地,和Egret的陳書藝(CEO和聯合創始人)以及馬鑒(聯合創始人)進行了對話,我們嘗試從一個新興HTML5游戲引擎開發商的角度,來看看這個此前已經陷入低谷的開發技術,現在正站在一個什么樣的時間節點上。
以下是整理過的對話記錄。
Q: 你們的引擎是基于Html5的,但是被寄予厚望的Html5一直沒有達到業界期望的規模,你們認為是什么原因呢?
陳: 我們內部認為有幾個原因。首先還是環境的原因。一開始,Html5這個概念拋出來的時候大家的預期太高了。尤其是當喬布斯說蘋果不再支持Flash,移動的未來是屬于Html5的時候,很多人就把HTML5炒得很高。但是當時硬件的能力還不行,11年的手機甚至沒有GPU,不支持硬件加速渲染;而蘋果也沒有提供API給硬件加速。
第二個問題是網絡。直到今天,4G才剛開始鋪設;當時的3g的覆蓋不夠到位,不具備能支持Html5的網絡環境。
第三個比較重要的問題是沒有成體系的引擎和工具,市面上只有JAVASCRIPT框架和很小很輕量級的東西。前輩里比較關注Html5的磊友等廠商都在做內容本身,而不是對引擎和工具進行完善。我的同事馬鑒可以補充一下,他之前在Adobe一直站在比較高的高度看問題,看到的東西可能多一點。
馬:09年的時候,大家對HTML5抱的希望確實太高了。它一下子被喬布斯推到了web技術的焦點。所有人都去轉向HTML5的時候,但大多數人并沒有真正理解HTML5能帶來什么。但為什么這兩年會有一個很大的契機呢?是因為移動互聯網變得成熟了。每個人都有一臺或者幾臺智能設備,智能設備上多渠道的內容呈現就是HTML5的核心價值所在。Web的內容是無所不在的,不僅僅出現在原生市場上,還在瀏覽器上,甚至于廣義的嵌入Web View的方式——比如百度輕應用或者微信——其實都可以把很多HTML5的內容放進去。我覺得這個時候才是HTML5技術真正適合被商業化的時候。再者,移動互聯網的硬件革命帶來了處理速度、存儲容量和顯示技術的提高,還有可穿戴設備的智能化,使得太多內容需要被呈現。這個時候,移動互聯網行業沒有Flash Player這樣的播放器插件技術、沒有這樣廣泛的標準的問題才凸顯出來,這時候HTML5才能為大家所用。
陳:分兩個層面再補充一下。技術層面上,以前有很多人去做HTML5游戲,都用JavaScript去寫。這樣會面對兩個問題,首先JavaScript是弱類型的,所以HTML5給人的印象是只能做一些表現力很弱的、很卡的游戲,包括聲音也有問題,沒有被廣泛的支持,只能放背景音樂。對于工程學來說,開發游戲維護起來非常困難,代碼越寫越亂、越寫越多。所以我們通過微軟的TypeScript語言來解決這個問題,用TypeScript寫然后再編譯成JavaScript。TypeScript是一個強類型的語言,而且是JavaScript的超集,也就是說你可以JavaScript和TypeScript混著寫。使用TypeScript寫,首先語法和AS3很像,其次它是一個強類型的語言,比較容易像C++那樣去維護。
商業層面上,可以參考PC時代的步伐:先單機、然后弱聯網,然后出現MMO,然后更注重表現力、出現3D。隨著端游越來越大、推廣成本越來越高;即點即玩的頁游的推廣成本低,自然而然就火了。手游現在也開始出現這樣的趨勢,有幾千家手游廠商擠在榜里,大家只能去買積分墻或者去做很強的市場推廣,而不是很注重游戲的品質或者通過口碑的傳播來推廣游戲。現在整個平臺的格局大體要形成了,比如騰訊、百度、360等大廠商都在對渠道進行整合,推廣變得更困難了?,F在如果能出現無端或者一兩秒就能進入游戲的,一邊玩一邊加載的產品,這時候渠道會發生一些變化,CP的營銷方式也會發生一些變革。所以今年不僅僅是技術上得到了提升,商業角度來看,移動Web領域也對Html5有很強的需求。
Q:現在市面上有很多Html5的引擎和框架,夢工場還做過一百多種框架的對比,你們定位的差異化在什么地方呢?
馬:我來說一下Egret的思路。我們首先覺得Html5是一個開源技術,國內外加起來的JavaScript庫、框架甚至引擎,都屬于片面地解決了游戲驅動的核心問題,但沒有做很多配套的東西。在Adobe和微軟這樣的級別的公司中有一個很重要的詞語,叫做“工作流(work Flow)”。換句話說,給開發者一個庫或者引擎,他們能做出或大或小的游戲;但是這些庫和引擎拿去商業化運作的時候,會發現做不大,核心原因是不能夠滿足開發者的開發需求,滿足不了社區的開發需求。社區的開發需求是什么呢?是需要一個核心的高效的引擎,同時圍繞這個引擎建立一套上層的為開發人員或開發團隊構建的成熟的工作流。比如說這個引擎要做好,要有GUI,不可能UI都要工程師去手寫代碼。我們做Egret的時候,同時要推進很多項目,其中一大部分都是工具級別的。這些工具都是為引擎的封裝格式所服務的。比如說GUI,UI編輯器,可以給美術、策劃來使用;粒子編輯器,讓美術人員可以用可視化的工具來調整,通過拖拽或者圖形文件的編排,就可以生成一些特效,然后進行文件格式的輸出。然后還有場景編輯器,還有各種平臺發行商的SDK接入的配置環境。
所以說想要引擎成熟起來,必須以引擎為核心打造一套為游戲的團隊中不同的開發角色的完整的工作流。只有把他們串起來,每個人都有工具可以圍繞引擎工作的時候,產品的商業化才算上一臺階,否則就永遠停留在庫或者框架的級別。未來想要實現最后一公里,必須圍繞引擎做框架、工具、服務,把整個服務做好。以這種思路做產品,才有可能成功。
陳:另一個我們比較大的優勢是,我們這套引擎靈感源于flash。Adobe這么多年的積累,被馬鑒移植到這個引擎中,無論是語法、API、工具流,都是圍繞著怎么做一個Web應用去展開的。這樣的好處是我們可以爭取到第一批開發者。他們大都是pc上的頁游開發者,不需要轉型,語法和API都一樣,他們習慣的工具還可以繼續用,比如用Flash做動畫,用Dragonbones做骨骼。以前他們自己開發的地圖編輯器和場景編輯器,稍作改變,只要支持Egret的數據格式就可以繼續使用。對于所有的大頁游廠商來說,轉手游幾乎是零成本。比如墨麟,游戲谷都是我們的典型用戶,他們花費了僅僅兩三個月時間就用Egret開發出游戲。
Q:所以這些頁游廠商是在對引擎進行測試?
陳:對。我們準備六月份公開發布,但已經內測了兩個多月了。這期間已經有頁游廠商開發出很不錯的產品了。
Q:你們說對游戲引擎而言生態非常重要。但是我看官方網站上的時間表,開發相關的工具要到今年8月才開始著手做,這意味著在Egret發布的初期,引擎的生態是不完整的,這時候怎么說服開發者不去用Cocos2dx或者Unity3D呢?
陳:我們的辦法是讓曾經的開發者慣用的工具很簡單地就可以支持Egret。很多過去的開發商他們自己做的工具,只要數據格式支持,我們就可以把他們的數據格式直接轉換為Egret的格式支持。。我們會推出自己的官方編輯器,雖然這是相對靠后的一個事情,但并不影響他們使用Egret。
Q:會考慮像Unity那樣做自己的插件商店嗎?
陳:我們會提供。這也是第三季度到第四季度會推出的東西。
Q:之前和幾個工程師聊了聊Egret,他們很好奇為什么用TypeScript而不用CoffeeScript
馬:TypeScript是微軟官方的一種語言,是JavaScript的超集。它遵循的ECMA Script 6.0是下一代的JavaScript。今年年底,微軟、谷歌和Mozila三個擁有自主技術的瀏覽器巨頭會宣稱在他們的瀏覽器JIT環節支持JavaScript2.0——其實就是ES6。但是現在瀏覽器都是JavaScript1.5的版本,是弱類型的語言,還沒有面向對象的概念,沒有類、沒有命名空間等等。所以從微軟的角度來說,推出TypeScript是幫助web開發者過渡到未來的web開發技術當中。之所以不用CoffeScript去封裝我們的引擎,而選用TYPESCRIPT,是因為TypeScript的語言設計和ActionScript3.0一模一樣,可以幫助幾十萬Flash開發者快速上手Egret。他們一看到我們的語法設計、結構設計就會非常非常熟悉,花很短的時間就能上手。為了知識體系的過渡,我們把flash整個的顯示列表技術和API設計技術用原封不動的語法設計從ActionScript3.0挪到了TypeScript上。這就是剛剛陳總說的,很多用ActionScript3.0的頁游的開發人員,拿到我們的東西知識不會有任何損失。
陳:這個東西是雙向的。對于工程師來說,學習的成本很低。用官方群里的一個開發者的說法來說,“學習Egret甚至不需要看文檔?!睂τ诶习鍋碚f,愁的是什么?怎么找C++的工程師,找Unity的開發,因為整個行業都在搶。這導致很多AS3的工程師不得不轉型。原來我做CP,有幾百號工程師,轉型的過程中也非常痛苦。如果我們早做這些事兒(Egret),那些人都可以成為新生的生產力,對老板來說成本變低了很多,對工程師來說又可以發揮自己的作用了。
Q:有提到HTML5的音頻兼容性不好,比如IE10不支持。
陳:這就是我們的另一個核心價值:不僅是寫了很多代碼然后做了一個引擎,我們也有使命去幫助Html5在中國進行推進。所以我們和百度騰訊和瀏覽器公司合作推動他們的瀏覽器去支持游戲需要的API,其中就包括Web Audio。以前支持的不好,其實是因為沒有人去敲這個門,解決這個問題?,F在我們做這個引擎,很多人在用了,然后在使用的過程中發現這個問題,再去推動廠商,他們會很愿意解決這個問題。
Q:最后能做到接近原生的程度?
陳:幾乎是可以的,如果能完善起來就沒問題。
Q:時間上有期望值嗎?完善到和原生差不多的程度需要的時間。
馬:我覺得未來一年就可以。因為移動互聯網只用了兩年時間就把端游的生命周期走完了。
陳:其實這個東西就是HTML5標準中的一部分,但因為Html5都是拿來做應用啊,資訊網站啊,用不著這些接口?,F在因為Egret出來了,抓住很多開發者做游戲,帶來了更多的游戲內容,有內容要分發了,平臺才意識到需要提供更好的服務,才把這些本該加上的接口加上。之所以預計需要一年的時間,是因為有很多很多的廠商需要去推動,需要一家家去讓他們支持。
Q:有沒有對打包好的游戲,有沒有方便斷點測試的工具?
陳:我們都是live測試。甚至于對Android和iOS的支持都是這樣。用其它引擎做游戲,需要打包出來用模擬器或者裝到手機里面才能看效果,但我們高效很多。你整個編碼過程中都是所見即所得的,在瀏覽器里只要打開debug工具隨時都可以調代碼,隨時都可以看到效果。最終效果滿意了,再去打包,不用打包完了再去調。
Q:這樣通過瀏覽器的應用,在iOS上和蘋果會有沖突嗎?
陳:這是更高層面的問題了。這個首先看蘋果的胸懷了,其次是平臺方都會努力去規避這個風險。Html5游戲是蠻大的一個機會,蘋果會不會覺得這個繞過他們,這可能不是我們引擎的角色能解決的問題。
Q:你們怎么看磊友呢?他們是Html5領域的先行者,而且一直在堅持。
陳:磊友現在是我們的潛在客戶,我們和他們并沒有直接的競爭關系。他們的定位是Html5游戲平臺和游戲內容開發商,但也遇到了同樣的問題:適配,兼容性,性能。
Q:他們做了幾年,沒有技術的沉淀嗎?
陳:這個東西技術門檻很高。馬鑒在Adobe十幾年,才積累下這么一套web渲染的技術和基于web的優化。多泡他們只做了兩三年,想全解決這些是很困難的。與其自己花很大成本去做,不如把這些難點交給Egret來解決,實現他們自己的核心價值,也就是很多好的內容。
馬:做引擎和做工具流門檻是很高的。Flash之所以普及這么廣,是因為有Flash pro,有Photoshop,有Illustrator,然后有很多成熟的工具圍繞著Flash讓你做游戲和應用。這些東西需要很長時間的積累。再者,原來我做Flash Player,知道Web游戲最痛的地方是什么。但是以前沒接觸過Flash Web游戲,而是因為Html5的興起而來做游戲的人,他們基本上沒遇到過這些問題。當他們碰到這些門檻的時候,就很難跨過去。對于磊友來說,他們專注于內容的研發,分發,讓他們去做引擎、工具太不劃算了,用我們的工具是性價比最高的方案。
Q:很多頂尖的引擎商都有自己的研發團隊,你們有計劃建立第一方的研發團隊嗎?
陳:我們自己確實會做一些游戲,但不是通過做游戲來盈利。首先我們覺得一個引擎公司如果不做游戲,很難了解游戲開發者真實的需求。其次開發者的增值服務體系里面,是包括我們幫他們出定制方案,幫他們搭建游戲的框架,甚至幫他們寫部分代碼,解決性能問題等等。所以我們確實會自己研發一些游戲,但只會維持在比較小的規模。
Q:剛剛說到商業化的問題,我們也很好奇你們作為開源的引擎,有什么商業化的構想?
陳:商業模式還在探索和完善的過程中。但我們的引擎一定會是免費并且開源的。我覺得當下的重點是做好引擎本身,服務好開發者,其他人通過我們來獲利。我們的商業模式之一就是和開發者分賬。你們用Egret引擎是免費的,想用增值服務,定制工具,定制方案,解決適配問題、開發難點,只要分一個點的流水給我們就可以了。換個說法,你賺錢了,分給我一點。如果只是試水的項目,那也沒關系。如果我們的工具足夠好用,平臺和開發者會希望我們越做越好,也肯定希望我們越來越強大。所以目前我們不是很愁商業模式,更大的壓力來自于怎么把Egret做成最好的引擎。
Q:有一個開發者說之前用開源引擎做項目,沒想到做到一半的時候開源引擎不維護了,項目受到了很大的影響。這個問題你們是怎么考慮的呢?
陳:我們之前也看到一些同行的做的不錯的引擎框架,但他們多數是社區開源,由一些愛好者聚集在一起做的,而不是像我們這樣進行商業化的運作。我們這個團隊有像馬鑒這樣來自Adobe的高手,帶來了一些以前的同事,包括Starling的參與者,Dragonbones的參與者,還有Flexlite的創始人,在不同的web領域的這些引擎框架的核心作者。我們也在爭取另外兩個很強的人,近期他們會加入。我們希望把這些最優秀的人聚集在一起,通過我的商業化的運作,投資和戰略規劃,能活得更長遠一些。我們很專注,不會又做游戲又做發行,只會專心把引擎做好。我們就是一個很小的公司,有幾十人,有大量的資金支持。未來越多人用我們這個東西,我們就有越多的資金,這個事情可以做的很長久。
Q:Egret編譯的速度如何?
馬:TypeScript的編譯器是微軟的,我們和他們有好幾輪技術會談,關于他們的編譯器的大規模編譯也提了很多建議,這些都是基于我們在Flash AS上的經驗。下周還和微軟有會議,會推進TypeScript編譯器的改進。
Q:Egret當前的目標主要還是2D?
馬:對,今年的路線圖主要還是2D,明年啟動3D相關的開發。
Q:Egret會不會提供一些周邊的工具呢?比如說拼圖工具或者導出工具?
馬:有,比如Flash pro我們就支持,Flash標準的工具流我們已經打通了。Flash動畫可以直接導出為我們的格式,骨骼工具Dragonbone也可以直接使用。我們為了降低轉移成本做了很多工作,比如我們做了一個AS轉TypeScript的工具,轉換完成以后只需要稍微調整一下就可以使用了。
陳:我們還提供了一個GUI系統,只需要做好皮膚和流式布局的方案,很容易就能適應不同屏幕的設備。實際上,我們借鑒了很多Flash上比較成熟的東西。
Q:目前都有哪些開發者進行內測呢?
馬:大概有兩類吧,一類是受邀請的已經開始用Egret做游戲的廠商,另一類是原來用Flash開發的AS3的大牛。我們一共邀請了大概100個左右開發者。他們上手都不用看文檔,一看結構設計就可以開始寫。
陳:這些人在各大頁游CP中可能都是CTO或者游戲主程。他們很自愿地來做小白鼠,來吐槽我們的東西,我們再加以改進。如果這些人都覺得好用了,那其他人就更沒有問題了。
Q:通過Egret打包成原生效率如何?
馬:接近于原生。我們不用瀏覽器渲染,我們寫了一套驅動層,和JavaScript里面做渲染的,比如說Canvas啊,繪圖是一一對應的。
陳:你就這么想,我們直接調用系統底層的觸摸、聲音等等,效率可能是幾倍于web上的。隨著web的提升,這差距會漸漸縮小。音效和音軌方面,原生就完全沒問題。
Q:六月份的Public Beta會有發布會嗎?
陳:如果時機成熟的話,我們可能會在八月的時候為真正的Final版本做發布會。六月份的正式公測所有人都能訪問Github。
TML5是移動互聯網的未來嗎?
自2010年喬布斯公開支持并在iOS禁止Flash后,在多數開發者心中,這開始變成一個肯定的答案。
2010年到2011年,HTML5概念被熱炒,受到追捧,甚至不少人預言HTML5應用將會替代原生app。但或許是當初被捧得太高,而不論是生態環境還是技術支持都遠遠算不上成熟,HTML5游戲在短暫熱捧之后遭遇諸多問題,隨后開始陷入冰谷,當初使用HTML5開發游戲的團隊紛紛轉型——HTML5或許將是未來,但現在談論還為時過早。
在被遺忘一段時間之后,現在,一些專注于游戲領域的HTML5引擎服務提供商正在重整旗鼓(詳見今日推送的第二篇文章),這讓我們不由再次回頭審視HTML5游戲走過的整個路程,并開始思考一個問題:在HTML5那條通往“未來”的遙遠道路上,它正站在一個什么樣的位置上?
■過去
2010年4月,蘋果公司宣布禁止FlashPlayer登陸iOS系統,鼓勵開發者使用HTML5技術,這一舉動引起了軒然大波,喬布斯甚至為此撰寫了一篇長文《關于Flash的幾點思考》進行回應。當年十月,Zynga收購了HTML5游戲引擎開發商Dextrose,并在隨后發布了第一款HTML5游戲《MafiaWarsAtlanticCity》。
從2011年開始,HTML5的概念開始火爆,在這一年,諸多大廠紛紛出擊這一領域進行布局,MOTO投資了HTML5游戲公司Moblyng,迪士尼收購了HTML5游戲引擎公司RocketPack。
Facebook社交游戲開發商Wooga也在當年宣布進軍HTML5和iOS游戲領域。
在同一年,Unity確認支持HTML5,Facebook收購HTML5技術團隊Strobe,將自身在移動端的發力重心放在HTML5上。同年,手游大廠EA、Popcap、Gameloft也相繼發布了自己的HTML5游戲。
在2011年底,還有一件重要的事情,Adobe宣布停止在Android系統更新FlashPlayer,并推薦開發者使用HTML5技術開發移動Web應用。
就在看起來形勢一片大好HTML5概念火熱的時候,哀歌從2012年開始唱響。
在2012年開年之際,此前MOTO投資的HTML5游戲開發商Moblyng倒閉是第一個音符,隨后在六月,Wooga宣布停止開發HTML5游戲,他們曾經推出一款HTML5游戲《MagicLand:Island》,但是玩家玩這個游戲的總次數只有130萬次,留存率僅5%,相比之下,他們在iOS平臺推出的《DiamondDash》則獲得了1800萬次的下載。
為這支哀歌譜下強音的是Facebook的失敗。在2012年9月,扎克伯格在接受采訪時表示:“Facebook曾經錯誤地將賭注押在了HTML5上,這是我們最大的戰略錯誤,致使我們錯失了移動市場的發展良機?!?/p>
在那之后,曾經被捧上高位打上未來標簽的HTML5技術在移動端狠狠摔落,HTML5開始淡出視野。
總結下來,HTML5在移動游戲領域所遭遇的困境,主要是由于四個原因:
1、技術不成熟,開發生態不完整
2、沒有合適的載體,瀏覽器渲染性能低下
3、沒有成熟的生態環境(渠道,運營商)
4、受制于網絡環境
這些原因最終造成了游戲功能和表現受限,體驗大打折扣。
在2013年底,下一代JavaScript標準規范ES6草案鎖定并正式發布。
■現在
目前HTML5的框架和庫都普遍偏于Web應用的制作,專注于游戲的偏少,比較流行的HTML5框架包括CreateJS,JQuery,AngularJS和Node.js,專注于HTML5游戲的引擎有Impact、Phaser、Pixi、Createjs、EaselJSPhaser、Turbulenz、GameClosure、Coco2d-HTML5和Egret等。
現在主流網站幾乎全部支持HTML5標準,幾乎所有流行的網站都采用了HTML5技術。但是在移動設備上,還尚未出現非常成熟的HTML5應用或游戲,這一市場還在剛剛起步。游戲方面,此前有一二三國、修仙三國、三國喵喵傳等游戲,而目前,墨麟、游戲谷、光年互動等開發商正在開發HTML5游戲。
正在發生的另外一些事情:
1.各瀏覽器對HTML5標準化的支持正在慢慢趨于一致
2.硬件的變革正在不斷推動采用HTML5技術制作的復雜應用和游戲的用戶體驗的快速提升
3.Web游戲類型在3G/4G網絡下的數據發送接收速度正在變得相對高效,但目前國內總體網絡質量仍不樂觀
4.逐漸涌現出的HTML5游戲引擎和制作工具,開始降低H5游戲制作成本,并提高游戲開發效率
5.混生應用出現,上層使用h5開發,底層使用c++渲染,性能得到很大提升,這種方式是當前階段的主流
6.一些巨頭正在嘗試引領這個市場,騰訊的手機QQ空間的安卓版應用,在前段時間將“玩吧”菜單放置在了底部菜單欄的一級入口;在玩吧中,現在已經上線了不少HTML5游戲,不僅有休閑游戲,也有一些卡牌類的中重度游戲,同時在安裝QQ空間首次登錄時,會自動進入一個名為“讓童年飛”的HTML5休閑游戲,騰訊正在嘗試引導用戶嘗試這些HTML5游戲,不過總體來說,內容還處于匱乏階段,玩吧目前僅提供13款游戲;此外還有百度輕應用等。
看起來一切正在往前有序推進,不過站在游戲開發者角度來說又是什么看法?
在一些開發者看來,HTML5游戲開發快、易調試、跨平臺、推廣成本更低的特點,或許會是其優勢所在,但是問題的核心在于如果不能在游戲體驗上給予玩家更多好處,那么就沒有太多的理由去看好,基于這點才會有市場,別的都是業內臆想。
而對于游戲玩家來說,內容才是永遠的核心。
■未來
HTML5的成熟條件是什么?
*請認真填寫需求信息,我們會在24小時內與您取得聯系。