SCROLL DOWN

PAGE UP

梳理棋牌开发逻辑,框架是关键
2020-05-20
  对于棋牌游戏来说,除了内核的好玩有趣以外,其实框架也很重要,这代表了整体的逻辑梳理。经过几个月的努力,终于说服了我们的boss,抽了很多时间还有经历来分享我们下面的实施解决方案。现在框架也OK了,我们利用这个框架体系结构开发了多个游戏,虽然过程很辛苦,但仍然值得,也收获了不错的效益。因为要坚持保密原则,本人不会提出框架代码,只进行技术交流。谈不上指导,只希望各位棋牌行业的同好可以以此为借鉴或者参考吧!

  根据我们再过往项目上的经验,我们不难大多数成熟产品都有完整的解决方案。不断积累,从纵队到简。这也是此帧名称Theway的源。希望了解这些大家的路更容易走!

  一、找好原型

  棋牌游戏项目框架,快速皮肤变更,快速集成。多声道多主体。自由分解。可以一次开发核心游戏,快速自由地重复各种市场版本。

  二、设置体系

  *结构、多路复用、可扩展性

  *开发满足敏捷要求的多自由度、可分离的多项目

  *质量保证体系

  *高效发展

  *支持公司的大部分业务

  三、模块设计摘要

  减少客户端对Cocos2d-x引擎的依赖和耦合,将引擎所需的初始化、逻辑更新、呈现、资源管理等移交给基本处理,这意味着客户端逻辑开发不需要过于依赖引擎层,同时还将平台特定的功能封装在引擎包装模块中,以避免客户机代码中经常和直接调用平台相关的许多功能。这部分我们可以称为BaseCore。

  棋牌游戏开发框架设计思路——棋牌游戏行业透视

  1、引擎封装模块(EngineSystem)

  *Cocos2d-xAPI中的软件包集成将绑定到Lua。关闭3D模块,不再使用扩展库。

  *可以自由切换Cocos版本,并在此阶段选择更稳定的版本

  *自定义控件等绑定到Lua

  *跨平台功能处理

  *付款相关模块特别处理

  *脚本解密处理

  *如果需要,可以将脚本层替换为js绑定,然后将逻辑代码修改为Lua,从而支持H5

  2、UI系统(GUISystem)

  *UI中的某些基类(如弹出框)可以将以下属性封装到Dialog对象中,并发送新类以自然拥有这些属性:可以设置大小并具有关闭按钮的默认视图,不再需要在子类中设置dismiss。

  与*Toast类似的编写和某些基本控件可以完全结构化factory对象,从而省略许多基本控件的构造代码。当然,您也可以在Lua中通过配置文件配置默认UI。

  *强大的纹理管理规则和清理规则,切换场景后不会删除纹理缓存。可以考虑逐帧加载、纹理评级、公共资源,首先删除可能不再需要移除的帧动画资源等*特殊设计有限状态机管理纹理内存并动态控制空间。使用状态机的事件属性控制动态跳跃。

  3、网络模块(NetSystem)

  *套接字采用TCP/IP协议,封装伯克利套接字接口,设计和发送队列以通过互斥的信号锁定处理队列共享问题。

  *对于某些公用协议,Lua层是以抢占方式设计的,或添加tag以表明当前此协议是模块。

  *在设计模型中,考虑生产-消费模式,将合同的读写操作与业务内容尽可能地分开。协议层的包装都是使用python脚本生成的Lua文件自动处理的,传输和接受接受接受table,它可以跳过客户端的某些工作。

  *Http,我们可以打包、上传下载、上传我们的日志相关模块等。如果使用3.11或更低版本,则必须针对appleIPv6问题更换libcurl。

  *结合日志模块,将协议交互写入一个文件,以便于查看
长按复制下方链接,去粘贴给好友吧:
您使用的浏览器版本过低,不仅存在较多的安全漏洞,也无法完美支持最新的web技术和标准,请更新高版本浏览器!!
定制游戏热线
18813957565
取消 拨打