各位开发者好。

春节前,白鹭引擎团队发布了 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%。

如果您目前有新的重度游戏项目(或者是开发周期在两个月以上的“换皮”项目)立项,希望提前使用重度游戏开发解决方案,请联系白鹭引擎的商务团队 bd@egret.com,并注明重度游戏开发框架,我们会根据您的具体情况为您提供定制化的支持。

结语

Egret Pro 将在 2019年3月1日面向所有开发者正式发布,版本发布后我们会继续对 Egret Pro 以及我们一直维护的 Egret2D / Egret3D / UI Editor / Egret Launcher 等代码库和工具进行持续迭代更新。

手把手教你架构3d游戏引擎pdf_白鹭引擎团队即将发布 Egret Pro,并公布后续路线图...相关推荐

  1. 手把手教你架构3d游戏引擎pdf_一个在游戏行业摸爬滚打了十几年的人,为何我对这本书情有独钟...

    Big News!<游戏开发:世嘉新人培训教材>今日开始预售啦!经过漫长的等待,这次终于可以买到了.现在下单,你将在图书出印厂的第一时间收到书哦- 这本书由世嘉一线开发者执笔,并被选为世嘉 ...

  2. 手把手教你架构3d游戏引擎pdf_游戏开发中的算法

    游戏技术这条路,可深可浅.你可以满足于完成GamePlay玩法层面的东西,你也可以满足于架构和框架设计层面的东西,你也可以醉心于了解某一游戏引擎带来的掌控感.但是,我们不该止步于此,止步与目前所见或所 ...

  3. 手把手教你架构3D引擎高级篇概述

    前几年写过一本书<手把手教你架构3D游戏引擎>电子工业出版社,主要内容讲的是固定流水线编程,目的是让读者理解第一代引擎是如何实现的,从本篇博客开始,给读者介绍关于使用可编程流水线自己搭建3 ...

  4. 猜字小游戏java方法体,手把手教你猜字小游戏,

    手把手教你猜字小游戏, package test07; import java.util.Scanner; //猜字符游戏 public class Guessing { //主方法 public s ...

  5. 白鹭引擎 android9,白鹭引擎打包APP过程

    打包所需软件:Android SDK.zip 需下载对应的Android平台 Android7.0(跟白鹭引擎版本有关) gradle-2.2-all.zip 白鹭引擎5.0.9 需2.2版本 否则打 ...

  6. 手把手教你开发galgame 游戏(galgame 游戏引擎开发入门经典教程)

      首先要给大家说明的是:软件工程知识,就是利用好现有游戏引擎这样省时省力 比如吉利吉利系统就是开源免费的,做自己的引擎也是好主意,这样可以充分享受DIY的乐趣!   我最近回味魔兽学院 MAN AT ...

  7. 还在买鲜花送女神?手把手教你搭建3D立体相册网站,包女神稀饭

    是不是一款人见人爱的相册网站,看下图演示马上知晓.360度3D立体旋转,随意放大缩小任一张照片,合适每一个女生的小胃口,保证女神眼前一亮,对您刮目相看. 我们的特点是--情人节圣诞节女神生日纪念日都适 ...

  8. python编程做联机游戏大全单机_手把手教你将单机游戏改造成对战网游(附详细教程)...

    前言:本Demo原来是Cocos Creator官方的一个Demo,本文章利用了第三方联网插件工具Matchvs将其改造成了一个三人对战的Demo,(在线体验地址). 注意事项 1.游戏满三人才可以开 ...

  9. 手把手教你将H5游戏打包为手游

    H5游戏可以通过快应用的web组件快速打包成快游戏,打包上架后的快游戏,只要原H5游戏的url不发生变动,快游戏就不需要做更新,维护工作量小. 使用快应用IDE,打包快游戏的操作很简单. 访问官网安装 ...

最新文章

  1. 几个不错的java类、jar包及其依赖查找网站。。。
  2. Tomcat中配置多个端口
  3. java简单小项目_Java简易抽奖系统小项目
  4. snowflake改进_分布式SnowFlakeID(雪花ID)原理、改进优化
  5. oracle fileline换行,Java中的换行符line.separator及file的separator
  6. 患者数据库mysql_关系型数据库之MySQL基础总结_part1
  7. Linux虚拟网络设备之tun/tap
  8. css3弧形跑道效果_【Tableau 图表】你是不是真的需要一个跑道图呢?
  9. 【算法笔记】B1040 有几个PAT
  10. 必备9种能力、9种手段、9种心态
  11. golang 实现 key有序map
  12. 5G+AIoT趋势下,智慧社区的发展机遇与趋势
  13. 视频教程-Java异常原理剖析-Java
  14. iPad游戏突然没有声音问题
  15. 山西票号的内部控制分析
  16. mysql官方系在教程_MySQL系列教程(四)
  17. android 开启子线程方法,android中开启子线程
  18. 最小生成树——Prim算法
  19. 黑客水平测试 大家可以自测一下
  20. excel表格分割线一分为二_PDF转Excel的Python代码

热门文章

  1. MacFetionV0.8.0测试版
  2. STM32----摸石头过河系列(七)
  3. 重磅!『2021科技研究前沿』发布,重点关注11大领域、171个热点和新兴前沿!...
  4. 翻译|给数据科学家的10个提示和技巧Vol.1
  5. 搞生物的速看!有了它,30分钟可以把一天的工作都给干完!
  6. 14岁的男孩说想学生信,应该给予哪些指导?
  7. Mac技巧|如何在 MacBook上设置一位数登录密码
  8. 组合数学 算法导论 具体数学 博弈论 计算机科学数学
  9. 简单英文题 25 Sequence Search(python)
  10. redis 失效时间单位是秒还是毫秒_Redis有效时间设置及时间过期处理