####开篇语
大概在16年时候,新型房卡模式打开棋牌游戏新里程,整个棋牌行业迅速改变模式,出现近两三年激烈的竞争景象,据统计全国大大小小棋牌游戏公司,专职棋牌公司近两万多家,这都不算后起大大小小游戏公司加紧棋牌研发行列。新型棋牌模式有一个很明显的特点,那就是地方区域“特色”化,几乎近定制化的模式打破以腾讯为主的多年霸占市场。最常见的地方区域棋牌划分:广东,湖南,四川,山西大唐等,不同省份玩法不一,甚至同一省份不同地方也有区别。这也导致大游戏公司不会轻易入驻这样的市场,而新型创业公司抓住切入点反而成功,比如最典型的闲来棋牌公司发展历程。好景不会一直持续,当前受国家对棋牌游戏加强管制,以及行业拼杀竞争激烈,棋牌行业发展有所缩减,创业公司加入棋牌行业日j渐见底,也出现倒闭一潮,预计将来能存活的公司不多,但从整个棋牌市场“总量”的需求看,存活下的公司后期应该是万幸前途无量。这里不再多谈行业如何,言归正传,我以技术身份,解说《棋牌游戏》研发技术如何更优实现统一架构。

####技术选型
服务器端技术:

游戏行业有个不成文的几乎近统一建议,服务器选择基本使用C++跟JAVA,后来出现新的技术GO,但从大市场来看,C++做服务器居多,从性能考虑C++确实比较快,但是我们也发现很多游戏公司使用JAVA作为服务器技术。

个人认为,微服务的出现使得服务端技术选型变得多样,如果不是太追求性能,反而JAVA更被看好。原因是任何一家公司都需要建立一个管理平台,比如客服平台,账号平台,数据中心管理平台等,而这类平台的技术选择基本用JAVA实现(当然国内现在也时兴Python)。就当前技术中,JAVA统一架构平台化更容易实现更稳定,各中心部门在对接上有统一的标准,可提高开发效率,节省成本;再则,JAVA的开发效率比C++的要高,敏捷,人员配置上相对C++经验不足亦可完成,且有统一架构指导不易出错,而C++的开发公认要求门槛高,是需要经验丰富的团队才能完成高效的成果,代价相对高。

举个例子,比如一家棋牌公司成立,就要有两大中心需要建立:一个游戏中心,一个是数据平台中心。如果这两个中心使用人员的技术不能统一,很容易走向两个各管各的部门,这样,无论在整体架构建设,还是业务对接上,很难有一个核心标准,业务穿插成堆乱套,人员调动不利;反之,统一技术架构,对任何组织创业公司,在各个方面考虑上都是有很多好处。大概估计,三十人技术团队,统一技术与否,团队节省成本差至少5人,如果JAVA的统一架构做的好,这个人数差可达十人之多(16时候《陌陌》直播服务器核心开发在5人左右)。

统一架构的好处还有,根据多年参与项目经验,大多数公司到了必须重构阶段,很多也是因为前期技术不统一,造成后期业务穿插成堆乱套,技术人员存留不足等,结果造成成本加大不得已重构,成本代价依旧很高。

当然,技术选型还要参考最主要的一点,核心负责人精通的技术,不能为了统一架构技术而选择不熟悉的技术,哪怕是不统一架构也要选择最熟悉的技术对应实现最核心的东西,因为我们了解过,多数技术创业成功的公司,前期技术稳定可靠性至关重要,产品的稳定与否直接关系公司存亡。

结论,针对棋牌游戏特点,核心算法对性能的要求不是特强特点,应属于非强网类游戏,不必过于追求性能。那么,如果技术选型等同或者没有特别考虑地方,强烈建议统一技术,统一架构组织,JAVA的平台化建设是一个更优选择。

客户端技术:

客户端技术可以使用当前流行的驱动语言Cocos-Lua或者Cocos-JS。据了解Cocos-JS的通用性更高,也源至JS的流行跟通用。鉴于本文重点谈棋牌服务器架构,对客户端技术不做过多说明。

【棋牌游戏】JAVA服务器设计与开发(一)相关推荐

  1. 网狐棋牌游戏平台服务器架构设计分析[转]

    网狐棋牌游戏平台服务器架构设计分析[转] http://blog.csdn.net/weiwangchao_/article/details/7047044 基本设计概念和处理流程 调用模型 模仿CO ...

  2. 《游戏脚本的设计与开发》-目录序

    本系列文章目录 章节 标题 连接 序 游戏脚本简介 http://blog.csdn.net/lufy_legend/article/details/8888787 第一章 基本功能 1.1 读取和解 ...

  3. 《游戏脚本的设计与开发》-第一部分总结 文字脚本的功能扩展和一个游戏测试...

    脚本系列文章写了好几篇了,大家可能都不清楚这些脚本有什么用,游戏中如何能应用到这些东西.当然,目前所介绍的内容还只是个简单的开头,说到做游戏还远远不够.不过,本次就使用前几章所介绍的内容,先来尝试一下 ...

  4. 《游戏脚本的设计与开发》-(RPG部分)3.6 队员列表和人物属性

    注意:本系列教程为长篇连载无底洞,半路杀进来的朋友,如果看不懂的话,请从第一章开始看起,文章目录请点击下面链接. http://blog.csdn.net/lufy_legend/article/de ...

  5. 《游戏脚本的设计与开发》-(RPG部分)3.8 通过脚本来自由控制游戏(一)

    注意:本系列教程为长篇连载无底洞,半路杀进来的朋友,如果看不懂的话,请从第一章开始看起,文章目录请点击下面链接. http://blog.csdn.net/lufy_legend/article/de ...

  6. 《游戏脚本的设计与开发》-(RPG部分)3.1 RPG地图到底怎么做?

    http://blog.csdn.net/lufy_legend/article/details/17417085 话说好久没有更新博客了,其实这段时间主要是工作忙,没时间.那又是什么刺激了我呢,为什 ...

  7. 《游戏脚本的设计与开发》-1.1 读取和解析一个脚本文件

    上一篇<游戏脚本的设计与开发>-序中我介绍了游戏脚本的基本概念和准备工作,本篇来说说具体如何解析一个脚本 所谓解析脚本,就是按照自己定义的语法,将每一个脚本命令还原成不同的代码逻辑进行执行 ...

  8. 《游戏脚本的设计与开发》-(RPG部分)3.5 游戏背包和任务系统

    注意:本系列教程为长篇连载无底洞,半路杀进来的朋友,如果看不懂的话,请从第一章开始看起,文章目录请点击下面链接. http://blog.csdn.net/lufy_legend/article/de ...

  9. 《游戏脚本的设计与开发》-第一章总结 文字脚本的功能扩展和一个游戏测试

    脚本系列文章写了好几篇了,大家可能都不清楚这些脚本有什么用,游戏中如何能应用到这些东西.当然,目前所介绍的内容还只是个简单的开头,说到做游戏还远远不够.不过,本次就使用前几章所介绍的内容,先来尝试一下 ...

最新文章

  1. 为什么阿里巴巴要求日期格式化时必须有使用y表示年,而不能用Y?
  2. RPC的超时设置,一不小心就是线上事故
  3. ECCV20| 3D目标检测时序融合网络
  4. 致电以验证您的JavaFX UI的响应能力
  5. 程序员出差是去干什么_让我来告诉你,35岁以上的人都在干什么!
  6. linux 标准输出流管道,初学Linux之标准 I/O 和管道
  7. 关于sql备份到其他服务器的问题
  8. AD 组策略应用与排错(1应用)
  9. c# wince 小技巧
  10. 微信小游戏代码包侵权(最新)
  11. python界面实现点餐系统_餐厅点餐系统详细设计与系统实现
  12. CodeBlocks汉化
  13. 利用场景法设计atm自动取款机的测试用例_黑盒测试之场景法
  14. 3.取色精灵V2.0-非模态对话框自建消息队列、VS2008风格对话框、使用Common Controls、悬浮透明窗口、使用SLIDER控件
  15. 【CAD二次开发】CAD插件没有权限修改C盘信息的解决方法
  16. linux格式化磁盘fdisk,linux下使用fdisk工具为磁盘分区格式化
  17. 5月电脑攒机配置推荐!
  18. sdcard里边的东西能删除吗_sdcard是什么意思(小米sdcard文件可以删除吗)
  19. HDMI EDID timing详细解析
  20. 在移动硬盘里移动视频文件到移动硬盘 另外一个文件夹 显示正在计算_移动硬盘也支持AES-256位硬件加密,希捷锦系列入手体验...

热门文章

  1. 谱图理论(Spectral and Algebraic Graph Theory)| Chapter1: Introduction
  2. 商务本Surface Laptop2用固态U盘安装Ubuntu18.04全教程(补充篇)
  3. Android手机多媒体
  4. 让我们一起奔跑,去追求卓越而不是平庸一生!
  5. 小行星大小计算机,一颗有着吉萨大金字塔尺寸的小行星今天掠过地球
  6. jsp中用自定义标签实现简单的分页
  7. 因为Istio,谷歌不惜公开与CNCF、合作伙伴撕破脸
  8. 分部积分法(integration by parts)
  9. 计算机图形生成的基本单位是,第五章 基本图形生成算法
  10. 【codeforces 821E】Okabe and El Psy Kongroo