白鷺引擎5.1產(chǎn)品服務(wù)升級,推出云平臺并大幅提升核心性能
12月4日,H5游戲引擎商白鷺科技為開發(fā)者正式推出了全新白鷺引擎啟動器Egret Launcher,該版本在深度優(yōu)化交互體驗(yàn)基礎(chǔ)上,并整合了白鷺引擎5.1最新版本與代碼編輯器Egret Wing 4.1。白鷺科技上線全新產(chǎn)品連發(fā)組合拳,不僅彰顯其“穩(wěn)重高選”的品牌屬性,更標(biāo)志著產(chǎn)品實(shí)現(xiàn)由工具到服務(wù)的全面戰(zhàn)略轉(zhuǎn)型升級。
全新啟動器緊密連接開發(fā)者
改版后的Egret Launcher更具科技范,簡約不失格調(diào),化繁為簡的UI設(shè)計(jì),為開發(fā)帶來全新視覺和個(gè)性化體驗(yàn),除此之外還新增用戶登錄和離線模式功能,即使在無網(wǎng)絡(luò)連接狀況下,依然可以使用部分功能。在深度優(yōu)化交互體驗(yàn)基礎(chǔ)上,白鷺引擎還上線新增新聞模塊,使開發(fā)者能及時(shí)了解白鷺官方團(tuán)隊(duì)推送的引擎更新內(nèi)容以及行業(yè)最新動態(tài),幫助開發(fā)者了解到引擎的最新進(jìn)展、一手教程與最佳實(shí)踐。
改進(jìn)項(xiàng)目管理等功能
白鷺引擎啟動器對于項(xiàng)目管理功能也進(jìn)行了改善,在項(xiàng)目列表中新增了項(xiàng)目類型標(biāo)簽。開發(fā)者在創(chuàng)建項(xiàng)目中可選擇Egret EUI項(xiàng)目、Egret 3D項(xiàng)目、Facebook Instant Game Demo項(xiàng)目、WebAssembly示例項(xiàng)目,利于方便對多個(gè)項(xiàng)目的創(chuàng)建和管理。之后的版本還會對進(jìn)一步細(xì)化項(xiàng)目管理的可視化配置。
工具后臺向云平臺全面升級
白鷺引擎啟動器內(nèi)置了白鷺引擎逐步開放給開發(fā)者的諸多服務(wù),這標(biāo)志著白鷺引擎已經(jīng)逐步從代碼框架、開發(fā)工作流逐步進(jìn)化為為開發(fā)者提供引擎服務(wù)的核心理念,即:引擎 = 核心框架 + 工具鏈 + 云平臺服務(wù)。引擎團(tuán)隊(duì)會逐步向開發(fā)者提供了如下服務(wù):
1.集成微端,提升游戲性能與留存
本次改版最為值得關(guān)注的是,新Egret Launcher將微端直接集成在內(nèi),方便開發(fā)者快捷的創(chuàng)建游戲。微端是由白鷺科技推出的全新產(chǎn)品,以解決H5游戲打包為原生APP 而發(fā)布的原生打包解決方案。白鷺微端解決方案具有極小包體,完善的資源版本管理理功能,易推廣高留存等特性。
目前,白鷺微端安卓系統(tǒng)的 apk安裝包不足1MB,蘋果系統(tǒng)的安裝包也僅有2MB,可以有效的降低用戶的下載安裝門檻。白鷺微端還內(nèi)置Runtime、Webview兩種運(yùn)行模式,Runtime模式下可大幅度提升基于Egret引擎所研發(fā)的游戲性能,而Webview模式最大化保證兼容性,支持了其它不同游戲引擎所開發(fā)的H5游戲。與此同時(shí),通過動態(tài)加載技術(shù),白鷺微端實(shí)現(xiàn)所打包的原生APP包體極小,節(jié)省游戲推廣成本,并提高游戲的用戶留存率。
2.云部署,降低開發(fā)者的部署門檻
白鷺云部署會與白鷺引擎 5.1 的全新白鷺編譯器工作流進(jìn)行深度整合,使開發(fā)者在進(jìn)行完環(huán)境配置后,僅需一鍵即可將HTML5游戲項(xiàng)目部署到外網(wǎng)測試環(huán)境中,同時(shí)可以設(shè)置訪問權(quán)限,開放給內(nèi)部同事、合作伙伴、測試玩家。除此之外還能方便的進(jìn)行版本管理,成員控制等功能。
在白鷺云部署推出以前,HTML5 開發(fā)者如果想要部署外網(wǎng)測試環(huán)境需要手動發(fā)布游戲,上傳外網(wǎng)服務(wù)器,手動添加訪問成員,手動進(jìn)行版本控制,除此之外還需要開發(fā)游戲測試網(wǎng)頁。
白鷺云服務(wù)的推出大大節(jié)約了開發(fā)者的研發(fā)時(shí)間,近期將會跟開發(fā)者見面。
3.錯誤日志分析,幫助開發(fā)者更快定位錯誤信息
使用云部署的白鷺引擎項(xiàng)目可以使用白鷺引擎提供的錯誤日志分析能力,幫助開發(fā)者快速定位源碼級錯誤信息,幫助開發(fā)者更快更有效的定位您線上產(chǎn)品的錯誤,并進(jìn)行快速修改。
4.Google&白鷺廣告平臺,為開發(fā)者變現(xiàn)提供支持
Google&白鷺廣告平臺整合了谷歌全球廣告大數(shù)據(jù)和白鷺HTML5引擎技術(shù),為廣告主和開發(fā)者提供了覆蓋廣泛、定向精準(zhǔn)、人群數(shù)據(jù)畫像分析、高效轉(zhuǎn)化的營銷服務(wù)和變現(xiàn)途徑。廣告平臺支持文字、圖片、視頻、原生、信息流等多素材多創(chuàng)意的廣告樣式,以大數(shù)據(jù)計(jì)算能力和用戶人群畫像分析,實(shí)現(xiàn)多樣化廣告形式、海量廣告資源、場景化觸達(dá)H5游戲用戶,精準(zhǔn)鎖定目標(biāo)群體投放。目前白鷺引擎已經(jīng)集成了該項(xiàng)服務(wù),方便開發(fā)者快速為 HTML5 游戲加入廣告系統(tǒng)。
5.整合Facebook Instant Game,方便開發(fā)者出海
白鷺引擎完成對Facebook HTML5 游戲業(yè)務(wù)Instant Game平臺的支持,開發(fā)者可以一鍵創(chuàng)建出 Instant Game 的示例項(xiàng)目,并包含所有 API 的示例代碼和中文的說明文檔。
除了上述內(nèi)容之外,引擎團(tuán)隊(duì)后續(xù)還會推出性能分析報(bào)告以及整合白鷺的數(shù)據(jù)分析等服務(wù)提供給開發(fā)者。
白鷺引擎 5.1發(fā)布,大幅提升重度游戲開發(fā)效率與運(yùn)行效率
除了這些新推出的云服務(wù)之外,白鷺引擎也對旗下的核心引擎與工具產(chǎn)品進(jìn)行了升級,主要包括白鷺引擎 Egret Engine 5.1 與開發(fā)工具 Egret Wing 4.1 的升級。白鷺引擎在 2017年5月份正式發(fā)布了 5.0 版本,經(jīng)過了14個(gè)小版本的不斷迭代,逐步向開發(fā)者提供了以下功能:
- WebAssembly 渲染器 beta,顯著提升游戲渲染效率
- 文字與矢量渲染優(yōu)化,顯著提升大屏幕手機(jī)對文字和矢量渲染的清晰度
- 大幅提升 DragonBones 骨骼動畫的運(yùn)行性能
- 提升 EUI 項(xiàng)目的編譯速度
- 解決部分 iOS 設(shè)備用戶在激活輸入文本后渲染異常的問題
目前,以上功能均已穩(wěn)定,白鷺引擎接下來會采用雙版本迭代的策略。一方面不斷完善 5.0.x 版本,不引入新功能,專注穩(wěn)定性提升,錯誤修正以及不破壞整體結(jié)構(gòu)的小幅性能優(yōu)化。另一方面,引擎發(fā)布了包含新特性的 5.1 版本。
對游戲開發(fā)者而言,如果您的游戲已經(jīng)發(fā)布或者即將發(fā)布,我們推薦您使用穩(wěn)定版,如果您的游戲剛開始使用白鷺引擎做新項(xiàng)目、或者迫切的需要一些新特性,您可以使用 5.1 版本。 我們開發(fā)團(tuán)隊(duì)會根據(jù)收集開發(fā)者的反饋對 5.1 版本進(jìn)行完善。如果您在使用 5.1 版本時(shí)遇到任何問題或者有什么建議,請隨時(shí)與白鷺官方團(tuán)隊(duì)保持聯(lián)系,以便第一時(shí)間由白鷺團(tuán)隊(duì)幫助您解決遇到的這些問題。
由于目前 HTML5 游戲愈發(fā)重度化,白鷺引擎這幾個(gè)月也做了諸多具有針對性的改進(jìn),提升重度游戲的開發(fā)體驗(yàn)。我們認(rèn)為,開發(fā)一款重度游戲,目前主要仍然存在著以下痛點(diǎn)需要解決:
- 重度游戲構(gòu)建速度過慢
- 構(gòu)建工作流不易擴(kuò)展
- 游戲運(yùn)行性能需要進(jìn)一步提高
目前白鷺引擎 5.1 版本引入的全新功能如下:
1.重構(gòu) JavaScript 渲染邏輯,渲染性能大幅提升
白鷺引擎在 5.0 版本引入了 WebAssembly 渲染器,大幅提升了游戲的渲染性能。在這個(gè)過程中,白鷺團(tuán)隊(duì)也總結(jié)了更多的 HTML5 游戲渲染優(yōu)化策略,并將這些策略應(yīng)用到了現(xiàn)有的 JavaScript 渲染模塊上。簡而言之,白鷺引擎 5.1 版本的 JavaScript 渲染器得到了進(jìn)一步的性能提升,在特定 Benchmark 上尤為明顯,提升超過三倍
在實(shí)際游戲項(xiàng)目中,由于游戲的渲染列表遠(yuǎn)比特定 benchmark 復(fù)雜,并且游戲業(yè)務(wù)邏輯開銷也會占用不少性能,經(jīng)過我們實(shí)際在游戲項(xiàng)目中的測試,我們推論這項(xiàng)改動對您的整體游戲性能會帶來 10% 左右的性能提升。這些幀頻提升會使 HTML5 游戲的整體幀頻更為穩(wěn)定,并進(jìn)一步降低 HTML5 游戲的耗電與發(fā)熱情況。
2.新的編譯器架構(gòu),更方便定制的工作流
白鷺引擎 5.1 采用了新的命令行架構(gòu),重點(diǎn)調(diào)整了 egret build 與 egret publish命令,并將命令行重命名為白鷺編譯器。
在之前的版本中,白鷺引擎的構(gòu)建與發(fā)布命令對開發(fā)者而言是一個(gè)黑盒,開發(fā)者只能了解到當(dāng)您執(zhí)行了 egret build以及egret publish之后,經(jīng)過一段短暫(或者漫長)的等待時(shí)間后,您的源代碼和資源就會生成到一些特定的位置上。當(dāng)開發(fā)者有需要對引擎的發(fā)布進(jìn)行擴(kuò)展的需求時(shí),您無法對引擎的發(fā)布過程進(jìn)行定制,只能自己編寫一些腳本,并將白鷺引擎的發(fā)布過程作為您編寫的腳本中的一部分。
在新版本中,白鷺編譯器構(gòu)建的所有行為都變成了插件,并直接將插件的執(zhí)行順序暴露給您,具體機(jī)制如下:
通過上述代碼,我們可以很清晰的看出,引擎發(fā)布會先后執(zhí)行 EXML 構(gòu)建、源代碼編譯、代碼混淆這三個(gè)步驟。這樣一方面您可以了解到命令行中到底執(zhí)行了什么,另一方面您也可以輕松的去調(diào)整這些配置。
在下個(gè)小版本中,白鷺官方將會允許開發(fā)者加入您自己的插件,去擴(kuò)展整個(gè)發(fā)布過程。
3.重構(gòu)優(yōu)化構(gòu)建邏輯,提升構(gòu)建速度
在新的編譯器開發(fā)過程中,我們優(yōu)化了編譯器的內(nèi)部構(gòu)建邏輯,以解決大型項(xiàng)目編譯速度緩慢的問題。由于引入了虛擬文件系統(tǒng)作為編譯器對底層硬盤數(shù)據(jù)的抽象,新的編譯器在執(zhí)行增量編譯的速度會得到大約10%的構(gòu)建速度提升,在老式的機(jī)械硬盤上會更加顯著。
除此之外,由于使用了基于流的文件處理機(jī)制,引擎的發(fā)布速度得到了大幅的提升,通過白鷺引擎與一款重度游戲的技術(shù)合作為例,該項(xiàng)目中包含了11000余個(gè)文件,500兆資源,發(fā)布一次原生版本的發(fā)布速度從 150秒減少至 50 秒。
這次版本只是我們對構(gòu)建速度優(yōu)化的第一步,接下來我們會引入一些新的機(jī)制提升引擎的構(gòu)建速度。
4.項(xiàng)目配置文件梳理,更易理解的產(chǎn)品體驗(yàn)
每一個(gè)白鷺引擎項(xiàng)目中均包含一個(gè) egretProperties.json 文件,這個(gè)文件之前會包含了一個(gè)名為 egret_version的字段,用于指定采用哪個(gè)版本的白鷺引擎進(jìn)行編譯。
在 5.1 版本中,我們引入了兩個(gè)新的字段,分別是 compilerVersion與engineVersion分別表示引擎編譯器的版本與引擎運(yùn)行時(shí)庫的版本。原有的 egret_version字段在新版本中將被廢棄。
這種修改是為了更清晰的表達(dá)“編譯器”與“引擎”是兩個(gè)不同的概念。編譯器指執(zhí)行 egret build / egret publish 等開發(fā)者需要的命令,而引擎指 egret.js / eui.js 等游戲運(yùn)行所需要的 JavaScript 腳本。而之前的 " egret_version " 無法清晰的表達(dá)這個(gè)概念。
從 5.1 版本開始,我們建議開發(fā)者使用最新的編譯器版本,以及相對穩(wěn)定的引擎版本。由于保證了引擎和編譯器的獨(dú)立性,白鷺可以為開發(fā)者提供更多有價(jià)值的功能,因此,開發(fā)者完全無需擔(dān)心您的現(xiàn)有項(xiàng)目無法使用新的編譯器架構(gòu)。
為了配合這次改動,白鷺的啟動器也做出了全新的改版。新的版本在完善用戶體驗(yàn)的同時(shí),刪除了“選擇當(dāng)前引擎”這一功能,因?yàn)槟捻?xiàng)目應(yīng)該使用哪個(gè)版本的引擎是配置在項(xiàng)目的配置文件中,而不是配置在一個(gè)全局空間中。
5.開發(fā)工具升級,支持引擎 5.1 新特性
除了核心引擎升級之外,白鷺的開發(fā)工具 Egret Wing 也升級到了 4.1 版本,支持了如下特性
- 創(chuàng)建項(xiàng)目改為調(diào)用白鷺引擎啟動器的項(xiàng)目創(chuàng)建,統(tǒng)一引擎的整體工作流
- EUI 編輯支持 Egret 5.1 項(xiàng)目
- EUI編輯支持 WASM 項(xiàng)目
- 修復(fù)資源編輯反復(fù)切換后,九宮格編輯面板出現(xiàn)問題的BUG
- 允許所有 res.json為后綴的文件都用資源管理編輯器打開
更多功能敬請期待
- 這次版本發(fā)布白鷺團(tuán)隊(duì)為開發(fā)者帶來了大量的引擎與工具方面的新特性與改進(jìn),除此之外,白鷺引擎會在接下來的一個(gè)月內(nèi)逐步向開發(fā)者提供以下功能。
- 將內(nèi)置的資源加載模塊切換至 Egret ResourceManager,這將會使白鷺引擎創(chuàng)建的項(xiàng)目直接內(nèi)置資源熱更新、資源分平臺部署等重度 HTML5 游戲需要的特性
- 改善 EUI 的加載速度和資源尺寸,解決重度 HTML5 游戲因?yàn)?UI 界面過多導(dǎo)致的游戲初始化卡頓問題
- 大幅提升原生App 的運(yùn)行性能,徹底解決開發(fā)者長期以來詬病的白鷺引擎原生打包性能低于其他 HTML5 游戲引擎的問題
- 更多的發(fā)布平臺支持,允許開發(fā)者快速將您的游戲發(fā)布到一些新的平臺上
- 更快的構(gòu)建速度,理論值提升三倍以上,這將大幅提升重度 HTML5 游戲的開發(fā)效率
上述內(nèi)容已經(jīng)完善了絕大部分功能,如果開發(fā)者希望搶先獲取測試,歡迎與白鷺官方團(tuán)隊(duì)進(jìn)行聯(lián)系。在帶來這些新特性的同時(shí),白鷺官方也會繼續(xù)完善白鷺引擎的5.0舊版本,幫助已經(jīng)上線的產(chǎn)品進(jìn)一步改善穩(wěn)定性。