实时网络游戏中关键技术的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
本文在所承担的国家863计划项目中,主要研究实时网络游戏中的网络关键技术。网络游戏技术是计算机图形学和网络通信技术以及人工智能等领域在数字娱乐产业中的重要应用,是一项多学科交叉的研究领域,是目前的一个研究热点。目前国内自主版权的网络游戏并不多,因此,对网络游戏中的网络关键技术的研究,具有重要的学术意义和广阔的应用前景。
     实时网络游戏是指对网络延迟限制比较严格的一类游戏,通常采用一些算法来消除网络延迟对游戏的冲击。本文研究和分析了实时网络游戏中的网络关键技术的算法,并最终应用这些算法,完成了一个基于3D的第一人称射击类的实时网络游戏的整体架构系统,对这些关键技术进行了验证。
     本文首先从实时网络游戏中的设计策略出发,介绍了实时网络游戏中存在的主要问题及其主要的解决方案。重点研究了TCP和UDP在实时网络游戏中的优劣势、多播技术以及在大型网络游戏中必须采用的游戏空间剖分和集群化服务器技术。
     然后,对系统中所涉及的基础技术进行了介绍,分析了分布式对象的原理和体系结构以及分布式对象与远程过程调用在网络游戏中的应用。深入分析了RakNet网络引擎,介绍了该引擎的功能、优缺点、整体架构、性能测试以及具体的编程方法。
     本文在国际最新研究成果基础上,对实时网络游戏中的网络关键技术进行了多项深入研究。主要关键技术及其算法有:
     1.详细分析和阐述了航位推测技术,网络延迟成为实时性要求较高的网络游戏的一个瓶颈,航位推测技术避免了高网络延迟对该类游戏的冲击。航位推测技术主要包括预测技术和平滑处理技术。本研究了基于物理运动学算法的预测技术以及基于Cubic Splines算法的平滑处理技术,并给出了航位推测技术在实时网络游戏中应用的具体算法以及该算法的相应实例。
     2.在比较了乐观同步算法和保守同步算法的优缺点后,提出了采用基于航位推测的桶同步算法来解决实时网络游戏中的移动同步问题,该算法基于固定周期的网络更新,在客户端预测和客户端修正的处理下,最终实现了各个游戏客户端与游戏服务器之间的移动同步。
     3.研究了战斗中的射击命中算法,由于网络延迟的原因,实时网络游戏中射击问题的处理与单机游戏的是不同的,提出了用延迟补偿的方法来处理在网络中射击不准确的问题。
     最后,运用文中介绍的关键技术的算法设计并实现了基于3D的第一人称射击类实时网络游戏的整体架构系统。采用业务分离式集群的方式对服务器的架构进行了设计,其中包括更新服务器、登录服务器、均衡服务器、游戏服务器以及游戏客户端。关键技术主要应用在游戏服务器和游戏客户端上。本文详细介绍了各个服务器的运行流程和设计方案,通过实际的测试验证了关键技术中相应算法的正确性。
This dissertation mostly studies the key technology of real-time network game.Network game is a multi-disciplinary subject. It is an important application ofcomputer graphics, network, AI and some related knowledge in digital media industry.It is a hot research field at present. Studying on the key technologies of network gamehas important significance on science and worthiness in practical application.
     Real-time network game is confined by network latency. Generally, uses somealgorithms to hide the high latency which impacts to the real-time network game. Inthis dissertation, introduces the key technologies of real-time network game, finally,designs and develops an architecture of 3D First Person Shoot real-time network gamesystem, the system validates the technologies which are researched in the dissertation.
     First, this dissertation introduces the design strategies of real-time network game.It compares the advantage and disadvantage between TCP and UDP in real timenetwork game. It points out that the partition of game space and multi-server isimportant in the massive network game.
     Then, this dissertation analyzes the principle and architecture of distribute objectand applies the distribute object and remote process call in the network game. Analyzesthe RakNet network engine which is used by the network system. Analyzes theadvantage and disadvantage, the architecture of RakNet, tests the RakNet's capability.At last introduces the programming methods of RakNet.
     This dissertation carries out several further researches in the real-time networkgame area which is based on the newest research deployed in the world. The contentsare as follows:
     1. Analyzes and expounds the dead reckoning technology. Dead Reckoningtechnology hides the high latency which impacts to real-time network game. DeadReckoning technology consists of two parts: prediction technique and smooth technique.Introduces the prediction technique basing on the physical algorithm, and smoothtechnique basing on the Cubic Splines algorithm. At last applies the algorithm of deadreckoning technique in network game.
     2. A new bucket optimistic synchronization algorithms basing on dead reckoning isproposed. Analyzes the wrong algorithm of movement by graphic frame and introducesthe algorithm of movement by time step, and uses the interpolation to enhance thealgorithm, finally ,introduces the movement synchronization algorithm basing on clientprediction and client correction, it can resolve the movement synchronization problemin real time network game.
     3. Introduces the shoot algorithms in the real-time network game. Analyzes thedifference of shoot problem between network game and stand-alone game. The root ofdifference is the network latency. Proposes the lag compensation to resolve the shootproblem which is brought out by network latency.
     Finally, in this dissertation, an architecture of real-time network game systembasing on three-dimensional is designed and developed which is based on somealgorithms of key network game technologies that mentioned in the dissertation. Thissystem includes update server, login server, load balance server, game servers and gameclient. The key technologies are implemented mainly on the game servers and gameclient. In addition, introduces the design methods and scheme. The system validates thekey algorithm through the system.
引文
[1] Eric Cronin, Burton Filstrup, Sugih Jamin. Cheat-Proofing dead reckoned multiplayer games(extended abstract). In International Conference on Application and Development of Computer Games, 2003-07, Vol. 1:52-55
    [2] Todd Barron,LostLogic. Multiplayer Game Programming. Course Technology PTR. Washington America, 2002, 406-408.
    [3] R. A. Bangun, H. W. P. Beadle. Traffic on a client-server based architecture for multi-user network game applications. In Proceedings of ICT '97. Melbourne Australia, 1997-04, Vol.1:53-68
    [4] E. J. Berglund, D. R. Cheriton. Amaze. A multiplayer computer game. IEEE Software, 1985,2(3):30-49
    [5] Francis, P., S. Jamin, C. Jin, et.al. IDMaps: A Global Internet Host Distance Estimation Service. IEEE/ACM Transactions on Networking, 2001, 9(5):525-540
    [6] T. Henderson. Latency and user behaviour on a multiplayer games server. In Proceedings of Third International Workshop on Networked Group Communication, London, UK, 2001-11, 1-13
    [7] Blow, Jonathan. Packing Inteers. Game Developer Magzine, 2002-05, 33(5):16-19
    [8] Blow, Honathan. Using an Arithmetic Coder:Part 1. Game Developer Magazine, 2003-08, 34(8):14-18
    [9] Jouni Smed, Timo Kaukoranta, Harri Hakonen. A Review on Networking and Multiplayer Computer Games. Game Developer Magazine, 2002-07, 33(7):33-45
    [10] Jonathan Blow. A Look Latency in networked games. Game Development, 1998-06, 44-47
    [11] 肖永亮,耿卫东,陈为.计算机游戏程序设计.北京:电子工业出版社,2005,320-345
    [12] Stephen E. Deering, David R. Cheriton. Multicast routing in datagram internet works and extended LANs. ACM Transactionson Computer Systems, 1990, 8(2):85-110
    [13] 王艳平,张越.网络与通信程序设计.北京:人民邮电出版社,2005,31-117
    [14] M. L. Liu.分布式计算原理与应用.北京:清华大学出版社,2004,156-159
    [15] N. E. Baughman, B. N. Levine. Cheat-proof playout for centralized and distributed online games. In Proceedings of the Twentieth IEEE Computer and Communication Society INFOCOM Conference, Anchorage AK, 2001-04, Vol.3:55-67
    [16] R. Lambright. Distributing object state for networked games object views. Game Developer, 2002-03, 9(3):30-39
    [17] T. Chiueh. Distributed systems support for networked games. In Proceedings of the Sixth Workshop on Hot Topics in Operating Systems, Cape Cod, MA, 1997-05, 99-104
    [18] T. Chiueh, A. Ballman, P. Pradhan. Distributed system support for network-based multi-user interactive applications. In Proceedings of 1st Distributed Simulation Symposium, Orlando America, 1997-09, Vol.1:44-56
    [19] Z. Choukair, D. Retailleau. A QoS model for collaboration through distributed virtual environments. Journal of Network and Computer Applications, 2000-03,23(3):311-334
    [20] C. Diot, L. Gautier. A distributed architecture for multiplayer interactive applications on the Internet. IEEE Networks Magazine, 1999-04,13(4):6-15
    [21] R. A. Bangun, H. W. P. Beadle. A network architecture formultiuser networked games on demand. In Proceedings of International Conference on Information, New York City America, 1997, Vol.3:18-29
    [22] A. R. Bharambe, S. Rao, S. Seshan. Mercury. A Scalable Publish-Subscribe System for Internet Games. In Proceedings of the First Workshop on Network and System Support for Games, 2002-04,52-74
    [23] J. C. Bolot, S. F. Parisis. Adding voice to distributed games on the internet. In the Proceedings of Seventeenth Annual Joint Conference of the IEEE Computer and Communication Societies, 1998,Vol.1:480-487
    [24] Nathaniel E. Baughman, Brian Neil Levine. Cheat-proof Playout for Centralized and Distributed Online Games. In INFOCOM, 2001,32(3):104-113
    [25] W. Cai, F. B. S. Lee, L. Chen. An auto-adaptive dead reckoning algorithm for distributed interactive simulation. In Proceedings of the Thirteenth Workshop on Parallel and Distributed Simulation, Atlanta GA, 1999-05, Vol.1:82-91
    [26] J. Vogel, M. Mauve. Consistency control for distributed interactive media. In Proceedings of ACM Multimedia 2000, Ottawa City Canada, 2001-11, Vol1:259-267
    [27] Eric Cronin, Anthony R Kurc, Burton Filstrup et.al. An Efficient Synchronization Mechanism for Mirrored Game Architectures . Multimedia Tools and Applications, 2004,23(1): 7-30
    [28] Yutaka Ishibashi, Shuji Tasaka. Causality and media synchronization control for networked multimedia games: centralized versus distributed. Proceedings of the 2nd workshop on Network and system support for games, Redwood City California, 2003, Vol.1:42-51.
    [29] P. Bettner, M. Terrano. Network programming in Age of Empires and beyond. In The 2001 Game Developer Conference Proceedings, San Jose, 2001-03, Vol.1:33-38
    [30] J. Smed, T. Kaukoranta, H. Hakonen. Aspects of networking in multiplayer computer games. Proceedings of International Conference on Application and Development of Computer Games in the 21st Century, Hong Kong SAR, China, 2001-11, Vol.1:74-81
    [31] Sean Rooney, Daniel Bauer, Rudy Deydier. A Federated Peer-to-Peer Network Game Architecture. IEEE Communications Magazine, 2004-05, 42(5):114-123
    [32] Andrew Kirmse.游戏编程精粹4.北京:人民邮电出版社,2005,201-204
    [33] Yahn W Bernier. Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization.Game Developer, 2001-04, 8(4):31-43
    [34] Y. W. Bernier. Leveling the playing field: Implementing lag compensation to improve the online multiplayer experience. Game Developer, 2001-09, 8(6): 40-50
    [35] Douglas E. Comer.用TCP/IP进行网际互联,第一卷:原理、协议与结构(第四版).北京:电子工业出版社,2003-01,56-78
    [36] Jason T. Roff.UML基础教程.北京:清华大学出版社,2003,161-179

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700