Total Pageviews

Saturday, May 21, 2011

Communication Architectures for Multiplayer Games


Since the making of first videogame called ‘Tennis for Two’ using an Oscilloscope in 1958 by William A. Higginbotham, who was working at Brookhaven National Laboratory, multiplayer gaming has witnessed drastic changes along with advancements in computer networks and the introduction of complex communication architectures. New architecture is an enhancement and uses many functions of its predecessor. The implementation of an improved architecture enables increased player base and lucid communication between them.


With the intrusion of internet, games have penetrated into World Wide Web. Their evolution in internet includes application of different architectures to ensure effective communication between game nodes. Earlier multiplayer games, however, did not have networking capabilities. The multiplayer functionality was achieved by having both players interact with the same computer. Till date, many console games that allow multiple players use ‘split screen’, where players could manipulate their game characters by partitioning a part of the video screen for each player. This is called Single Screen, Multiplayer Architecture.

In this type of architecture, every client process is considered as a peer. This means that there is no process that has more control over the game than others. There are no mediator nodes to control the state of the game or to route game messages. This architecture can be easily implemented on a Local Area Network (LAN) because of the broadcast support of many LANs (wired or wireless) and usually small number of players that participate in a single game. Clients can communicate with other clients in the network. In addition, a framework like ‘Hydra’ can be used as it allows the game host to be seamlessly passed from one peer to the other. This allows the game to continue even after the host quits the game or loses connectivity with a game’s process. It also eliminates the need of a central game server. However, an additional hierarchical structure is required to implement this in Internet for better scalability.


Client-Server architecture in online games:
The implementation of this type of architecture is dominant in commercial online games as well as in the classic Multi-User Dungeon (MUD) games like ‘The Shadow of Yserbius’. Client-Server architecture is also called Two-tier architecture, where all the connected systems are categorized either as a client or as a server. Usually, a single server manages multiple client requests. With this architecture, a server can limit the performance during the gameplay, either because it can’t keep up with the communication rate to all the clients or it can’t process the state of the game fast enough.
Note: MMOROG servers are maintained by the company selling the game; for other games, one of the players will act as the host setting his game in server mode. They use dedicated servers.


Network of servers architecture for online multiplayer games:
Here, a single server can function as a pool of several interconnected servers. The communication among these servers can be set up in a peer-to-peer fashion or client-server fashion where servers communicate with master servers, obtaining a hierarchical game architecture. By splitting the load from the clients across multiple servers, the network of servers can reduce the capacity requirements imposed on a single server. This can drastically increase the scalability of the game architecture.


                                                                                                         Thanks for reading
                                                                                                         Written by Anirudh




1 comment: