作为移动游戏引擎的后来者,Egret的出现一开始着实令我们困惑;而当我们得知Egret是一个基于Html5的开发引擎时,更多的问题开始涌现:
● Html5一直被认为性能低下、难堪大任,Egret又为什么选择这个标准作为引擎的核心?
带着这样的问题,葡萄君来到了Egret公司所在地,和Egret的陈书艺(CEO和联合创始人)以及马鉴(联合创始人)进行了对话,我们尝试从一个新兴HTML5游戏引擎开发商的角度,来看看这个此前已经陷入低谷的开发技术,现在正站在一个什么样的时间节点上。
Q: 你们的引擎是基于Html5的,但是被寄予厚望的Html5一直没有达到业界期望的规模,你们认为是什么原因呢?
第二个问题是网络。直到今天,4G才刚开始铺设;当时的3g的覆盖不够到位,不具备能支持Html5的网络环境。
马:09年的时候,大家对HTML5抱的希望确实太高了。它一下子被乔布斯推到了web技术的焦点。所有人都去转向HTML5的时候,但大多数人并没有真正理解HTML5能带来什么。但为什么这两年会有一个很大的契机呢?是因为移动互联网变得成熟了。每个人都有一台或者几台智能设备,智能设备上多渠道的内容呈现就是HTML5的核心价值所在。Web的内容是无所不在的,不仅仅出现在原生市场上,还在浏览器上,甚至于广义的嵌入Web View的方式——比如百度轻应用或者微信——其实都可以把很多HTML5的内容放进去。我觉得这个时候才是HTML5技术真正适合被商业化的时候。再者,移动互联网的硬件革命带来了处理速度、存储容量和显示技术的提高,还有可穿戴设备的智能化,使得太多内容需要被呈现。这个时候,移动互联网行业没有Flash Player这样的播放器插件技术、没有这样广泛的标准的问题才凸显出来,这时候HTML5才能为大家所用。
商业层面上,可以参考PC时代的步伐:先单机、然后弱联网,然后出现MMO,然后更注重表现力、出现3D。随着端游越来越大、推广成本越来越高;即点即玩的页游的推广成本低,自然而然就火了。手游现在也开始出现这样的趋势,有几千家手游厂商挤在榜里,大家只能去买积分墙或者去做很强的市场推广,而不是很注重游戏的品质或者通过口碑的传播来推广游戏。现在整个平台的格局大体要形成了,比如腾讯、百度、360等大厂商都在对渠道进行整合,推广变得更困难了。现在如果能出现无端或者一两秒就能进入游戏的,一边玩一边加载的产品,这时候渠道会发生一些变化,CP的营销方式也会发生一些变革。所以今年不仅仅是技术上得到了提升,商业角度来看,移动Web领域也对Html5有很强的需求。
马:我来说一下Egret的思路。我们首先觉得Html5是一个开源技术,国内外加起来的Javascript库、框架甚至引擎,都属于片面地解决了游戏驱动的核心问题,但没有做很多配套的东西。在Adobe和微软这样的级别的公司中有一个很重要的词语,叫做“工作流(work Flow)”。换句话说,给开发者一个库或者引擎,他们能做出或大或小的游戏;但是这些库和引擎拿去商业化运作的时候,会发现做不大,核心原因是不能够满足开发者的开发需求,满足不了社区的开发需求。社区的开发需求是什么呢?是需要一个核心的高效的引擎,同时围绕这个引擎建立一套上层的为开发人员或开发团队构建的成熟的工作流。比如说这个引擎要做好,要有GUI,不可能UI都要工程师去手写代码。我们做Egret的时候,同时要推进很多项目,其中一大部分都是工具级别的。这些工具都是为引擎的封装格式所服务的。比如说GUI,UI编辑器,可以给美术、策划来使用;粒子编辑器,让美术人员可以用可视化的工具来调整,通过拖拽或者图形文件的编排,就可以生成一些特效,然后进行文件格式的输出。然后还有场景编辑器,还有各种平台发行商的SDK接入的配置环境。
陈:另一个我们比较大的优势是,我们这套引擎灵感源于flash。Adobe这么多年的积累,被马鉴移植到这个引擎中,无论是语法、API、工具流,都是围绕着怎么做一个Web应用去展开的。这样的好处是我们可以争取到第一批开发者。他们大都是pc上的页游开发者,不需要转型,语法和API都一样,他们习惯的工具还可以继续用,比如用Flash做动画,用Dragonbones做骨骼。以前他们自己开发的地图编辑器和场景编辑器,稍作改变,只要支持Egret的数据格式就可以继续使用。对于所有的大页游厂商来说,转手游几乎是零成本。比如墨麟,游戏谷都是我们的典型用户,他们花费了仅仅两三个月时间就用Egret开发出游戏。
陈:对。我们准备六月份公开发布,但已经内测了两个多月了。这期间已经有页游厂商开发出很不错的产品了。
陈:我们的办法是让曾经的开发者惯用的工具很简单地就可以支持Egret。很多过去的开发商他们自己做的工具,只要数据格式支持,我们就可以把他们的数据格式直接转换为Egret的格式支持。。我们会推出自己的官方编辑器,虽然这是相对靠后的一个事情,但并不影响他们使用Egret。
陈:我们会提供。这也是第三季度到第四季度会推出的东西。
马: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的页游的开发人员,拿到我们的东西知识不会有任何损失。
Q:有提到HTML5的音频兼容性不好,比如IE10不支持。
Q:最后能做到接近原生的程度?
Q:时间上有期望值吗?完善到和原生差不多的程度需要的时间。
陈:其实这个东西就是HTML5标准中的一部分,但因为Html5都是拿来做应用啊,资讯网站啊,用不着这些接口。现在因为Egret出来了,抓住很多开发者做游戏,带来了更多的游戏内容,有内容要分发了,平台才意识到需要提供更好的服务,才把这些本该加上的接口加上。之所以预计需要一年的时间,是因为有很多很多的厂商需要去推动,需要一家家去让他们支持。
陈:我们都是live测试。甚至于对Android和iOS的支持都是这样。用其它引擎做游戏,需要打包出来用模拟器或者装到手机里面才能看效果,但我们高效很多。你整个编码过程中都是所见即所得的,在浏览器里只要打开debug工具随时都可以调代码,随时都可以看到效果。最终效果满意了,再去打包,不用打包完了再去调。
陈:这是更高层面的问题了。这个首先看苹果的胸怀了,其次是平台方都会努力去规避这个风险。Html5游戏是蛮大的一个机会,苹果会不会觉得这个绕过他们,这可能不是我们引擎的角色能解决的问题。
陈:磊友现在是我们的潜在客户,我们和他们并没有直接的竞争关系。他们的定位是Html5游戏平台和游戏内容开发商,但也遇到了同样的问题:适配,兼容性,性能。
陈:这个东西技术门槛很高。马鉴在Adobe十几年,才积累下这么一套web渲染的技术和基于web的优化。多泡他们只做了两三年,想全解决这些是很困难的。与其自己花很大成本去做,不如把这些难点交给Egret来解决,实现他们自己的核心价值,也就是很多好的内容。
Q:很多顶尖的引擎商都有自己的研发团队,你们有计划建立第一方的研发团队吗?
Q:刚刚说到商业化的问题,我们也很好奇你们作为开源的引擎,有什么商业化的构想?
Q:有一个开发者说之前用开源引擎做项目,没想到做到一半的时候开源引擎不维护了,项目受到了很大的影响。这个问题你们是怎么考虑的呢?
Q:Egret编译的速度如何?
Q:Egret当前的目标主要还是2D?
Q:Egret会不会提供一些周边的工具呢?比如说拼图工具或者导出工具?
陈:我们还提供了一个GUI系统,只需要做好皮肤和流式布局的方案,很容易就能适应不同屏幕的设备。实际上,我们借鉴了很多Flash上比较成熟的东西。
马:大概有两类吧,一类是受邀请的已经开始用Egret做游戏的厂商,另一类是原来用Flash开发的AS3的大牛。我们一共邀请了大概100个左右开发者。他们上手都不用看文档,一看结构设计就可以开始写。
Q:通过Egret打包成原生效率如何?
陈:你就这么想,我们直接调用系统底层的触摸、声音等等,效率可能是几倍于web上的。随着web的提升,这差距会渐渐缩小。音效和音轨方面,原生就完全没问题。
陈:如果时机成熟的话,我们可能会在八月的时候为真正的Final版本做发布会。六月份的正式公测所有人都能访问Github。
