Enabling massively multi-player online gaming applications on a P2P architecture

Recent advances in Peer-to-Peer (P2P) technologies have enabled the use of P2P architectures for developing complex applications such as, Massively Multi-Player Online Games (MMOG). In this paper we address a challenging research problem related to P2P MMOGs; efficient entity maintenance and interaction. We have identified two opposing software engineering approaches to address this problem. The first approach assumes that the entire virtual world and the game logic are implemented using database techniques, e.g., with a distributed index over all the peers and the game semantics built into data query/update functions. The second approach is to separate the entities into completely independent processes, using agentoriented programming techniques. In our work, we propose a combination of these two approaches; the use of a distributed spatial index to facilitate the discovery and querying of relevant entities and an agent-based approach to facilitate real time interactions between the entities. We show the relevant factors for dynamic optimization and the use of a new software architecture with existing game libraries to implement the system.