Egret 2020,技术沉淀与产品突破

Stella981
• 阅读 705

时光飞逝,2020已近尾声,虽然由于行业的变化等原因,白鹭引擎的市场声音在减少,但团队内部的研发工作一直没有松懈,回首这一年的产品研发历程,白鹭引擎今年产品迭代的核心围绕高性能、易用性、工作流融合三个方面展开,全面改善了Egret Engine的整体开发效率,加强2D/3D游戏开发工作流的融合,重点解决原生游戏的性能,横纵贯穿2D/3D游戏、H5游戏/原生游戏不同品类游戏研发场景,并形成全新的游戏开发工具流。自此,逐渐突破了H5小游戏品类的限制,成长为一款更加全面的游戏引擎。

自2013年底开始,白鹭引擎团队带着多年游戏研发的积累,转型并专注于游戏引擎的研发,不断攻克底层技术创新,帮助开发者提高游戏开发、游戏加载、游戏运行三大效率。7年的坚持,如履薄冰,取得过辉煌的成绩,也遇到过巨大的挫折,但团队从未放弃,始终专注于产品的研发和迭代,并努力提升技术支持服务质量,与众多开发者形成良好互动。

仅2020年,白鹭引擎官方陆续收集到4672条来自社区和开发者的需求和建议,解决了1400多个问题,发布了51个小版本,定向服务了数百个项目。现在,白鹭引擎的有效注册开发者数量已突破56万!

回顾2020经历的风雨,展望未来,白鹭科技会一直保持初心和热情,希望与更多的开发者、合作伙伴一起成长:

Egret2D 已经稳定成为2D/2.5D 中重度手游厂商首选

在2014至2020年的7年时间里,白鹭引擎团队见证了HTML5游戏行业从无到有并不断壮大的过程,也见证了Web技术生态圈的不断成熟。在2014年,白鹭引擎的研发团队还在为JavaScript语法、游戏渲染性能、音效播放、缓存失效等功能无法获得诸多浏览器的全面支持和覆盖感到深深的无力,而现在ECMAScript2020、WebGL、WebAudio、ServiceWorker等诸多特性的成熟,白鹭引擎已有能力承载更复杂、更重度的游戏内容。

Egret 2020,技术沉淀与产品突破

2019年团队核心的工程师有超过半年驻场在广州等头部开发商比较集中的城市,通过近距离的支持,发现这些项目的代码发布尺寸均有增加,这意味着这些游戏的体量在进一步扩大。白鹭引擎的重心专注在服务存在多样需求的开发者,通过改善贯穿有设计、开发、编译器等工具的工作流,提升开发者的开发效率。在2014年白鹭引擎初期研发阶段,整个JavaScript生态百废待兴,白鹭引擎团队不得不自己创造条件,这七年以来,随着JavaScript在工程化方面的不断改进,越来越多的前瞻性技术不断成熟。团队实施了引擎编译器的技术重构,最终实现了npm-import, tree-shaking, asyncsubpackage等能力,并且通过完全重新实现的增量编译器,将引擎的增量编译速度提升至了10倍以上。

Egret 2020,技术沉淀与产品突破

对一个维护七年并拥有大量开发者的引擎来说,将编译器进行完全重写并让开发者现有的项目可以移植到新编译器上是一件非常有挑战的事,通常最简单的做法是”新项目新版本,老项目老版本“,但是本着对开发者负责的态度,引擎研发团队用超过四个月的时间,向重度游戏开发者们普及可在他们现有的游戏上使用的新编译器,并针对他们提出的问题进行快速定位解决,然后向所有开发者推送问题案例及解决方安。

Egret 3D 针对HTML5的现状提供务实的优化方案

2019年白鹭科技发布了3D的可视化编辑器Egret Pro,这款可视化编辑器早在设计之初即采用了组件实体系统架构,这种架构强调以数据为中心,将业务逻辑和数据进行分离,而这也是近两年国内外游戏引擎设计方向上的一个趋势。就实践项目来看,使用这种组件实体系统架构存在几个优势,一是方便进行跨编程语言引擎的设计,二是关注点分离,方便数据在不同业务场景下的差异化进行横向复用而非传统的纵向复用,颇有面向切片编程(AOP)的设计思路。目前EgretPro的这套ECS架构白鹭引擎团队还在进一步的扩展内容中。

今年白鹭引擎3D产品线重点针对HTML5游戏的应用场景,为EgretPro添加了动画烘焙、自定义Shader等特性,并实现了在现有白鹭游戏中添加使用EgretPro开发的3D内容这一功能。

Egret Native迈入了1.0系列稳定版

Egret 起源于H5游戏,而又成功突破H5品类的限制,成长为一款跨平台的游戏引擎,与Egret Native稳定版密不可分,凭借这份核心优势,白鹭引擎收获了众多用户。

事实上,在 EgretNative早期版本中,白鹭引擎主要支持的是现有的HTML5游戏发布为原生应用这种需求,而HTML5游戏与原生游戏在音频系统、网络系统、文字渲染、原生渲染等细节方面的处理并不完全一致,因此白鹭科技与数百款原生游戏项目合作,从项目开发实践中接收问题,并通过递进式重构,优化原有模块,确保问题发现即解决,不留后患。

Egret 2020,技术沉淀与产品突破

此外,手游出海现在已经是必然趋势,而EgretNative 早期版本对部分海外国家文字支持并不好,但今年这一状态已不复存在。今年,白鹭引擎重点完善了对多语言的支持,支持非utf-8文件加载,完善了泰文、韩文等复合文字的输入和显示,方便了开发者上线非中文市场,更轻松的实现游戏全球化推广目标。

现在,通过Egret Native打包成APP提交到Appstore、Google Play、TapTap等渠道的游戏超过4000款,其中较为突出的品类为传奇类、仙侠类、放置类、卡牌类、宫斗类、换装类、二次元类。

Egret技术支持服务质量改善明显

优质的技术支持服务可以为用户体验加分,而白鹭科技今年为技术支持服务重点做了3点调整:

  1. 有问有答,提升以社群、论坛为核心的线上技术支持平台服务质量。今年白鹭引擎陆续收集到4672条来自社区和开发者的需求和建议,解决了1400多个问题,申请、论坛的交流氛围改善明显;

  2. 加强定向服务项目问题解决进度透明化。今年白鹭引擎的定向服务项目进行优化调整,对问题进行分类并划分权重,确保服务的项目方正常开发/运营。这一变化不仅加强了白鹭引擎与项目方之间沟通的紧密度,更让问题的处理更加井然有序,大大提高了问题解决的效率。今年白鹭引擎陆续定向服务数百个项目。

如果有对白鹭引擎定向服务感兴趣的小伙伴可以查阅往期文章了解:《网易经典IP大作《梦幻西游网页版》开发经验分享》、《白鹭引擎助力《迷你世界》研发团队开发3D小游戏版》、《TapTap预约榜第1,优质手游项目《绯红之境》的研发路》。

  1. 完善3D基础教程文档,带领大家实战开发。3D游戏开发是今年的热点趋势之一,很多开发者希望通过Egret Pro来创建3D游戏,但由于其缺少相关经验、入门困难,为此白鹭科技从搭建开发环境开始,带领大家一步步学习单个模块内容,并实战开发了跑酷和切水果游戏等多款小游戏,积累了众多Egret Pro的忠实用户。

2020年成果

一直以来白鹭科技专注引擎工具开发,定向支持服务众多游戏及其他领域商业项目,凭借过硬的技术及专业的服务赢得了开发者的认可,已然成为业内重度小游戏领域的首选。

Egret 2020,技术沉淀与产品突破

今年,白鹭科技曾先后助力《梦幻西游网页版》、《迷你世界创造板》、《朝歌封神录》、《绯红之境》、《命运战歌》、《骑士纷争》、《开拓幻想篇》、《无限贝拉》、《安尼卡:暗黑世界无尽轮回》、《神都探奇》、《宫锁心计》、《皇帝成长计划2》、《厨神来了》、《皇上吉祥2》、《枪火工厂》等众多小游戏、原生游戏上线发布,为游戏项目的全球化商业运营保驾护航!

                                                                                                                   Egret 2020,技术沉淀与产品突破

此外,白鹭科技在动漫、教育、电商、广告、地产、金融等领域领域也积累了诸多案例项目,如:手机淘宝里的省钱消消消小程序,教育领域的贝尔科教-少儿编程和小塔学院-启蒙语文,以及知名动漫《王爷你好贱》等项目都在使用Egret 引擎工具流开发。值得一提的是,白鹭科技与动漫领域的知名品牌“小明太极”围绕动漫、游戏等多项业务将会展开深度合作。

展望2021

白鹭科技在2020年针对白鹭引擎的开发工作流、编译效率、原生游戏运行效率方面做了诸多的改进,在接下来的2021年白鹭科技将迈出更大步伐,推出开发者期待已久的Egret6.0,这将是一个”跨时代的全新版本“,重点改进以下内容:

1.支持更多的平台,包括移动平台、PC平台以及非游戏行业的微信小程序平台。

2.支持更大型和重度的原生游戏项目,摆脱小游戏的性能束缚。

3.对原生云游戏的开发支持进行前瞻性的探索。

4.深入对在线教育等非游戏领域的产品解决方案。

5.采用WebAssembly技术实现引擎的部分功能,目前DragonBones已经采用WebAssembly重写并在内部测试中。

6.整合EgretPro的组件实体系统架构引入RxJS实现函数式编程。

7.继续提升开发者服务质量,结合云端能力,为开发者提供增值服务。

随着Egret Engine的应用场景的增多,白鹭科技会更加努力提升产品性能,提高团队的技术服务,与众多开发者、合作伙伴一起成长!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Unity小王子私藏的开发2D游戏的常用插件合集
Unity以开发3D游戏见长,早期版本的Unity在开发2D游戏时不慎方便,因此AssetStore出现了很多2D游戏开发引擎。现在Unity对2D游戏的支持越来越好,而这些开发2D游戏的Unity插件也得到了更多开发者的喜爱。1:RexEngine:Classic2DPlatformerEngine(https://www.os
Stella981 Stella981
3年前
Protobuf在微信小游戏开发中的使用技巧
微信小游戏发布后,许多HTML5游戏开发者希望把现有的HTML5游戏迁移到微信小游戏中,但由于一些技术上的问题导致进程卡壳。通过梳理Egret社区、白鹭小游戏开发技术讨论群等途径的反馈后发现,有不少开发者遇到的难题在于「如何在微信小游戏中使用Protobuf」。白鹭引擎架构师王泽在近期发布了一个开源项目protobufegret,提供了一个可
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
Egret 5.3 正式发布,为重度小游戏开发带来新技能
各位开发者好,白鹭引擎团队今天发布2020年最大的一次更新:Egret5.3版本。由于白鹭引擎团队在2019年已经针对部分开发者提供过内部的5.3.x版本,所以本次更新的版本号为5.3.5。根据白鹭引擎2018年以来的规划,版本号第二位为奇数位表示这个版本是抢先体验版而非稳定版,因此我们将在Egret5.3系列版本中相对激进的引入新特性,但是
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这