Related Work

A report from DFC Intelligence forecasts that the worldwide market for online games will reach $9.8 billion in 2009. In 2009, the largest market for online games is expected to be the Asia-Pacific region with $4.2 billion in revenue.

At present, all of these games are built with a centralized architecture where players send control messages to a central server and the server sends relevant state updates to all active players. This approach suffers from the well known robustness and scalability problems of single server designs. This architecture also imposes barriers to entry for new game companies because only the big companies like Blizzard are currently able to afford the costs and bandwidth required for hosting such games.

Our plan is to develop a peer-to-peer architecture for massively-multiplayer online games (MMOG). Such an architecture has numerous design challenges which poses numerous interesting research questions. Our goal in developing this architecture is to bring down one of the barriers to entry for such games and allow small companies to compete with the established companies. We anticipate that our architecture will allow the game company to host a MMOG with significantly less hardware support than what is required today.

Our vision

In this project, our goal is to develop a peer-to-peer multiplayer online game architecture that can support the following vision:

Three players get together to play a networked game. Five more players subsequently join the game and all eight are playing within the same virtual game world. Then, the first three players decide to leave the game and switch off their computers. The game continues with the remaining five players. Basically, the virtual game world exists as long as one of the players is online and it ceases to exist once there are no more players.

While this vision is easy to articulate and understand, there numerous interesting problems that must be solved before such a system can be built. Also, scaling is a hard problem. While it may be relatively easy to engineer such a system that supports 20 players, to do the same for 1,000 players is a significantly harder problem.

This Project

This project will be conducted in two stages. In the first stage, we will build a simple game that can support a small number of players (up to 20) in order to explore distributed synchronization, programming models and repair. In the second stage, we will proceed to augment our basic programming model to support the automatic division of server function and load balancing, to support large player instances of up to 1,000 players.

The anticipated deliverable of this project would be a programming model for MMOG's and a corresponding game engine/software that supports the model.

$Date: 2008/01/01 06:35:12 $