|
CMU-CS-05-112
Computer Science Department
School of Computer Science, Carnegie Mellon University
CMU-CS-05-112
A Distributed Architecture for Interactive Multiplayer Games
Ashwin R. Bharambe, Jeffrey Pang, Srinvasan Seshan
January 2005
CMU-CS-05-112.ps
CMU-CS-05-112.pdf
Keywords: Distributed applications, multi-player games,
range queries, peer-to-peer systems, quake
This paper presents the design, implementation, and evaluation
of Colyseus, a distributed architecture for interactive
multiplayer games. Colyseus distributes dynamic game-play state
and computation while adhering to tight latency constraints and
maintaining scalable communication costs. Two key architectural
decisions form the basis of our design: firrst, a single copy
consistency model for game objects allows low-latency read/writes
at the cost of weaker consistency, which is tolerated by most
multiplayer games. Second, we utilize locality and predictability
in the game workload to speculatively and quickly pre-fetch objects
needed for performing game logic computation. We have implemented
Colyseus and demonstrated its practicality by modifying a popular
first person shooter (FPS) game called Quake II to use Colyseus for
distributing game state across multiple servers or peers. While
current single server implementations can support many tens of
players, our playable-prototype shows that Colyseus is easily able
to support low-latency game-play for hundreds of participants. In
addition, our results show that per-node bandwidth requirements for
Colyseus are an order of magnitude lower than traditional
client-server or broadcast architectures in two different deployment
scenarios.
25 pages
|