Abstract-Multiplayer games become increasingly popular, mostly because they involve interaction among humans. Typically, multiplayer games are organized based on a Client-Server (CS) or a Peer-to-Peer (PP) architecture. In CS, players exchange periodic updates through a central server that is also responsible for resolving any state inconsistencies. In PP, each player communicates with every other player while state inconsistencies are resolved through a distributed agreement protocol. In this paper, we first examine these architectures from two perspectives: bandwidth requirement at the server and players, and latency to resolve any player state inconsistencies. Our results are based on both analysis and experimentation with an open-source game called "BZFlag". The CS architecture is not scalable with the number of players due to a large bandwidth requirement at the server. The PP architecture, on the other hand, introduces significant overhead for the players, as each player needs to check the consistency between its local state and the state of all other players. We then propose an architecture that combines the merits of CS and PP. In that architecture, called Peer-to-Peer with Central Arbiter (PP-CA), players exchange updates in a peer-topeer manner but without performing consistency checks. The consistency of the game is checked by a central arbiter that receives all updates, but contacts players only when an inconsistency is detected. As a result, the central arbiter has a lower bandwidth requirement than the server of a CS architecture.
A mathematical comparison of the average load on the central game server is given in REF as a function of the number of users participating in the game.
Bandwidth requirement and state consistency in three multiplayer game architectures
NetGames '03
Computer Science