Network Software Architectures for Real-Time Massively-Multiplayer
Total Page:16
File Type:pdf, Size:1020Kb
Network Software Architectures for Real-Time Massively-Multiplayer Online Games Roger Delano Paul McFarlane Degree of Master of Science School of Computer Science McGill University Montreal, Quebec, Canada Feb. 02, 2005 A thesis submitted to McGill University in partial fulfillment of the requirements for the degree of Master of Science. Copyright © 2005 Roger Delano Paul McFarlane. All rights reserved. ACKNOWLEDGMENTS First and foremost, I would like to thank my wife, Abaynesta, for her support and encouragement. Undertaking a full-time graduate degree while maintaining full-time employment and trying to be a full-time husband would have been an impossible challenge without your love, patience, and understanding. I love you. To my supervisor, Dr. Jörg Kienzle, I would like to express my thanks for taking on a student with a research area only somewhat related to your own, Software Fault Tolerance, and granting me the latitude to freely explore massively multiplayer game infrastructure. In the course of pursuing my graduate degree and writing this thesis, I was employed by two supportive organizations. To the management of Zero- Knowledge Systems Inc., most notably co-founders Austin Hill and Hammie Hill, I express my profound gratitude for your support and encouragement to pursue my academic goals. Thank you for allowing me the flexibility of schedule to take on a full-time course load and for your understanding and encouragement when the time came for me to move on to other opportunities. I would also like to thank the management of the Ubi.com group at Ubisoft Entertainment Inc. for recognizing the potential of this graduate student with no direct gaming experience and giving me the opportunity to learn from and contribute to your game projects while completing my thesis. ii TABLE OF CONTENTS ACKNOWLEDGMENTS................................................................................................................... ii TABLE OF CONTENTS...................................................................................................................iii LIST OF FIGURES........................................................................................................................... v Introduction ......................................................................................................................................9 Motivation ..................................................................................................................................12 Overview....................................................................................................................................12 Massively Multiplayer Online Games.............................................................................................14 A Definition ................................................................................................................................14 A Historical Perspective.............................................................................................................18 The Technical Challenges .............................................................................................................22 Network Bandwidth....................................................................................................................22 Network Latency........................................................................................................................23 Distributed Consistency.............................................................................................................24 Fault Tolerance..........................................................................................................................25 Network Failure..........................................................................................................................26 Hardware Failure .......................................................................................................................27 Participant Failure......................................................................................................................27 Administration and Live Production...........................................................................................28 Cheating ....................................................................................................................................29 Security of Customer Information.............................................................................................. 29 Scalability...................................................................................................................................30 Literature Review ...........................................................................................................................32 Military Modeling and Simulation...............................................................................................32 iii SIMNET – Simulator Networking .........................................................................................33 DIS – Distributed Interactive Simulation ..............................................................................42 ALSP – Aggregate Level Simulation Protocol .....................................................................49 HLA – High-Level Architecture ............................................................................................52 Academic Research...................................................................................................................63 NPSNET ................................................................................................................................64 PARADISE ............................................................................................................................68 MASSIVE...............................................................................................................................71 Other Systems.......................................................................................................................74 Commercial Computer Games ..................................................................................................76 First Person Shooters............................................................................................................77 Real-Time Strategy................................................................................................................77 Massively Multiplayer Online Games ....................................................................................78 Grid Computing .....................................................................................................................85 Network Software Architectures.....................................................................................................87 Client/Server ..............................................................................................................................87 Benefits..................................................................................................................................93 Challenges.............................................................................................................................93 Peer-to-Peer ..............................................................................................................................94 Benefits..................................................................................................................................95 Challenges.............................................................................................................................96 Conclusion .....................................................................................................................................99 LIST OF REFERENCES................................................................................................................... I iv LIST OF FIGURES SIMNET Fully Replicated Data Model. .............................................................................34 A Dead Reckoning Example. ............................................................................................36 Functional Components of the High Level Architecture....................................................54 Client/Server Shards.........................................................................................................79 Zoned World......................................................................................................................82 A replicated multi-server client/server archictecture. ........................................................89 Zoned world multi-server client/server architecture. .........................................................90 A Hierarchical Client/Server Architecture..........................................................................91 Distributing computational tasks. ......................................................................................92 Peer-to-Peer Architectures. ..............................................................................................94 v ABSTRACT A real-time massively multiplayer online game (MMOG) is a networked computer or video game in which tens of thousands to hundreds of thousands of consumers may interact with one another in real-time in a shared environment, even though these users may be separated by vast geographic distances.