首页 > 电竞游戏 > 详情

触控王哲:接下来我的演讲主题是:Cocos V2.2发布——延续、整合与开放。

Cocos 2d-x最早在2010年发布,2010—2012年之间是服务于游戏开发的Framwork,它的特点是以编码为中心的工作流,更关注在早几年时中国手机市场的特点:手机性能不高,安卓杂牌机众多难以兼容,流量还很昂贵需要包体积小,这几个关注点成为Cocos 2d-x在国内竞争的关键优势。从2012年到2014年,随着研发团队的扩大,游戏变得更复杂,这时候我们需要更大的团队,有美术,有程序策划参与进去,加入整个工作流开发,所以Cocos Studio就在这个时间点里推出来了,它是所见即所得的编辑器,解决了工作流协同分工的问题。在去年的秋季开发者大会上我们推出了cocos解决方案,追求从设计到开发调试、到上线的完整的工具连。去年cocos还只是一个概念性产品,而今天cocos发布了v2.2版本,已经有很多开发者在使用了,在座各位之中应该就有cocos解决方案的用户。

感谢各位朋友的厚爱和支持,cocos今天在东亚地区仍然是市场占有率第一的手机游戏引擎。国内Q1的标杆性游戏《梦幻西游》,上周微信游戏新推的《全民主公》,以及霸榜时间非常长的《刀塔传奇》《神武》《三国之刃》《全民飞机大战》《雷霆战机》都是采用cocos引擎开发。昨天中国appstore畅销榜的前十名仍然有七个游戏采用cocos。而这个月日本有一天发生了前四名都是cocos游戏的情况,Aiming的《剑与魔法》、Mixi《怪物弹珠》、Gumi的《勇者前线》,还有据说正在用cocos移植出中国版的《智龙迷城》。韩国老牌cocos游戏《七骑士》《天天富翁》仍然高居榜首经久不衰。这个市场占有率低和用户认可之下,我们一直在持之以恒地做很多枯燥的基础的技术改进:跨平台、更小的包体积,中国特色的在线热更新,还有性能。我们每加进去一个功能,带来更大的包体积、更高的性能损耗,然后再去仔细优化得更好。

我和大家分享几个基础改进数据。

1. 首先是安卓兼容性。我翻出了前面几年的演讲记录,在2013年Cocos 2d-x v2.2的安卓兼容性是85.71%,当时觉得挺满意的,因为竞争对手的安卓兼容性只有50%~60%。然后在2014年春季我们发布的Cocos 2d-x v3.0,同样在Testin上勾满200款安卓手机测试,兼容性90.48%。去年我觉得这个数字已经无法再提高了,满分100分的卷子考90分已经非常难了。而在这个月我们刚刚发布的3.5版本,兼容性惊人地达到99.37%!我当时以为同事忽悠我,怎么可能呢,于是自己用公司帐号登录到Testin里面下载测试报告,确实是99.37%,没有看错。这是我们Cocos 2d-x最新的版本v3.5。在今年秋季开发者大会能不能更高呢?说实话我没有信心,因为99.37%已经非常高了,不过有挑战更高目标总是有乐趣的。

2. 包体积。大家知道cocos的包体积控制得非常好,但我们把包体积继续又往下降了。因为我们把网络库替换掉了,直接用平台接口封装,于是iOS的IPA包从5.6减少到4.3M,安卓从2.9M减小到2.0M。

3. 然后是性能提升,这是我们当前版本正在做的SpritePolygon。我们之前用ARM DS-5对大量cocos游戏做性能分析,结果发现瓶颈在GPU像素填充率上。我们有很多2D游戏,比如《三国之刃》《剑魂之刃》这类横板游戏的弧形刀光技能不是用粒子做的,而是用序列帧动画贴图去做的,用矩形把整个纹理贴出来,但实际上弧形的刀光以外的区域全部是透明的,即使是透明的仍然还塞给GPU做渲染。这没有必要。我们用这个多边形的SpritePolygon,把顶点把刀光抠出来一个多边形,底下透明区域全部不用塞给GPU渲染渲染,性能就会高很多。可以看到同样的Sprite数量,我们用SpritePolygon渲染的时候,顶点相比原来用Sprite的3万个顶点增加了一个数量级,达到33万顶点,但帧率从21帧提高到了30帧,也就是40%~50%的性能提升。我举这几个例子只是为了说明,cocos引擎我们持续做了五年,做了很多底层上很枯燥的工作,在这些细节的数据上不断纠结,不断优化。

做得好的方面讲完了,然后我现在开始自黑,讲做的还不好的部分。我经常拜访CP,大家知道我拜访过各位的公司,我收集过来用户吐槽,主要是6点:

1. Cocos编辑器不好用。

2. Cocos版本升级很痛苦,坑爹,还有就升级问题在论坛上骂脏话的。

3. 渠道打包麻烦。一个游戏开发四五个月,光打包上线3个月

4. 包体积大推不动,Cocos引擎虽很小但我要做高质量的游戏,图片质量很高,随便上去就100多M,这还是优化过的,《仙侠道》没有优化前包体积700M,优化得可开心了。

5. H5到底会不会火?这是很长期的问题。2011年开始就是HTML5游戏的元年,之后每年都是元年,一直到现在已经元年四年了,所以今年HTML5会不会火,是不是元年呢?这是个问题。

6. 想转3D。今年我不想做H5那样轻的游戏,想转重度的3D游戏,cocos能不能支持?

对这6个问题,我依次解答。

1. 首先是Studio编辑器不好用的事情,之前编辑器加了太多的功能,在这半年里我们把功能需求控制住,做了很多基础底层的优化,不加新功能,先把原有功能做好,做了上百项细节的改进。我举几个例子。比如崩溃率。我做UI编了半天,studio突然崩溃了,白干了。之前Studio是5%的崩溃率,而今天这个版本低于千分之二。其次编辑器工程的导入导出、存盘时也提升了。在举个例子,美术人员改好图片,还需要打开Studio做导出太麻烦了,现在Studio提供命令行工具,美术把资源提交到服务器上,服务器上运行个脚本命令就可以把资源就导出好了。类似这样细节的改进达到上百项。

2. 版本升级痛苦。我们学习了Android把API Level和版本号区分开来的做法。一个API Level会跨多个版本。这次针对Cocos v2.2我们整理清楚了Cocos API Level 1有2500多个API。我明确了有这么多API之后,可以在若干个版本里保持不变和后向兼容,比如第4个版本里升级到API Level 2修改了0%,新增2%的API,那么旧的游戏移植上来是兼容的。假设有一天我了改变5个API,新增10个API,减少3个,那么明确了这个API变动个数范围,我就可以做自动升级功能帮助大家自动把版本升级上来。

3. 渠道打包麻烦,去年我们推出打包工具AnySDK来解决这个问题,但很多大公司不敢用,因为我的DAU、用户充值数据你都知道了,我怎么用?渠道方面也有担心,我这里的充值数据你都知道,渠道收入多少你都能推算出来,我不放心。所以今年我们推出AnySDK企业版,各位CP买一份服务端拿回家自己搭建,所有数据我们永远看不到,对渠道而言这个数据只有我和CP知道,第三方不知道。AnySDK企业版解决了游戏开发商和渠道两边的担心。今年AnySDK推出的第二个功能是SDK插件自助开发。我们团队人力是有限的,可以维持到国内Android渠道Top20或30渠道SDK更新,每渠道平均每个月更新一次SDK。但有可能我们家老板和某个小渠道关系特别好,一定要上那个渠道,否则老板那关过不去。这时候AnySDK的人力是没有办法支持小渠道的SDK集成的,这时候你就可以自己开发一个SDK插件放进去,不需要等待我们的SDK发布更新。另一方面,我和中小渠道聊过,他们觉得很痛苦的一点是,比如我想要大CP的游戏,比如想要《神武》,于是派商务天天去刷脸,但是大CP说,我大渠道都没有接完哪有空接你中小渠道的SDK呢?现在问题被解决了,各位中小渠道的朋友你可以把自家SDK封装成AnySDK的插件,提供给所有CP。比如今天心动已经在用AnySDK打包他们的游戏,不论多少个渠道都一键打完,这时如果你家渠道的SDK在AnySDK里面,心动那边也是一键打完,中小渠道也可以第一时间拿到大公司的好游戏同步上线,不用让商务很辛苦地去刷脸求人家接SDK了。

4. 包体机推不动,去年我们开始推Cocos Play缩包服务。对一个需要玩家练到100、200级游戏来讲,玩家为什么刚进游戏新手村的阶段,就需要下载99级打boss才需要的美术资源呢?现在Cocos Play提供了一个图形化工具,让大家可以用拖拽方式组织不同场景资源,每个资源场景单独打包,哪些场景的资源是游戏一启动就可以玩到,哪些是不需要在初始包里面包含,可以后面边玩边下,这样包体积就轻松下来了。Cocos Play的缩包将会作为一项付费服务推出。

5. HTML5会不会火?后面我们有专门的HTML5章节和圆桌讨论

6. 3D编辑器和3D游戏案例,上午也有专门的章节展开讨论。

所以今天大会早上内容主要就围绕这6点展开。我前面提到的所有的优化和槽点问题,除了SpritePolygon是在当前版本开发以外,其他所有功能和优化在Cocos v2.2版本里已经具备了。Cocos v2.2在几天前已经发布,大家可以到www.cocos.com里下载

Cocos v2.2里面最重要的三个亮点功能,一是提供了3D编辑器,二是完整工具链,可以完整地完成新建、开发调试、到发布的全过程,三是开放的Cocos Store接入各家服务。更具体的技术细节。Cocos在去年9月份发布的预览版还不支持JavaScript,但今天的v2.2已经支持了。开发者可以在里面新建一个JavaScript游戏,编辑、开发,然后发布到native和html5两个平台上。其次,Cocos v2.2里面可以选择匹配不同的Cocos 2D-X版本,比如我游戏开发一半,不想升引擎版本,所以想用v2.2版的cocos,匹配旧版v3.4的Cocos 2D-X,这样需求可以被满足。还有大家反馈需求很强烈的,我需要在不同工程之间要拷贝资源,我做RPG或卡牌成功之后会继续开发同类型的游戏,换资源,会在不同的工程资源里相互拷贝,这点在Cocos v2.2里面也支持了。最后是允许嵌套动画,把大动画分成多个小块的动画、分给不同美术人员做,这点也支持了。

    (VCR)

大家知道,实际整个cocos开源社区有非常多的碎片,技术碎片,产品碎片,我们已经通过Cocos v2.2完成整合。你开发C++、Lua或JavaScript游戏,不需要考虑选择哪个cocos引擎的分支来做这个事情,因为所有产品已经整合起来了。把技术和产品整合清楚之后我们才能够在上面更好地推出服务,把这个平台能力开放出来。Cocos社区有几十万的开发者,今天我重新做一个游戏广告服务,这时候我需要有大量市场推广费用来推广我的广告SDK,但如果这个广告SDK接入Cocos平台,就可以快速地到达几十万的cocos开发者。包括我们自己的服务和合作伙伴的服务都是一样的。

我强调一下技术支持的入口。最近我们整理了技术支持的路入口,QQ群原来有20、30个,现在已经整理合并为12个。大家可以搜索“Cocos官方群”加入,手快有,手慢无,昵称改叫“Cocos官方技术支持人员”可以帮你快速混过群主的审核。有的公司不允许上QQ,那就用Email。其实我推荐的是通过论坛和技术支持系统,特别是技术支持系统。首先大家可以在feedback.cocos.com网页上提交问题,其次可以在Cocos引擎的启动器里,左下角有个feedback的地方提交问题。在这个技术支持系统里我们可以统计每个问题的解决速度和多少回复解决等等数据,评估我们的服务质量,给大家带来更好的技术支持服务。教大家一个比较坏的方法,用美女头像,我发现过用美女头像在论坛上发布问题,得到回答的效率大大提高。前天晚上12点钟我在知乎上面看到一个美女程序员提问,于是转发到公司群里面,5分钟里面几个技术主管争相上去回答。

最后,大家可以看到,cocos里的完整工具链,可以帮助大家从idea之后开始,在场景编辑、UI和动画编辑器里设计出来原型,基于Framework高性能和兼容性、在Code IDE里面开发和调试,最后用AnySDK打包多渠道上线,cocos这条工具连已经完全整合清楚了。

在这条工具链中,大家最关心的应该是cocos studio编辑器,下面有请张晓龙同学给大家讲讲Cocos编辑器的功能与优化。

 



 

 

QR code