基于Cocos2d-x引擎开发经验分享.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

《大掌门》欧阳刘彬分享的内容同样是与Cocos2D-X和跨平台开发有关,在演讲中他详细分享了为什

么会选择Lua。

欧阳刘彬:首先感谢CocoaChina的邀请,跟大家分享一下我们《大掌门》在游戏开发过程当中使用

Cocos2D所开发的一些经验。刚才凌聪讲的内容感觉已经是一个比较完整的、系统的东西了,我们

本身在刚开始做的时候,我觉得他们那边应该是有一个比较强大开发团队在下面做了一些支撑的事

情。我们做的一些事情,其实大部分他刚才已经提到了,我们做的可能不像他们那么系统,但是也

有一些东西是跟他很像的一个过程,我就我们这边的一些经验来跟大家再做一些分享。

我们为什么选Cocos2D-X,其实最大的原因就是跨平台。当时为什么选择Lua呢?大概我们从去年春

天的时候开始做这个事情,我去年春天也来了CocoaChina的一个会,当时我们选一个脚本,觉得比

较合适的可能还是用Lua,那时候已经出来了一段时间了。它的一些特点其实刚才也已经提到过了,

我们觉得它,支持一些动态更新,它的容错性比别的好,我们找一个靠谱的C++程序员说实话还是比

较难的,我们在开发速度上会比其他的语言要快一些。

我们的一些基本情况,其实我们用Cocos2D是比较老的一个版本了,我们大概在去年3、4月份就开始

做,基于上面做了一些改进,后面因为在开发的过程当中,我们觉得一个底层的框架已经选好了之

后就尽量不要去动它,因为这个说实话是一个伤筋动骨的事情,但是我们会继续用Cocos2D的框架,

我们会选择2.0的版本,老的那一套东西一直在上面做。我们做的一些事情没有那么系统,但是也做

了一些。首先我们在上面做了我们的一些事件管理,做了一些底层的UI控件,做了我们的网络通信

模块和加解密的模块。我们的一个特点就是说,我们所有的游戏逻辑都是用Lua去实现的,我们在

Lua里面也去实现了一些MVC的框架等等,但是对于一些性能要求比较高的东西,比如说加解密这

种东西可能还会在C上实现,在Lua里面去用新的接口。

首先我要分享的就是我们版本更新的机制,其实刚才凌聪也提到了,我们为什么要用Lua,就说它能

够走游戏内更新的方式更新版本,比如说我们拿AppStore来举例,你去提交一个版本,我们以往的

经验,首次提交的话可能需要一个月的时间,后续的更新审核可能5个工作日,也就一周过去了。这

个提交从审核里面如果一个月过了,当然大家相当高兴了。中间的过程当中其实经常会遇到一些非

技术的原因把这个打回来,比如说你的截图,或者是一些信息写的不对,中间来回打会可能也会耽

误时间,这个审核周期太长了,我们觉得是一件让人不太好接受的事情,尤其是一些非技术原因。

再有一个问题就是,像我们的游戏版本,我们游戏的安装包现在说实话,从最开始的50兆到现在变成

100兆已经比较大了。假设我们去实现的话,如果我发现游戏里面一个比较重要的Bug,我去修复这

个Bug,提交之后玩家再去更新,按照现有的机制,玩家就是下一个完整的安装包下来。国内其实像

凌聪刚刚提到了,在Android市场有一定的新的机制,但是我了解在Android的4.0上面才支持这种

方式,在比较低的版本上还是不支持增量的更新。

在腾讯这边确实是做得比较好,它的QQ游戏大厅是支持增量的更新的。我刚才提到的,就是说更新

一个版本,我们加一个什么玩法有一个全新的包,这种带来的问题就是每次更新都要下一个完整的包,

用户的体验是非常差的,对于用户整个留存都会有影响。我们的解决方案就是,所有的游戏逻辑都

去用Lua实现,我们实现一套游戏内更新的机制,每次游戏升级的时候,基本上只要更新自己的Lua

文件就行了,这样就可以及时、随时的更新,我们不需要等任何人的审核。还有就是快速,我们走增

量更新的方式,只需要去下载我们改动过的一些资源和代码。在这里也可以插一句,刚才也人问到

苹果基于这个审核的条款,在我的理解,实际上苹果只是给自己设一个底线。

如果游戏只是对于一些正常的功能逻辑的更新,走脚本的方式的话应该还是可以的,只不过你如果

把游戏整个更新一遍,变成一个完全不同的游戏,那肯定是不行的,我认为苹果这种条款,可能是作

为它自己的一个底线放在那儿。

我们整个游戏更新的过程,其实也是类似的,我们的后台服务器分为了版本管理的服务器、资源服务

器、游戏逻辑服务器。首先我们的游戏启动之后,第一次会带着自己的版本向我们的服务器版本去

问,就是我现

文档评论(0)

文档小天才 + 关注
实名认证
文档贡献者

就是文档小天才

1亿VIP精品文档

相关文档