论文部分内容阅读
本文围绕笔者在北京飞行船软件有限公司(台湾宇峻奥汀游戏公司在北京的分公司)开发的一款中国跳棋网络休闲游戏,论述了该游戏的设计与实现。第一章首先论述了休闲类游戏的特点和游戏程序的运行框架,以及网络休闲游戏的架构,通信协议和WinSock提供的五种I/O模型,并简述了网络游戏中常用的同步方法。最后论述了网络休闲游戏的客户端常用架构,两种常用的动画实现方法,以及可以提高客户端运行效率的精灵动画技术,并简述了碰撞检测算法和分离轴理论,为本项目的设计与实现提供了参考和借鉴。第二章首先介绍了本游戏所在的休闲游戏平台相关的开发环境,接着分析了本系列游戏相关的游戏流程,以及相关的开发平台和开发框架。并据此划分出本游戏项目开发的四个主要模块,以消息来驱动游戏的进行,并简述了双缓冲区切换实现的消息队列和游戏中的同步策略。第三章首先分析了本游戏的游戏规则,然后论述了游戏逻辑模块的设计方案,以及游戏核心规则相关的公式和算法:棋盘相关数据的表示,棋位距离的计算、可达棋位位置的算法和棋子跳跃请求的合法性判断的算法。第四章首先介绍了休闲游戏平台的客户端程序界面相关部分的接口和棋盘旋转的实现方案,然后着重论述了几种棋子点击选择算法,并对这几种算法做了分析和比较。最后针对本游戏所需实现的特殊界面元素和效果,对现有的界面元素进行了扩展,并论述了扩展的图片类、精灵动画类、鼠标右键菜单和特写镜头的设计和实现。第五章论述了本游戏的压力测试机器人程序的设计与实现方案。经过多次测试和调试排错之后,本游戏取得了很好的评价,并成功交付台湾总公司。服务端程序通过了压力测试机器人的测试,一个游戏服务器(游戏小厅,Lobby Server)能支持600个玩家同时在线游戏,在第六章所述的测试环境中一个Lobby Server的内存占用仅30M,单条游戏消息的平均处理时间为3微秒,游戏消息的平均响应时间为22毫秒。