An Overview of Networking Infrastructure For Massively Multiplayer Online Games
An Overview of Networking Infrastructure For Massively Multiplayer Online Games
Keywords
Online games, peer-to-peer, client-server, MMOG. 2. CHALLENGES
An online multiplayer game is a virtual environment generated by
1. INTRODUCTION computers, in which users may be geographically distributed, see
Online games are an increasingly popular form of entertainment a graphical representation of the virtual world and controls their
on the Internet, with the worldwide online market predicted to be virtual character known as avatar. The avatars communicate with
worth over US$10 billion in 2009 [1]. Massively multiplayer each other to exchange information and do various actions. Some
online games (MMOGs) distinguish themselves from other online basic of such actions are moving the avatar, picking up objects, or
games by allowing thousands of players to share a single virtual communicating with other players. The scalability problems that
world at the same time. As an example of popular MMOG, money MMOGs face rise from the fact that they have to handle a massive
making online game, World of Warcraft reached a record of 11 amount of connected players, presenting them with a consistent
million active subscribers worldwide as of October 2008 [2] who view of the virtual world, providing good gaming performance
are paying monthly fee and purchasing expansions. and an enjoying experience.
Most current commercial MMOGs are based on the client-server
communication model where every packet data flows via a
centralized server. The benefits of this client-server model include
a tight control of the system, which makes data persistence, user
619
authentication and secured communication channel possible. In a virtual environments (NVEs), and (3) multiplayer computer
single session of typical MMOG, there are two main types of games (MCGs). The focus of scientific research has shifted from
processes participating: (1) the server manages and regularly the military simulations (the 1980s) through NVEs (the 1990s)
updates the game state depending on user inputs and the game- and currently to MCGs (see Figure 1). Military terminology
specific logic, and (2) the client regularly visualizes the updated prefers the word ‘simulation’, because they can be more than
game state to the user and forwards user inputs to the server. NVEs (e.g., logistical simulations). Moreover, the entertainment
Several popular multiplayer online game types, also known as industry is investing seriously on MCGs, mobile gaming and
game genres, like First Person Shooter (FPS) or Real-Time online gaming in general. Thus, we survey the literature and
Strategy (RTS) have evolved using this communication model and research regarding distributed military simulation, networked
usually are played with a few dozens of players [3]. Aided by the virtual environments, and commercial online gaming in search of
increasing broadband connection bandwidth of the Internet and patterns for network architectures which are applicable to
existing processing power at servers, the new type of Massively massively multiplayer online games.
Multiplayer Online Games (MMOG) has evolved, which allows a
high number of users to participate in a single game session.
Especially the genre of Massively Multiplayer Online Role
Playing Games (MMORPG) is played with possibly thousands of
concurrent users in a single session. The highest number of
concurrent users in a unique game world was recorded in January
2009 by ‘EVE Online’ to be near 45, 200 [4].While this
centralized communication model is good for administrative
control, security and simplicity, increasing complex game play
and artificial intelligence computation has turning the server into Figure 1. History of distributed virtual environments.
computational and bandwidth bottleneck.
Some of the very popular and large MMOGs nowadays have
managed to scale with a centralized server cluster system. For The relationship between games and simulations is not
examples, in order to serve thousands of players at one time, straightforward (see Figure 2). There are games that are
popular MMOG providers like Sony Online Entertainment simulations (e.g., football manager games) and games that are
(developer for EverQuest, a fantasy MMOG) and Linden Lab especially experience in a virtual environments (e.g., flight
(producer of Second Life, a 3-D social virtual environment) have simulators or first person shooters). While virtual environments
invested a huge number of dedicated servers (between 1,500 to simulate possibly real-world environments, computer games do
2,600 servers) interconnected by high-speed networks to form a not necessarily belong to simulations or virtual environments. As
cluster of servers [5] [6]. However, server-clusters demand an example, as the games get more abstracted from collaborative
investment of millions of dollars to develop, deploy and maintain, interactions among players, they are less and less simulations like
but the total amount of resources is still limited at any given time. puzzles and board games which are personally played on a single
While more servers can be added, the demand placed upon the machine.
system by the players has exponential grow, resulting in a
performance bottleneck [7]. Although game providers put extra
cost by running more server to support more players, MMOGs
still face huge scalability problems in order to be able to support
hundreds of thousands of simultaneous players in a persistent
virtual world.
3. DISTRIBUTED VIRTUAL
ENVIRONMENT
Virtual environments, in particular multiplayer online games
played over the Internet, have become a very popular class of
applications used by an increasing number of users worldwide.
Technically, these applications are distributed systems consisting
of several clients and servers. There have been different names Figure 2. Relationship of simulations, virtual environments
used for these applications – distributed interactive applications and computer games.
(DIAs) [8], networked interactive entertainment [9], distributed
virtual environments [10], networked virtual environments
(NVEs) [11], collaborative virtual environment (CVE) [12, 13, 3.1 Distributed Virtual Environment Classes
14], such that we use their common trait of distributed virtual All applications belonging to the class of distributed virtual
environments for referring to this application class. environment systems have a common feature that for each user a
client software graphically presents a virtual environment. The
users can move and interact in real-time in this environment in a
According to Smed, Kaukoranta, and Hakonen (2002)[15], over
very responsive way. Besides online games, there are other
the past twenty years three distinct classes of virtual environment
application classes which belong to this type of distributed
have become important: (1) military simulations, (2) networked
systems. Distributed Virtual Environment (DVE) systems like
620
DIVE [16] or MASSIVE [17] target at Computer Supported latency, distributed consistency, scalability, and others. One of the
Collaborative Work (CSCW) scenarios like virtual conferences biggest challenge is to scale the game state while providing
and distributed cooperative work. As a different application, life distributed consistency (i.e., the shared sense of space) to a
simulations like Second Life [18] allow to build virtual massive number of concurrent users. In order to provide a shared
communities, chat with other users, develop the user’s avatar as sense of space among players, each player must maintain a copy
its personal alter ego; even building and furnishing a virtual estate of the (relevant) game state on his computer. When one player
is possible. There has been some work on graphical distributed performs an action that affects the world, the game state of all
operating systems in which the user interface is realized as an other players affected by that action must be updated. As the
virtual environment. For example, the user in Croquet [19] as such number of objects that can change and the number of players in
a system moves an avatar around and uses portals to start and the world increase, the amount of information that must be
interact with different applications. exchanged between players also increases.
However, the amount of information that can be exchanged
between computers in an MMOG is bounded by at least two
3.2 Massively Multiplayer Online Games technical limitations: network bandwidth and processing power
Massively multiplayer online games (also known as MMOGs) [11] [28]. Another important requirement of an MMOG is that
are a variation of the standard multiplayer online game, but with the information about the game state must not only be exchanged
the addition that they can support thousands of simultaneous between players, but it must be exchanged in a timely manner.
players in a persistent game world. Regarding multiplayer online Game state changes must be propagated within a delay that does
games as a main application type of virtual environments, there not affect the game play, usually below human perception.
are several different game design types called genres. There are Delivery of information in a timely manner must deal with the
three main genres of multiplayer online games currently played technical limitation of network latency [11] [28].
over the Internet:
621
transmits data over a network, the network’s latency determines if messages are sent to all users in the virtual environment, the
when the data becomes available for consumption by the amount of transmission and processing grows at O(n2), which is
receiving application. As players expect to interact with each clearly not scalable. Real-world observation tells us that each
other and with the environment in real-time [29, 30, 31], the individual only has a limited visibility or ‘area of interaction’. We
MMOG developer wishes to give the user the illusion that the cannot look around corners, through doors or walls, into pockets,
entire game world is located on their local machine. Network listening on conversations in a busy room and so on. In other
latency means that incoming data about the state of the game words, our interest is localized [37]. Interest management
environment is already somewhat out-of-date by the time it therefore deals with relevant information filtering, to reduce
arrives for processing. network resource consumption while maintaining adequate
interactivity.
Interest management in virtual environment can be generally
3.3.4 Distributed Consistency classified into three groups [15]:
Latency and distributed communications make it difficult to
maintain consistent world interpretations for each participant. The • Area-of-Interest Management
MMOG developer wishes to present users with a single shared • Multicast Routing
environment, which is challenging if the messages communicating
changes in the environment arrive at different times at each node. • Subscription-based Aggregation
Further, if participants act based on differing views of the
Area-of-Interest Management and Multicast Routing are within
environment, some means must be provided to determine which
the scope of this research and are described in the following
resulting version of the environment is correct.
paragraphs.
A lack of consistency hampers the level of immersion of the
player, taking away from their enjoyment of the game and
decreasing their desire to play. Fortunately, the military, 3.4.1 Area-of-Interest Management
academic, and gaming communities have all found that human Area-of-Interest (AOI) Management is a mechanism that filter
players are often satisfied given the appearance of consistency. messages such that users ideally do not receive and process
Overall, maintaining consistency in an online game has proven to messages that they do not need in order to correctly proceed in the
be a difficult task for game developers; players commonly virtual environment. Thus this mechanism provide MMOGs with
discover defects that violate the consistency of the game world, intelligent information dissemination through the network that has
many of which may be exploited to gain an unfair advantage over the potential to considerably reduce the amount of information
other players [32, 33, 34]. These consistency violations tend to that must be exchanged between users and the resources it
stem from implementation or design errors. Achieving true consumes. . It can be distance-based (by geography), class-based
consistency in a distributed environment is often quite complex, (by object or user attributes), or some combination of both [37].
having subtle failure modes and timing or ordering considerations.
622
4.1 Unicasting including the artificial intelligence of NPCs and the virtual world
Unicasting is communication between a single sender and a single simulation, to the current game state . As the result of this
receiver, which allows to control and direct the traffic from point calculation, the states of several dynamic entities have changed.
to point. If the same message is intended for multiple receivers, (3) The final step transfers the new game state back to the clients.
unicasting wastes bandwidth by sending redundant messages.
4.2 Broadcasting
Broadcasting is communication between a single sender and all
recipients, which means that every node has to receive and
process every broadcast message. Obviously, this leads to
problems as the number of participants grows, which is why
broadcast transmissions are not guaranteed on the WANs.
4.3 Multicasting
Multicasting is communication between a single sender and
multiple receivers, which allows receivers to subscribe to groups
that interest them. The sender does not need to know all the
subscribers but sends only one message, which is received by Figure 3: Typical steps in state update loop processing
multiple receivers belonging to the group. Because no duplicate
messages are sent down the same distribution path, multicasting
provides an efficient way to transmit information among a large There exist several possible network architectures which provide
number of nodes. the actual placement of this state update loop component inside
Multicast transmission is not quite as efficient as basic broadcast, the distributed system [28]. In order to support game applications
but is usually much more efficient than multiple unicast with distributed clients, several architectural solutions have been
operations. Interest management systems in games often specify presented in the research literature and in commercial products.
multicasting as a mean of efficiently implementing interest groups All architectures are classified as either Centralized (as illustrated
and associated network communication [40]. in Figure 4 (a) client-server), Distributed (P2P) (as illustrated in
Figure 4 (b) peer-to-peer), or Hybrid - depending on where the
game state is stored. Centralized and distributed architectures
store the game state on centralized servers and client machines
5. GAME STATE PROCESSING FOR respectively. Hybrid architectures store the game state on both
MULTIPLAYER ONLINE GAMES centralized and client machines.
From the application level point of view, real-time MMOGs
typically simulate a spatial virtual world where a particular player
moves and acts through an avatar, which represents the player
within the game. The state of the virtual world can be
conceptually separated into a static part and a dynamic part. The
static part covers the elements of the game world that never
change, e. g., environmental properties like the landscape,
buildings and other non-changeable objects. Since the static part is
pre-established, no information exchange about it is required
between the game participants. The dynamic part of the game
state covers objects like the players' avatars, non playing
characters (NPCs) controlled by the computer, items that can be
collected by players or, generally, objects that can change their
state. These objects are called entities and the sum of all entities is
the dynamic part of the game state, such that dynamic information
need to be exchanged between the game participants. Figure 4: Network architectures
Typical multiplayer online real-time games implement an endless 5.1 Client-server Architecture
loop, called state update loop, which repeatedly updates the game In this traditional architecture, a single server takes care of the
state in real time. Figure 3 shows one iteration of the server state overall state processing and incorporates the application logic.
update loop for multiplayer games based on the client-server Figure 5 illustrates the client-server architecture for game states
architecture. An iteration of state update loop consists of three processing. The clients run on the users’ desktop computers, send
steps: (1) At first the clients process the users' input and transmit user inputs to the server and present the received application state
them to the server. (2) The server then calculates a new game graphically. For a typical MMOG sessions running over the
state by applying the received user actions and the game logic,
623
Internet, the server usually runs at a dedicated server host extremely difficult [46]. The clients do not alter their copies of the
connected to the network over a high-bandwidth link. entity directly, but send user inputs to the server and receive and
visualize the according state change.
Another very important feature of the client-server approach is
that all user inputs can be verified by the server before applying
them to the overall state and that clients only need to know the
state of the particular region of interest of the user. This concept
of only transferring state information concerning the particular
region of interest to the clients saves communication bandwidth
[47, 48].
Additionally, especially in highly competitive online games,
clients must not be considered trustworthy, because malicious
users can hack and alter the client application to provide unfair
functionality or sabotage the session. This so-called cheating [49,
50] in online games is a major problem which has to be actively
countered by implementing cheat-secure mechanisms for
communication and game state processing.
Figure 5: Game states processing in client-server architecture The client-server approach naturally implements the region of
interest concept by sending the clients only limited information
about the overall virtual environment, which prevents hacked
One major drawback of the architecture is that this server
clients to reveal information to the user which should be hidden,
constitutes a single point of failure for the complete session,
like the positions of hidden opponents in an action game.
because it is the only component of the distributed architecture
Additionally, the server verifies each user action before executing
knowing the complete application state: if the server fails, then
it, which allows to implement particular anti-cheating mechanisms
there is no other component able to take over the state
like plausibility checks at the central server host. Often, these
computation and the complete session is lost.
advantages push game middleware providers to adopt this
The server has to receive the user actions from all clients, architectural solution [51].
compute the new overall state of the application and send each
client the new state information according to its region of interest
of the virtual environment. Therefore, the computational and 5.2 Peer-to-peer Architecture
communication load of the server grows at least linearly with the In the common, fully connected peer-to-peer (P2P) architecture
number of connected clients. If this load exceeds the there is no particular dedicated process computing the state
computational or communication resources of the server host, updates. Instead, each process running at a user’s desktop
then the server will become congested and not be able to finish the computer has its own built-in server that processes the complete
games state processing within the particular deadlines, thus virtual world. All peers consisting of the two components are
violating the real-time constraints of the MMOG. Furthermore, interconnected with each other and have to synchronize their
this architecture is not scalable with the number of increasing world states as illustrated in Figure 6.
players [41, 3, 42, 43, 5, 6] and generally support between 8 and
64 players [44]. It will continue to be the most common
architecture for games with small numbers of players such as First
Person Shooters (FPS) and cannot handle more than a few
hundred players.
To handle large numbers of concurrent players developers use
clusters of computers, also known as Server-Cluster. This is the
approach used by EVE Online [4], which holds the record for the
greatest number of concurrent players in one shard to be near 45,
200 and was recorded in January 2009. Each computer in the
cluster is responsible for managing a different portion of the
virtual world. Load balancing transfers players between
computers in the cluster, keeping every machine’s processing and
bandwidth requirements from reaching saturation.
Figure 6: Game states processing in P2P architecture.
624
actions of its own user to all other peers. The distributed
processing at the server-components has to realize a particular
consistency model which ensures that the distributed application
state at all peers is the same. In online game implementations,
user actions are commonly timestamped and appropriately
ordered at the peers before they are executed, as for example
described in [52] for the real-time strategy game Age of Empires
[53].
All peers have to execute the same computations and send and
Figure 7: Partitioning a virtual world into several zones.
receive the same amount of state and action of game data.
Therefore, the maximum number of connected peers is
determined by the host with the lowest computation power and
communication bandwidth. If this particular peer is not able to Figure 7 depicts an example of a virtual environment partitioned
maintain the processing update rate or communicate state into four zones, where each zone-server handles its entities
information in time anymore, then the complete session will independently of the rest of the environment. The overall
become unresponsive. Consequently, the fully connected peer-to- workload partitioning of the entity processing is done in an
peer architecture has only been implemented for small-scale independent, side-by-side manner based on the virtual geography,
online action and strategy games. i.e., the large virtual world. Communication between servers only
occurs when a user moves the avatar from one zone into another:
The use of the peer-to-peer architecture for virtual environments The client has to establish a new connection to the server
has been discussed in detail during the last decade [54] [55]. responsible for the new zone and the servers have to migrate the
However, with Internet-based dedicated servers becoming less client’s state from one to the other. Zoning is used especially in
costly, the advantage of peer-to-peer approach lost its importance. Massively Multiplayer Online Role-Playing Games like
Recent online games do not use the fully connected peer-to-peer EverQuest 2 [21] or World of Warcraft [2] which feature a very
concept anymore. However, different heterogeneous concepts large game world suitable to be partitioned this way. Figure 8
using concepts related to the peer-to-peer approach have been shows the world map of the MMORPG Ragnarok Online split up
presented, as for example [56, 57, 58] that resort to P2P protocols into 80 independent zones.
which dynamically build overlay networks to support
communication among peers.
6. PARALLELIZATION OF MMOGS
WORKLOAD DISTRIBUTION
In MMORPGs, which incorporate a huge virtual world, the
scalability aspect of increasing the total player number is mostly
happened. This aspect is made scalable by using the zoning
approach: the world is subdivided into independent regions, so-
called zones, which are then processed in parallel on several
servers. This results in a very good scalability if the virtual world
is very large and thus can be subdivided in many zones. Besides
zoning, instancing is another commonly used approach which
creates multiple, independent copies of particular areas of the
virtual world, called instances. Instancing limits the user
interactivity in the application, because users residing in a
particular instance cannot interact with those in other instances.
625
independent copies of a same region of the virtual world, the Reckoning’ [29, 30], the missing network packet during a running
instancing concept allows to handle congestion of particular areas. online game session is computed with an approximation
If for example, a lot of users move into the same dungeon in an techniques. Based on previously received packets, the node
MMORPG, independent instances of that dungeon allow to predicts movement of particular object. The predicted state is used
parallelize the processing of that area. In role-playing games like until new information is received from the sender node.
World of Warcraft, users arrange in teams (so-called groups) to Depending on the prediction accuracy, the approximated location
play together in a particular instance of a certain region. This way, can be some distance from its actual location, as illustrated in
a high number of teams are able to adventure in the same region Figure 11.
without congesting the real-time processing of a single server,
because the independent instances can be operated on several
servers. Instancing also allow the effects of server failure to be
isolated to the players who are using the failed server.
626
in order to scale at a particular level and maintain timely virtual [16] Frecon, E. and M. Stenius, DIVE: A Scalable Network
world state computations. Architecture for Distributed Virtual Environments.
Distributed Systems Engineering Journal, 1998. 5:p. 91-100.
[17] Greenhalgh, C., J. Purbrick, and D. Snowdon. Inside
9. REFERENCES Massive-3: Flexible Support for Data Consistency and World
[1] Worldwide Market Forecasts for the Video Game and Structuring. in Proceedings of the Third ACM Conference on
Interactive Entertainment Industry. DFC Intelligence 2008 Collaborative Virtual Environments (CVE 2000). 2000:
June 30 [cited 2008 16 December]; Available from: ACM.
http://www.dfcint.com. [18] Linden Research. Second Life. [Online]. Available at:
[2] World of Warcraft Surpasses 11 Million Subscribers http://secondlife.com
Worldwide. Blizzard Entertainment (Press Releases) 2008 [19] Smith, D.A., et al. Croquet - A Collaboration System
October 28 [cited 2008 16 December]; Available from: Architecture. in Proceedings of First Conference on Creating,
http://www.blizzard.com/us/press/081028.html. Connecting and Collaborating through Computing. 2003.
[3] Dolbier, G., ‘Massively multiplayer online games, Part 1: A Kyoto, Japan.
performance-based approach to sizing infrastructure’, IBM [20] Electronic Arts. Ultima Online. [Online]. Available at:
developerWorks (Technical Report), 10 Apr. 2007. http://www.uo.com
[4] Welsh, O. EVE Breaks Concurrent User Record. EuroGamer [21] Sony Entertainment. Everquest 2. [Online]. Available at:
News. 2009 January 6. [Online]. Available at: http://everquest2.station.sony.com.
http://www.eurogamer.net/articles/eve-breaks-concurrent-
user-record [22] Valve Software. Counter-Strike: Source . [Online]. Available
at: http://www.valvesoftware.com
[5] Kushner, D., Engineering EverQuest: Online Gaming
Demands Heavyweight Data Centers. Spectrum, IEEE, 2005. [23] ID Software. Quake 4. [Online]. Available at:
42(7): p. 34-39. http://www.idsoftware.com/games/quake/quake4
[6] Terdiman, D. 'Second Life': Don't worry, we can scale. [24] NovaLogic. Joint Operations: Combined Arms. [Online].
ZDNet News (Personal Technology) 2006 June 6. [Online]. Available at: http://www.novalogic.com
Available at: http://news.zdnet.com/2100-1040_22- [25] Sony. PlanetSide. [Online]. Available at:
148320.html. http://planetside.station.sony.com
[7] Brandt, D. Networking and Scalability in EVE Online. in [26] Electronic Arts. Command & Conquer Generals. [Online].
Proceedings of 4th ACM SIGCOMM workshop on Network Available at: http://www.commandandconquer.com
and system support for games. 2005. Hawthorne, New York,
[27] CDV Software Entertainment AG and GSC Game World.
USA: ACM.
Cossacks game series. [Online]. Available at:
[8] Delaney, D., T. Ward, and S. McLoone, On Consistency and http://www.cossacks2.de
Network Latency in Distributed Interactive Applications: A
[28] Smed, J., T. Kaukoranta, and H. Hakonen. Aspects of
Survey. Presence: Teleoperators & Virtual Environments,
Networking in Multiplayer Computer Games. in
2006. 15(2): p. 218–234.
International Conference on Application and Development of
[9] Capps, M., McDowell, P., & Zyda, M. A Future for Computer Games in the 21st Century. 2001.
Entertainment-Defense Research Collaboration. IEEE
[29] Aronson, J., Dead Reckoning: Latency Hiding for Networked
Computer Graphics and Applications, 2001. 21(1) :p. 37–43.
Games. 1997, Gamasutra. [Online]. Available at:
[10] Stytz, M. R. Distributed Virtual Environments. IEEE http://www.gamasutra.com/features/19970919/aronson_01.ht
Computer Graphics and Applications, 1996. 16(3):p. 19–31. m
[11] Singhal, S. and Zyda, M., Networked Virtual Environments: [30] Lincroft, P., The Internet Sucks: Or, What I Learned Coding
Design and Implementation (Siggraph Series). 1999, New X-Wing vs. TIE Fighter. 1999, Gamasutra. [Online].
York: ACM Press. Available at:
[12] Park, K. S., & Kenyon, R. V. Effects of Network http://www.gamasutra.com/features/19990903/lincroft_01.ht
Characteristics on Human Performance in a Collaborative m
Virtual Environment. In Proceedings of Virtual Reality (VR [31] Pantel, L. and L.C. Wolf. Network Issues for Video and
’99), 1999. Games: On the Impact of Delay on Real-Time Multiplayer
[13] Vaghi, I., Greenhalgh, C., & Benford, S. Coping with Games. in 12th International Workshop on Network and
Inconsistency Due to Network Delays in Collaborative Operating Systems Support for Digital Audio and Video.
Virtual Environments. In Proceedings of Symposium on 2002. Miami, FL: ACM Press.
Virtual Reality Software and Technology (VRST ’99), 1999. [32] IMG News, DiabloII.Net Recaps Real Issues. in Inside Mac
[14] Benford, S., et al., Collaborative Virtual Environments. Games. 2002. [Online]. Available at:
Communication of the ACM, 2001. 44(7): p. 79-85. http://www.insidemacgames.com/news/story.php?ArticleID=
4741
[15] Smed, J., T. Kaukoranta, and H. Hakonen, A Review on
Networking and Multiplayer Computer Games, in TUCS [33] Kirmse, A. and C. Kirmse, Security in Online Games. 1997.
Technical Report No 454. 2002. [Online]. Available at:
http://www.gamasutra.com/features/19970707/security.htm
627
[34] Shachtman, N., 'Blizzard' of Cheaters Banned. Wired News. [49] Jenkins, K. Designing Secure, Flexible, and High
[Online]. Available at: Performance Game Network Architectures, December 2004,
http://www.wired.com/gaming/gamingreviews/news/2002/09 Gamasutra. [Online]. Available at:
/55092 http://www.gamasutra.com/view/feature/2174/designing_sec
[35] Sung, M., M. Gleicher, and S. Chenney. Scalable Behaviors ure_flexible_and_.php
for Crowd Simulation. in Computer Graphics Forum 23, [50] Yan, J. and Randell, B. A Systematic Classification of
(Eurographics ’04). 2004. Cheating in Online Games. In NetGames ’05: Proceedings of
[36] [56] Treuille, A., S. Cooper, and Z. Popovic, Continuum 4rd ACM SIGCOMM Workshop on Network and System
Crowds. ACM Transactions on Graphics, 2006. 25(3): p. Support for Games. ACM Press, 2005.
1160-1168. [51] Bauer, D., Iliadis, I., and Scotton, P., Communication
[37] Morse, K.L., Bic, L. and Dillencourt, M., Interest Architectures for Massive Multi-Player Games. Multimedia
Management in Large-Scale Virtual Environments. Presence: Tools and Applications, 23:47–66, 2004.
Teleoperators & Virtual Environments, 2000. 9(1): p. 52-68. [52] Bettner, P. and Terrano, M. 1500 Archers on A 28.8:
[38] Tanenbaum, A. and M.v. Steen, Distributed Systems: Network Programming in Age of Empires and Beyond. In
Principles and Paradigms (2nd Edition) 2007, Upper Saddle Game Developer Conference Proceedings, San Jose,
River, New Jersey: Pearson Education Inc. California, USA, March 2001.
[39] Forouzan, B.A., TCP/IP Protocol Suite (3rd Edition). 2007: [53] Ensemble Studios. Age of Empires. [Online]. Available at:
McGraw-Hill. http://www.microsoft.com/games/empires
[40] Zou, L., M.H. Ammar, and C. Diot. An Evaluation of [54] Diot, C. and Gautier, L. A Distributed Architecture for
Grouping Techniques for State Dissemination in Networked Multiplayer Interactive Applications on the Internet. IEEE
Multiuser Games. in Proceedings of the ninth Internation Networks magazine, 13(4), July/August 1999.
Symposium on Modeling, Analysis and Simulation of [55] Gautier, L. and Diot, C. Design and Evaluation of MiMaze, a
Computer and Telecommunication Systems. 2001. Multi-player Game on the Internet. In International
[41] Cecin, F. R. et. al., Freemmg: A Hybrid Peer-to-Peer and Conference on Multimedia Computing and Systems, pages
Client-Server Model for Massively Multiplayer Games. In 233–236, 1998.
Proceedings of ACM SIGCOMM 2004 workshops on [56] Knutsson, B., et al., Peer-to-peer Support for Massively
NetGames ’04, 2004. Multiplayer Games. In Proceedings of IEEE Infocomm,
[42] Jenkins, K. Designing Secure, Flexible, and High March 2004.
Performance Game Network Architectures, December 2004, [57] Boukerche, A. Araujo, R.B. and Laffranchi, M. Multiuser 3D
Gamasutra. [Online]. Available at: Virtual Simulation Environments Support in the Gnutella
http://www.gamasutra.com/view/feature/2174/designing_sec Peer-to-Peer Network. Journal of Parallel and Distributed
ure_flexible_and_.php Computing, 65(11):1462–1469, 2005.
[43] Zhuang, S. Q., Zhao, B. Y., and Joseph, A. D. Bayeux: An [58] Yu, A. and S.T. Vuong. MOPAR: A Mobile Peer-to-Peer
Architecture for Scalable and Fault-tolerant Wide-area Data Overlay Architecture for Interest Management of Massively
Dissemination. In Proceedings of NOSSDAV’01, Jun. 2001. Multiplayer Online Games. in Proceedings of the
[44] Zaichen, Z. and V.O.K. Li, Network-Supported Layered International Workshop on Network and Operating System
Multicast Transport Control for Streaming Media. Parallel Support for Digital Audio and Video, 2005.
and Distributed Systems, IEEE Transactions on, 18(9): p. [59] Wentong, C., et al. A Scalable Architecture for Supporting
1332-1344, 2007. Interactive Games on the Internet. in Proceedings of the 16th
[45] GarageGames Inc., Torque Network Library (TNL), Parallel and Distributed Simulation, 2002.
[Online]. Available at: http://www.opentnl.org [60] Dibbell, J., What's in a Shard?, in Terra Nova "Blogs". 2004
[46] Mauve, M., Fischer, S., and Widmer, J., A Generic Proxy April 2. [Online]. Available at:
System for Networked Computer Games, in Proceedings of http://terranova.blogs.com/terra_nova/2004/04/whats_in_a_s
the 1st Workshop on Network and System Support for har.html
Games, 2002. [61] Frank, G., et al., RTF: A Real-Time Framework for
[47] Lambright, R., Distributing Object State for Networked Developing Scalable Multiplayer Online Games, in
Games Using Object Views. September 2002, Gamasutra. Proceedings of the 6th ACM SIGCOMM workshop on
[Online]. Available at: Network and system support for games. 2007.
http://www.gamasutra.com/resource_guide/20020916/lambri
ght_01.htm
[48] Masa, M. and Zara, J. Interest Management for
Collaborative Environments Through Dividing Their Shared
State. In Cooperative Design, Visualization, and
Engineering, volume 3190 of Lecture Notes in Computer
Science, pages 156–163. Springer-Verlag, 2004.
628