Cocos2D-X在2013年发布的主要新功能包括Plugin-X和CocosHub,据其介绍在最新发布的更新版本中加入数据化处理和资源管理功能。同时在支付方面重点使用支付宝,目前Cocoa社区是每一周发布一个版本,包括CocoStudio、CocoaHTML5等等几个功能。
Cocos2D-X联合创始人王哲
王哲:大家好!
今天很高兴跟大家分享Cocos2D-X在2013年的新功能和发展规划。首先国外著名的媒体PocketGamer发布了ob欧宝电竞在线登录-手机版的前50强。很幸运的是,在这50强里面有12家使用Cocos2D-X引擎发布他们的产品,也就是大家看到的这些大牌公司,都是很熟悉的。值得一提的是,有两家中国公司上榜,成都的数字巅峰和北京的触控,这两家都是Cocos2D-X的用户,这是在国际上的情况。
在国内的情况,这上面(PPT)的十个游戏是苹果官方公布的2012年最挣钱的游戏,下面是我在上周五搜索的中国区前十名。以前我们说有多少Cocos2D-X游戏在榜单上的时候有一个框给它们框出来,但是今年框不了了,因为实在太多乐,我只能抱歉的把不是Cocos2D-X的游戏遮盖起来。无论是去年全年的收入还是上周的收入,中国区最赚钱的有7个是Cocos2D-X开发的。在iOS上面的榜单,大家很熟悉的游戏这些都是用Cocos2D-X做的。我不太清楚Cocos2D-X在所有开发者当中比例是怎么样的。但是在最赚钱的游戏公司里面,我们全球占有量差不多是26%,中国是70%。
我还是想讲一下技术。Cocos2D-X更多的时候给人的印象,左边三个框架,首先有一个渲染层,接下来是动画,接着还有一些场景管理,但是实际上在早期的版本就已经有了物理库和音频库。在2.0版本开始,我们使用了Maths。在最后这个版本,3月21日最近这次发布的时候,我们加入了数据化处理,接下来是资源管理功能,这个资源管理器怎么样?可以对比加载资源的时候设定不同的目录优先型,比如我这个游戏设置的是先加载目录二,再加载游戏资源,所有都放到目录一里面,第一次运行的时候先按一下目录二,再到目录一里面把我的图片加载出来。在运行游戏的时候发现服务器上面有更新,就把这些更新的图片放到目录一里面,这时候我运行发现,目录二里面有资源,我就把目录二的资源装进来就行了,这就是我们所要的在线更新功能。可以绕开应用商店的周期,如果你发现有Bug,要一个一个去修复,要把所有的iOS和Android的版本里面都覆盖到,这个是在最后一个版本里面我比较喜欢的资源管理的功能。后面发展重点的是一个脚本化编程和编辑器。
目前我们看到比较好的游戏Cocos2D-X是用C++做出来的,像忘仙等等,是用C++做出来的。而Lua目前是比较流行的,像我叫MT、大掌门、开心水族箱还有找你妹,都是用Lua开发的。所以如果说C++最靠谱的话,那么Lua应该算是最流行,而Javascript是最有前景。我们去年花了很多时间做推广,至少今年3月之前,有两家国外的公司做完游戏,有的发到Android,也有直接跑HTML5在网页上。但是三个月之后,有一个重量级的开发者加入,是MatchingFriends,已经在Facebook上线,如果你现在到Facebook去搜,是通过HTML5的,而且现在把这个游戏直接移植到iOS和Android上面。
所以对于这三个技术方案,我后来还是心里有点纠结,我就到了Cocos2D-X的社区里面,看看他们喜欢哪个脚本。结果最后发现C++仍然是占绝对的优势,大家还是比较喜欢这种传统的开发方式。在Lua和Javascript上面一直是差不多的,还有人在其他的方面。在这种情况下,虽然Javascript前景非常好,但是喜欢Lua的人,因为中国人从端游转过来,所以我们今年还会继续在Lua方面绑定。今年的计划,在中期差不多半年内的计划,应该是首先以C++为核心,我们打算重构客户数据上面的UI方向,会不知道一个UI的系统里面去,再就是进行更新,达到动画的效应。但是现在已经足够快了,比其他的引擎快5到10倍左右,这个是有测试数据的。C++的这些功能最后都会绑到Lua和Javascript上面,但是两者又有各自的发展目标。在Lua上面,现在单元测试引擎已经覆盖了90%,剩下的10%是在扩展库里面的,比如说网络、数据库存储这些还没有绑,但是在未来一到两个月里面都会绑成。这是Lua的官方库,脚本效率会提高3到5倍,接下来Lua还有自己的网络库,我们也打算去尝试。在Javascript上面,我们最近做了一些事情,把所有的都绑到上面,放到上面的时候就直接跑,因为所有的都会绑到Javascript上面。对于网络访问,目前我们打算先把HTML5这个大家最熟悉的接口实现,这样运行的时候就会有区别,是一个比较方便的码数。在最后这个版本里面,我自己写了一个,就是跨平台的工程,我们去做编辑、打包、部署、运行、调试,集成第三方库,这些事情其实都可以用脚本实现。Javascript后面很重要的一个功能就是实现这种比较简单的操作。
对于我们的远期目标,最终我们希望Cocos2D-X是这样的,我们会把C++的功能全部到Javascript上面,在浏览器里面可以使用HTML5直接跑在浏览器里面,这个架构实际上目前就是MatchingFriends正在使用的架构。可以一次写完游戏,既享受到HTML5的好处,又享受到Javascript的好处。
讲完技术之后再讲一下我们的社区,我们的社区光有技术是不够的。在社区方面,我们在2013年1月1日之后,我们开始有一个专门专职的为Cocos2D-X写文档的,三个月过去之后,我们有累计超过100篇的文档,而且都是保持更新的。左边这张图目录太长了,右边大家可以找到自己的关键字去看这些文档,这些文档的保持都是社区一贯的风格,全部都是英文的。任何在Cocos2D-X网站上注册的用户他都可以修改Wiki,而且存盘之后就立刻可见的,跟百度的Wiki需要审核的是不一样的。你发现文档不太满意的话可以及时修改,如果你懒得改,我们收到文件通知之后就会过来更新。在这些Wiki上,我们前面所说都是英文的,但是如果你想看中文的话,目前我知道是有网站正在组织资源,翻译成中文的。如果是其他开发者社区,自己翻译,如果你想用这些写一本书的话我们也可以介绍出版社。
谈到书,今年中文的Cocos2D-X教程出版了,包括Cocos2D-X权威指南、Cocos2D-X、iOS游戏编程之从零开始、Cocos2D-Xob欧宝电竞在线登录-手机版开发、Cocos2D-X高级开发教程、Cocos2D-X游戏开发技术精解。如果你不看英文,不看中文,今年还有两本韩文的书,有两本日文的,还有两本英文的会在全世界发布。社区里面除了教程这个书以外,需要增加编辑器的支持,这是一个编辑器,是一家德国公司直接拷过来的,3500美金,实际上HTML5和iPhone都是支持的。这是一个解析器,大家可以到HTML5的软件网站上去购买这个编辑器。这是我在今年看到最酷的一款,非常专业。另外一个比较好的工具是立体效果编辑器,比第一代最大的改进就是可以编辑负荷的音质效果,如果从手机上到电脑上,这是很极限的情况。这个ParticleDesigner2我们会让他们翻译出来中文的工具,这是目前看到独立的编辑器里面最酷的。
讲编辑器就离不开我们官方的CocosPlayer,就像一个壳一样的东西,可以加载资源,你把它在手机上,可以跟CocosBuilder连接,在这当中做的动画、资源和脚本,你只要发布一下,这些资源就直接被上传到这个APP里面,在APP里面就可以直接运行了。目前只要把这个资源和脚本上传到这个CocosPlayer里面就可以跑,今天下午我们可以看到很酷的效果。
接下来到了我们发布新功能的环节,这是我最开心的,希望大家能喜欢。这次在技术方面和社区方面我们都发布了新功能,技术方面新的产品叫Plugin-X,现在是一个模板。我们在做捕鱼达人的时候发现有大量的广告和各种社交分享,这时候我们就分了一个接口自己用。对于特别是支付,不同的支付有不同的接口,我们希望是同一个接口。比如说我不知道OB欧宝体育电竞官网这个手机是哪一个运营商的,甚至他没有运营商,他没有插卡,这没有关系,比如说一个单纯的Pad。这时候在Plugin-X里面他应该是自己去获取,如果是中国移动的是移动的支付,如果是联通的就是联通的支付,或者是电信的就调用电信爱游戏的。我们就设计了这么一套东西,也就是说,虽然所有第三方的SDK全世界有上千个,但是商业模式是非常有限的,所有SDK的商业模式就是支付、广告、分享,我们根据这几种商业模式设计出来了模板。所有的SDK总能够找到他对应的一个或者是两个协议,游戏只要把这个Plugin加载进来,调用这个协议,就可以实现对于SDK的调用,不用关注更多的复杂性。
以支付为例,首先就是加载Plugin,我们比如叫IAPChinaMobile,注册的时候用,底下的有各种各样的,比如IAPChinaTelecom、IAPChinaUnicom、IAPALI等等。调用的时候代码就需要关注差异性,如果是这边是一个插件,实际上大家基本上都有一些超时的判断,这个上面我第一此看到这个API的时候觉得很奇怪,所以其实大家能够提供的功能在这个统计上面其实都是类似的,有一个统计的话对于开发者比较方便。
整体的结构设计是这样的,如果是iOS和Android两个版本的SDK没关系,不用去关心中间怎么样换,你只要把Android版本的SDK接到我们Java的API。接下来在这个之上做转换,所以游戏就直接调C++接口就可以了。也就是说,首先是跟形式无关的,照样可以使用Plugin-X的。实际上提供了C++、Java等等,不管是哪一种,都可以调用这个通用的接口,这是目前我觉得比较好的设计。假如说我这个SDK,比如数据统计不赚钱,是烧钱的,还需要有一个SDK。这时候怎么办呢?比如说我有一种很创新的业务,这是目前商业模式里面没有的,没有这个怎么做呢?那没有关系,我们可以使用反测,最后Java等等都有反测的机制的,我们反测到这个SDK上面。如果说你这个创新型的业务最后很多人很不喜欢没有关系,我们再加上其他的。这是我们用了将近两年的东西,所以这次开放给大家用。
目前我们已经做好的重点是支付,有支付宝,有国内国外的。后面马上出来的就是社交分享,国外的一些公司基本上都解决好了。在3月21日的版本里面还可以有,但是已经集成到Cocos2D-X的仓库里面了,所以在4月底新的版本就会有。目前Cocoa社区是每一周发布一个版本,包括CocoStudio、CocoaHTML5等等几个功能。
CocosHub是类似资源的集散地,在这上面现在已经有了50几个产品,就是如果你做一个编辑器,做一个Game,或者有一个Plugin第三方的做法,怎么能够让开发者调用和知道呢?我们把这个东西称之为APP,你可以把自己的产品加到这里面,用户要找资源的时候,可以到Android上面的一个平台,去点Plugin还有Android,很容易就会找到。目前在ARPU上面,像编辑器等等这些,还有就是Widgets这些,上面一般都是UI为主。接下来是Plugin,刚才我讲了Plugin-X。还有就是Extensions,还有一些其他的,主要的就是这些,如果后面有需要的话我们再继续增加。对于CocosHub我自己的设计就是说,很多的软件都有自己的插件,CocosHub实际上也是类似的东西,就是资源集散地,容易分享和找到别人分享的代码。
整体在Cocos社区2013年,我们基本上是以C++和Lua和Javascript为主,还有HTML5。在C++上面,我们是把逻辑更新和绘图放到一个线程里面提高效率,还有重新设计了UI框架,这两个新的功能,Plugin-X和CocosHub是当前立刻就能应用的。在社区上面我们有150多篇的Wiki,还会继续再增加,会跟最新的版本保持同步。如果你想买书看的话,中文有7本,韩语2本、日语2本、英文2本。
下面是CocoStudio,这个工具大家看一看,它是一个几层的编辑器。我就讲到这里,谢谢大家!
如若转载,请注明出处:http://www.ashkeling.com/2013/04/113724