论文部分内容阅读
网络游戏是近年来得到众多关注并且发展极为迅速的一个产业,如今我国的网络游戏业已经进入了发展的高峰期,随之而来的是大量的网络游戏的投入制作。但是,我国游戏制作的现状还不尽如人意,其中一点就体现在游戏引擎的制作上。网络游戏的核心在游戏引擎,没有自己的引擎,我们的网络游戏就会永远受制于人,无法发展。随着网络游戏产业的迅速发展,国家相关单位对于网络游戏的自主知识产权逐渐重视起来,并且已经将网络游戏引擎的研究列入863课题。目前,一种全新的游戏领域已经以MMOG(Massively Multiplayer Online Game,大型多人在线游戏)的形式出现了。这些游戏能够让大量玩家在线上一个持续的环境中互相战斗或是组队对抗共同的敌人。MMOG比一般的游戏更具有深度和广度。考虑到MMOG规模的庞大性,网络中需传输的消息量之大,在编写MMOG中将遇到所有网络编程中的棘手问题,包括大规模的网络连接处理、大量的数据传输、严格的时间要求等。因此,MMOG网络引擎必须具有极强的网络处理能力,在固有的网络延迟、不可避免的丢包以及有限的带宽资源的情况下,能够对整个游戏世界的状态在服务器和客户端之间进行同步,使玩家体验到更好的游戏效果,并实现玩家之间数据的安全传输。由于网络游戏依托于现有的互联网技术,网络传输中的延迟、出错等问题总是不可避免的,故游戏中状态的同步便是一个很大的问题,因而网络游戏引擎中同步技术的研究对实际应用有很重要的意义。本文首先分析了网络引擎设计中的技术因素和网络传输中的主要问题,其中详细分析了同步问题产生的主要原因,并对MMOG中不同种类的游戏对同步的要求做了阐述,接着讨论了几种典型的同步算法,并在此基础上总结出相应的同步策略;然后对RakNet网络引擎中所提供的功能模块及其同步问题的解决方案进行了深入地分析。最后,为MMOG选取集群镜像服务器架构的网络体系结构,并在其基础之上设计出服务器之间的同步机制以及客户端预测的方法。同时,基于节约带宽以及安全性考虑,对消息进行了压缩和加密,并对网络传输进行了优化。