论文部分内容阅读
本文在所承担的国家863计划项目中,主要研究实时网络游戏中的网络关键技术。网络游戏技术是计算机图形学和网络通信技术以及人工智能等领域在数字娱乐产业中的重要应用,是一项多学科交叉的研究领域,是目前的一个研究热点。目前国内自主版权的网络游戏并不多,因此,对网络游戏中的网络关键技术的研究,具有重要的学术意义和广阔的应用前景。实时网络游戏是指对网络延迟限制比较严格的一类游戏,通常采用一些算法来消除网络延迟对游戏的冲击。本文研究和分析了实时网络游戏中的网络关键技术的算法,并最终应用这些算法,完成了一个基于3D的第一人称射击类的实时网络游戏的整体架构系统,对这些关键技术进行了验证。本文首先从实时网络游戏中的设计策略出发,介绍了实时网络游戏中存在的主要问题及其主要的解决方案。重点研究了TCP和UDP在实时网络游戏中的优劣势、多播技术以及在大型网络游戏中必须采用的游戏空间剖分和集群化服务器技术。然后,对系统中所涉及的基础技术进行了介绍,分析了分布式对象的原理和体系结构以及分布式对象与远程过程调用在网络游戏中的应用。深入分析了RakNet网络引擎,介绍了该引擎的功能、优缺点、整体架构、性能测试以及具体的编程方法。本文在国际最新研究成果基础上,对实时网络游戏中的网络关键技术进行了多项深入研究。主要关键技术及其算法有:1.详细分析和阐述了航位推测技术,网络延迟成为实时性要求较高的网络游戏的一个瓶颈,航位推测技术避免了高网络延迟对该类游戏的冲击。航位推测技术主要包括预测技术和平滑处理技术。本研究了基于物理运动学算法的预测技术以及基于Cubic Splines算法的平滑处理技术,并给出了航位推测技术在实时网络游戏中应用的具体算法以及该算法的相应实例。2.在比较了乐观同步算法和保守同步算法的优缺点后,提出了采用基于航位推测的桶同步算法来解决实时网络游戏中的移动同步问题,该算法基于固定周期的网络更新,在客户端预测和客户端修正的处理下,最终实现了各个游戏客户端与游戏服务器之间的移动同步。3.研究了战斗中的射击命中算法,由于网络延迟的原因,实时网络游戏中射击问题的处理与单机游戏的是不同的,提出了用延迟补偿的方法来处理在网络中射击不准确的问题。最后,运用文中介绍的关键技术的算法设计并实现了基于3D的第一人称射击类实时网络游戏的整体架构系统。采用业务分离式集群的方式对服务器的架构进行了设计,其中包括更新服务器、登录服务器、均衡服务器、游戏服务器以及游戏客户端。关键技术主要应用在游戏服务器和游戏客户端上。本文详细介绍了各个服务器的运行流程和设计方案,通过实际的测试验证了关键技术中相应算法的正确性。