Table-based Real-time Monitoring of Distributed Virtual Worlds
Designing a virtual world for a multi-player or massively multiplayer game is a complex undertaking that involves the collaboration of people with different expertise, ranging from artists to level designers to programmers. Once a virtual world has been developed, it needs to be tested extensively to ensure a flawless game experience. Tests with multiple players generate a lot of data that is geographically linked to specific positions inside the virtual world. Examples of such data include render times or frame rates that players experience when travelling through the virtual world, statistical data on where the players spend most of their time, where players experience game anomalies, AI decision tree processing times, etc… This project consists in developing a table-based monitoring application that allows to visualize such diagnosis data on a top-down view of the virtual world, allowing a group of game developers to collaboratively analyze the test runs. The application will provide a multi-touch enabled user interface that allows to zoom in on areas of interest of the virtual world, pan, scroll, determine what test data should be displayed, etc.
The monitoring application is being developed in the context of Mammoth, a massively multiplayer game research framework developed at McGill University. Monitoring the state of a virtual world or massively multiplayer game is challenging for several reasons:
- the distributed information must be gathered in real-time without affecting the game itself
- the gathered information must be forwarded to the monitoring node despite the fact that it is impossible for one node to connect to all other nodes in the system
- the vast information must be filtered according to what the monitoring person wants to focus on, and
- the point of interest of the monitoring person can change frequently.
In this project we propose a monitoring architecture that addresses these challenges by dynamically partitioning the world into regions of equal size in terms of game objects and (expected) game state changes. For each region, a “collector” observes the game state changes, determines the relevant data and forwards it to the monitor. The monitor combines the data received by all the collectors to display the desired information. We have so far implemented one specific monitoring setup within Mammoth designed to gather player position information, and have gathered performance measures obtained by running several real-world experiments that demonstrate the effectiveness of our approach.
A publication is in preparation.
Images and Videos
The following is the god view of one of the Mammoth virtual worlds representing the McGill campus.
- Jörg Kienzle (Supervisor)
- Hammad Ullah Khan (Master Student)
- Subtain Pervaiz (Master Student)
- Etienne Pérot (Undergraduate Research Assistant – Summer 2011)
- Louis-Philippe Thibodeau-Bellemare (Undergraduate NSERC Summer Research Assistant – Summer 2011)