论文部分内容阅读
棋牌手机游戏(Chess Mobile Game或Chess Wireless Game),是指消费者利用随身携带并具有无线网络联机功能的智能移动终端设备能随时随地来进行的游戏。自Android平台发布以来,越来越多的个人开发者投入到基于Android平台的棋牌类手机游戏的开发中来,这对于手机游戏开发产业的发展起到了重要的推动作用。然而在快速发展的同时,我们也发现了一系列的问题,比如手机支付安全问题,数据高效无误的传输问题,PC端和Android平台的适配性问题等,对这些问题解决地好坏直接关系到玩家用户体验优劣,同时更多的用户也对游戏的“智能化”提出要求。因此在这种大环境下,开发一款经典的棋牌类游戏,使其集益智性、趣味性、博弈性,安全性,稳定性为一体,这不仅是对Android游戏生态系统的进一步研究,也为安卓系统的稳定性、安全性发展做出了一定的参考。本论文试图在通过研究与实践Android手机游戏开发技术的基础上,对“人工智能”(智能出牌、智能提示、智能托管)、支付安全、数据高效无误的传输、平台适配等问题在棋牌类手机游戏中的应用问题进行探索与研究,并将相关的理论与技术应用到手机游戏上进行相关实践,以期为类似项目的研发提供经验借鉴。本论文研究和优化的主要内容如下:(1)针对游戏中财富支付安全问题,本论文综合AES、MD5、Base64等算法优点,提出非对称加密和对称加密相结合的“混合加密”方案,并将此用于优化Android客户端中游戏商城模块关于购买充值的部分,经过3个月的上线测试,优化方案在每天约1000人次的情况下没有发现支付异常被盗现象。(2)针对游戏逻辑复杂,系统运行效率不高的问题,一方面简化游戏逻辑,另一方面利用Android JNI来编写游戏数据加解密程序,并结合Android NDK(Native Developement Kit)开发工具生成相应的.so文件库,经过上线测试验证,平均响应时间为0.27秒。(3)针对游戏中数据传输量大,次数多,且对数据时序要求高的问题,设计了一套多数据多场景的线程池分发机制,经上线测试三个月,平均提高数据响应时间0.23秒。(4)利用谷歌Volley通信方案优化移动客户端获取数据的响应时间,降低Android系统在5秒内未成功获取数据而出现的假死现象的几率,并同时对相同的数据请求作缓存处理。经过上线测试验证,对于20条数据平均响应时间低于0.5秒。(5)针对对斗地主游戏中“人工智能”的需求,结合斗地主游戏规则完成对应程序的开发,从而实现在游戏房间里面实现“智能”出牌提示,“人工智能”托管,经过上线测试验证一共33局,结果负局12,胜局21,输赢率为63.6%。