基于Cocos2d的MMORPG开发经验
这次跟大家分享的是《基于 Cocos2d-x 的回合 MMORPG 开发经验》,我们主要是以 LUA 和 C++ 来开发项目,使用两者的原因之一是 LUA 和 C++ 语法简单,并且 LUA 开发稳定性好,不容易造成崩溃,而且它支持在线更新的机制。用 LUA 开发的话,逻辑代码和资源文件会比较好,这个优点在多平台运营的时候很明显。因为你更新了一个软件之后,需要先下载平台,这个时候如果用其他软件编辑会导致所有的数据不一样。这个模式的第二个优点就是出现逻辑错误以后我们可以将错误的信息从玩家处收回来,进行错误信息的搜集。第三个优点是内存垃圾回收,以往 C++ 内存垃圾回收是很麻烦的,用 LUA 的话,你只要能够按时去清除变量,基本上不需要去担心内存的使用情况。因此 LUA 在脚本里面的使用算是比较好的。 不过这种模式也会有一些问题,比如说游戏启动时需要加载 LUA 文件,像现阶段需要加载 500 多个 LUA 文件,这是个很头痛的事情,但是不得不加载。加载 LUA 文件是需要一定时间的,现阶段大概需要 10 秒钟,整体的效率要比 C++ 低,毕竟是脚本语言,还是有一些可以优化的方案。我们现在采用的方式是把复杂数学计算的逻辑都放在 Cocos2d-x 引擎层,用 C 以及 C++ 来实现。对于需要灵活可变、利于开发维护的逻辑宜放在脚本层里面处理,这样就增加了灵活性。需要注意一点就是 LUA