游戏开发引擎Cocos v2.2发布--延续、整合与开放
王哲:感谢昊芝,特别感谢昊芝把广告部分都口播完了,然后我们可以专心讲技术。接下来我的演讲主题是:游戏开发引擎Cocos V2.2发布——延续、整合与开放。
游戏开发引擎Cocos 2d-x最早在2010年发布,2010—2012年之间是服务于游戏开发的Framwork,它的特点是以编码为中心的工作流,更关注在早几年时中国手机市场的特点:手机性能不高,安卓杂牌机众多难以兼容,流量还很昂贵需要包体积小,这几个关注点成为Cocos 2d-x在国内竞争的关键优势。从2012年到2014javascript游戏引擎年,随着研发团队的扩大,游戏变得更复杂,这时候我们需要更大的团队,有美术,有程序策划参与进去,加入整个工作流开发,所以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变动个数范围,我就可以做自动升级功能帮助大家自动把版本升级上来。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论