Computer Science Department
School of Computer Science, Carnegie Mellon University


A Distributed Architecture for Interactive Multiplayer Games

Ashwin R. Bharambe, Jeffrey Pang, Srinvasan Seshan

January 2005

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

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by