论文部分内容阅读
棋牌休闲游戏现在有很广泛的群众基础,如民间传统的中国象棋、扑克、围棋都是人们最常见的娱乐活动。现在互联网公司提供的典型游戏大厅产品,就是把常用的棋牌休闲游戏集成到一个平台上,让游戏用户一次登录,就可以玩各种棋牌休闲游戏,提供了一站式的服务。但是,在我国限于商业竞争等原因,游戏大厅提供商并没有公布其实现原理。而在国外,由于文化的差异,棋牌游戏并不常见,所以对棋牌技术没有进行深入的研究,这些原因都导致了网络棋牌游戏的技术资料非常缺乏。服务端技术在棋牌网络游戏占有重要的地位,为更好的推广网络棋牌游戏技术的发展,本文设计了一个通用高性能网络棋牌游戏服务端平台。本文是在迅雷游戏大厅服务端项目组实习工作时,根据实际的项目经验,对网络棋牌游戏服务端技术进行了研究和创新。本文的主要工作如下:1.首先分析了课题的研究背景和意义,对棋牌游戏用户群,棋牌游戏的特点进行了分析和总结,另外分析了国内外网络棋牌游戏的发展现状和趋势。2.介绍实现棋牌服务端的相关背景知识和关键的技术。对典型的网络结构进行分析,总结各自的优缺点,另外对Epoll技术进行初步的介绍。3.分析网络棋牌游戏特点,确定服务端要实现的核心功能,并提出了核心服务端架构。然后在此基础上确定棋牌游戏流程及每个核心服务端要承担的功能,并给出重要的实现类。4.在确定的核心服务端架构的基础上,分析棋牌游戏所具有的共性,应用面向对象的思想,对游戏逻辑服务端进行框架和具体逻辑分离。框架实现共性的工作和底层通信,维护等基本功能。同时框架确定第三方接口,由第三方开发者根据接口实现具体游戏逻辑。当游戏逻辑服务端运行时,由框架决定加载具体游戏逻辑,这样实现了游戏逻辑服务端的通用性,游戏逻辑服务端演变成通用平台。5.网络游戏服务端的性能问题一直备受关注,为保证大用户量同时在线游戏的目标,本文从架构和程序实现等多个方面提出解决方案。如操作系统和IO模型的选择,分布式架构的具体应用,数据的处理模式及应用缓存机制等等。6.研究如何实现棋牌游戏的稳定性,对常见影响稳定性的问题,提出了解决方案。