In this paper we present an approach for a communication architecture based on the publisher/subscriber model. The key issues considered here are scalability, ease of programming and dynamic system evolution. The division of the communication load into distinctive channels allows decoupling the domains of the game enabling the overall system to scale flexibly with the underlying network infrastructure, map size or number of players simultaneously online. Thus our approach is suitable to realize especially huge game-worlds as used in massive multiplayer online games. The underlying publisher/subscriber communication layer provides a high level of abstraction with a lean API therefore dramatically simplifying network programming in the game engine. Due to the fact that the communication is content-based, there is no fixed correlation between the game players and the game backend servers. This permits the dynamic evolution of the system by removing or adding not only players but also game servers and game content on the fly.
[1]
Douglas C. Schmidt,et al.
The design and performance of a real-time CORBA event service
,
1997,
OOPSLA '97.
[2]
Jörg Kaiser,et al.
Implementing the real-time publisher/subscriber model on the controller area network (CAN)
,
1999,
Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).
[3]
Yahn W. Bernier,et al.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization
,
2003
.
[4]
Lui Sha,et al.
The real-time publisher/subscriber inter-process communication model for distributed real-time systems: design and implementation
,
1995,
Proceedings Real-Time Technology and Applications Symposium.
[5]
Paul Bettner,et al.
1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond
,
2004
.