各位開發者好。

春節前,白鷺

引擎團隊發布了 Egret3D 1.4,引入了大量新特性。上週,白鷺引擎團隊發布了 5.2.14 版本,修復了多個白鷺引擎2D渲染器相關的 BUG,接下來我們會在下週繼續發布 5.2.15 版本提升2D引擎穩定性。

除此之外,近三個月以來白鷺引擎團隊還對 3D編輯器(開發代號:Egret Paper)先後進行了邀請內測和公開測試。在這三個月中感謝諸位開發者的反饋,白鷺引擎的3D編輯器即將正式發布,並正式命名為 Egret Pro。

Egret Pro 不是一個新的引擎,而是一套優化後的開發工作流,他致力於幫助開發者提升開發效率,而不是提升運行效率。

上圖為 EgretPro 的架構以及與 Egret 渲染器的關係,通過上圖可以看出,Egret Pro本身不幹預遊戲渲染的底層機制,而是繼續使用 Egret2D 與 Egret3D 的運行時庫,並專註於通過這套結構幫助開發者提升開發效率。接下來 Egret Pro 將作為開發者入口,包容 Egret2D 與 Egret3D ,形成一套完整的開發工作流。

Egret Pro 目前為完全免費產品,但是我們後續會在其中添加部分收費功能。目前我們提供的免費功能如下:

一、基於組件實體系統架構的開發工作流

Egret Pro 中使用了組件實體系統架構,這種架構的核心設計思想在於「數據驅動開發」,通過各種方式,遊戲業務邏輯被分解為了不同的組件,並可以通過編輯器對自定義組件進行可視化編輯與預覽。

通過上圖可以看出,開發者只需要在遊戲邏輯中對組件定義裝飾器,就可以實現在編輯器的可視化編輯,通過這種方式,可以大幅簡化開發者在遊戲的細節數值、特別是打擊感方面的工作方式,提升開發效率。

二、增量編譯速度提升20倍

Egret Pro 中,我們拋棄了原有的由白鷺引擎團隊定製的 TypeScript 編譯器,而是內置了 webpack 作為底層編譯核心。通過一系列的重構調整,目前經過重度項目實際檢測,項目編譯性能提升了超過20倍。通過這些調整,我們為開發者節省了大量用於編譯和等待的時間,進而實現了開發效率的提升。

三、完全支持 npm 生態

藉助於內置的 webpack,開發者可以在Egret Pro 中安裝任何支持在瀏覽器中運行的 npm 庫,包括並不僅限於:

1、underscore 開源 JavaScript 函數工具集;

2、jQuery 開源 DOM 操作庫;

3、axios 開源 XHR 封裝庫;

4、socket.io 開源客戶端/伺服器通訊協議;

5、vue 開源前端開發框架。

除此之外,由於 Egret Pro 自身也採用 npm 進行版本管理和維護,所以開發者可以更方面的使用 Linux 等操作系統將白鷺引擎項目添加您的持續集成伺服器中(如 Jenkins )。

四、支持更多小遊戲平臺

Egret Pro 目前除了已經正式支持的微信小遊戲、QQ玩一玩、百度小遊戲、Facebook Instant Game之外,我們還支持發布到頭條小遊戲平臺、快應用聯盟小遊戲平臺(如華為小遊戲、小米小遊戲、OPPO小遊戲、VIVO小遊戲等),並在上述平臺中均有已內測的遊戲發布。但是受限於與一部分合作夥伴的商業條款,我們暫時無法確定在正式對部分小遊戲平臺提供一鍵發布以及後續技術支持的時間點。

後續路線圖

2019.3.1

Egret Pro 0.9 正式發布,這個版本我們以 Egret2D 5.3.2 版本與 Egret3D 1.4 版本為默認的引擎版本,並優化了公測開發者反饋比較強烈的幾個問題:

1、安裝機制過於複雜,需要安裝 3D 編輯器,Egret 5.3.2 ,paper-cli 才能進行開發;

2、修改代碼後編譯速度過慢;

3、編輯模式下(特別是同時開啟編輯模式和瀏覽器預覽時)佔用GPU資源過高。

我們推薦採用白鷺引擎開發3D遊戲以及新立項開發重度2D遊戲的團隊使用 Egret Pro。這個版本的侷限性在於,2D遊戲開發並沒有與組件實體系統進行緊密的集成,所以輕度 2D 遊戲使用 Egret Pro的投入產出比不是很大,僅能帶來編譯速度的提升,而沒有可視化編輯功能,又由於輕度項目自身的編譯速度很快,所以帶來的開發效率提升有限。

2019.4

Egret Pro 1.0 正式發布,預計更新的功能包括:

1、將引擎 2D / 3D 的更新內容同步至 Egret Pro,主要是 Egret 2D 的BUG修復以及3D版本中引入的新特性;

2、在盡量不修改 API 的前提下在 Egret2D 項目中引用組件實體系統;

3、可視化編輯器支持編輯2D場景。

除了 EgretPro 之外,我們還重點優化現有 2D 引擎的如下功能:

1、優化 EUI 皮膚文件的編譯體積,並集中修復 EUI 模塊的一些問題;

2、優化 AssetsManager 的載入機制,完善弱網路環境下的異常捕獲和重試機制;

3、提升 Egret Native 的運行性能和穩定性;

4、將 Protobuf 庫作為白鷺引擎的核心擴展庫,並提供針對重度遊戲有針對性的進行編譯體積優化。

2019.5

推出基於重度遊戲開發解決方案,此方案的大部分功能目前均以開發完畢,並已經應用在尚未正式上線的遊戲中。引擎團隊會確保在該遊戲正式發布後,將其提取為一套解決方案,以供重度遊戲開發團隊使用,該解決方案新特性如下:

1、大幅降低遊戲的 JavaScript 運行時內存,重度遊戲初始內存從 50M 降低至 20M;

2、通過一套與 EUI 集成的 MVVM 框架,簡化遊戲業務邏輯代碼行數,與傳統 MVC 架構相比,代碼行數減少一倍以上,BUG率降低兩倍以上,整體開發週期減少30%。(根據真實項目採用該方案前後對比的數據);

3、提升遊戲載入速度,不修改資源尺寸的前提下,遊戲載入速度提升25%。

如果您目前有新的重度遊戲項目(或者是開發週期在兩個月以上的「換皮」項目)立項,希望提前使用重度遊戲開發解決方案,請聯繫白鷺引擎的商務團隊 [email protected],並註明重度遊戲開發框架,我們會根據您的具體情況為您提供定製化的支持。

結語

Egret Pro 將在 2019年3月1日面向所有開發者正式發布,版本發布後我們會繼續對 Egret Pro 以及我們一直維護的 Egret2D / Egret3D / UI Editor / Egret Launcher 等代碼庫和工具進行持續迭代更新。


推薦閱讀:
相關文章