这是一篇2.5D多人在线吃鸡游戏的工作总结,希望搜索到的人一个借鉴。在开展核心开发过程中、公司倒闭、导致项目黄掉。

引擎的选择

cocos creator 2.2.2引擎:

一:数据通信:

  a:脚本语言Javascript,本地模拟在浏览器模式下的protobuf通信协议,通过websocket发送和接收protobuf数据包,且通过数据包名使用订阅模式有效解耦。

  b:因浏览器模式不支持安卓原生的通信,必须利用YASIO通信库,Javascript调用c++层面的tcp的进行数据通信,通过定义4个字节位数据包的长度,解决数据沾包问题,在阿里云服务器上面验证通过。

二:框架的初步搭建

  a:初步搭建mvc模型:为UI界面数据更新提供支持,提高开发效率,有效解耦UI模块之间的耦合度。

  b:网络流程状态:登陆、认证、认证失败、网络故障及它们之间相互跳转。

三:Spine动画、地图的解析

  a:spine动画播放,根据游戏里面逻辑播放相应动画,调研spine的换装问题,得出结论,引擎目前的方案换装有多个预制件加载到内存里面导致内存消耗过高,解决方案须修改底层引擎,通过只是更换纹理实现换装,才能良好的支持换装。

  b:Tiled map地图编辑器对象层碰撞解析、及和服务端沟通解决吃货项目的坐标换算问题,修改引擎后支持的图块层建筑物层面的碰撞。

四:协调美术和策划

  a:安排相应的同事进行UI布局。

  b: 跟进美术UI的进度及程序对美术的要求。

  结论:因存在性能问题导致,图像渲染出错,导致原生平台无法支撑的起《 吃货大乱斗 》

U3D引擎:

性能和功能可行性评估:

  在U3D方面通过调整相应地图,经过测试吃货大乱斗,在小米6安卓手机上面能达到至少50fp,一定程度上满足性能的要求。优点非常直观的开发,现有人员有一定的适应过程须考虑影响到开发进度,但也存在超大地图的支持的技术难点,需要魔改。

cocos lua引擎:

技术总监已经做了大量的工作,包括不限于引擎的定制,引擎对开发人员要求相对较高、可查阅资料相对少。相应的creator的引擎的数据通信、碰撞处理业务等可借鉴过来及评估了KCP协议的可行性、增加摄像机模式。

总结:

根据项目情况及早做出抉择,推进DEMO版本。三个引擎里面各有优势:

cocos-creator可以发布到H5的游戏,经过测试,性能是能满足需求的,网络方面websocket也是能满足它的,缺点安卓上面渲染出错、最新版本会导致tiledmap渲染黑块,推荐2.2.2版本成熟。

unity3d我个人是推荐使用的引擎,在原生平台是没有问题的,本身U3D是非常成熟的商业性引擎,各种成熟的插件,creator引擎是在模仿它,人才方面比较多,缺点授权费。

cocos-lua,优点没有授权费,缺点:可能人员会少点,开发起来难度比u3d高。