next up previous
: 参考文献 : main : Object Placement


Summary and Conclusions

In this paper, we have described the design, implementation and evaluation of Colyseus, a distributed architecture for online multiplayer games. Our experiments demonstrate that by using a scalable routing substrate along with flexible object placement, Colyseus can scale to at least several 100 participants while adhering to latency constraints imposed by a First Person Shooter game. By modifying a commercial game (Quake II) to run on Colyseus to, we showed that game computation can be modeled as a distributed publish-subscribe system with only a moderate amount of extra effort. Colyseus also introduces a number of techniques to achieve high performance in such a design, including the use of soft-state triggers, predictive updates, and interest graph based automatic object migration.

Our initial results are promising, showing that both ``edge-server'' and peer-to-peer style deployment scenarios incur lower per-node bandwidth requirements than traditional client-server and broadcast architectures and that inconsistency between object stores is relatively low, being primarily limited by replica discovery latency which we found to be about 300-400ms with 150 nodes.

Nonetheless, we should note that there are a few important problems in a distributed setting that the current Colyseus design does not address and we plan to explore in future work. Our current implementation can not tolerate node departures, but we believe that the presence of a large number of object replicas in our current design can be leveraged to provide continuity after node failures. In some deployment scenarios, a distributed architecture also raises issues about cheating. To address these problems, we believe we can leverage Colyseus' flexibility in object placement. For example, by carefully selecting the owners of primary objects, we may be able to limit the damage malicious players or nodes can inflict on others. Finally, our evaluation of Colyseus used computer controlled bots to emulate player behavior; it is well known that in games involving real players, flash crowds are not infrequent and have casued problems in statically partitioned server deployments. We plan to conduct a real world deployment of Colyseus to study the behavior of real players and believe that we can leverage the distributed nature of its design to balance load in the face of flash crowds when possible and gracefully degrade performance when not. We will be addressing these challenges in future work.


next up previous
: 参考文献 : main : Object Placement
Ashwin Bharambe 平成17年3月2日