Scalable Massively Multiplayer Online Games (MMOs)
Networked virtual environments (net-VE) are software systems in which users interact with each other in real-time within some shared virtual environment. Massively Multiplayer Online Games (MMOs), and more specifically, virtual worlds such as Second Life are a popular example; these games allow large number of users to play together in fictional digital worlds. Other application areas include teaching, distributed design, and military simulations for training and tactical purposes.
Virtual worlds are typically designed to create a very high degree of immersion. Many feature 3D graphics and stereo sound, and have extremely interactive environments. But the primary selling point of many virtual worlds is the large number of players that they can support. In many modern MMOs, it is already popular for groups of up to 80 players to work cooperatively in a "raid". While high-bandwidth, low-latency internet is now becoming ubiquitous, this is not enough to solve the scalability issues that net-VEs are beginning to encounter.
These scalability problems arise in part because of the need to maintain consistency between all the players. To maintain consistency, all net-VEs have a transaction management layer that employs a commercial database. However, the transaction layer also introduces severe scalability problems. First, as users move about the virtual environment, they send transactions to the net-VE at an extremely high rate. Even the fastest MMOs cannot handle more than about 10 frames per second through their database transaction layer. Second, the transaction layer architecture of most current net- VEs requires that significant parts of their application logic be executed on the server side. As a result, the scalability of an application is strongly related to the computational footprint of a single user.
In our research, we are working on a distributed model for networked virtual environments that achieves massive scalability. Our model inherits concepts from distributed databases, where the application logic and transaction processing take place at the client machine, thereby relieving the server from much computation. The key feature of our model is its novel transaction model, which exploits application semantics to reduce the number of messages needed to maintain consistency among the clients. Our proposed model imposes no major restrictions on the interaction between participants located in different parts of the world. As a result, we show how computationally expensive net-VEs can easily be accommodated in our model and can be scaled to a massive number of participants.
- Nitin Gupta, Alan Demers, Johannes Gehrke, Philipp Unterbrunner, and Walker White, Scalability for Virtual Worlds. In Proc. of the 2009 ICDE Conf. on Data Engineering (ICDE 2009).
- Nitin Gupta, Alan Demers, and Johannes Gehrke, SEMMO: A Scalable Engine for Massively Multiplayer Online Games (Demonstration Paper). In Proc. of the 2008 ACM SIGMOD Int. Conf. on Management of Data (SIGMOD 2008).
- Walker White, Christoph Koch, Nitin Gupta, Johannes Gehrke, and Alan Demers. Database Research Opportunities in Computer Games. In SIGMOD Record, September 2007.
This research has been supported by the National Science Foundation under Grant IIS-0725260, by the Air Force Office of Scientific Research, and by a grant from Microsoft. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the sponsors.