

The development of resource-intensive, distributed, real-time applications like Massively Multiplayer Online Game (MMOG) backends entails a variety of challenges, some of which have been extensively studied. Finally we attempt to identify research directions which appear promising for enabling the use of standardized technology for this class of systems. Then, we categorize the selected studies based on the inferred criteria in order to compare their approach, unveil the challenges faced in each of them and reveal research trends that might be present. By examining the main focus of a diverse set of related publications, we identify a list of criteria that are important for MMOG development.
#BZFLAG PLAYERBASE MAP SOFTWARE#
This paper presents a systematic mapping study of the state-of-the-art in software technology aiming explicitly to support the development of MMOGs, a class of large-scale, resource-intensive software systems. However, a number of resource-intensive applications, such as Massively Multiplayer Online Games (MMOGs) and large-scale simulations introduce a requirement for a very large common state with many actors accessing it simultaneously and thus a high likelihood of conflicting resource access. Nevertheless, existing models and tools aim primarily for systems where resource usage-by humans and bots alike-is logically and physically quite disperse resulting in a low likelihood of conflicting resource access.

Especially commercial cloud computing services, pioneered by the likes of Amazon, Google and Microsoft, have provided an unprecedented opportunity for the fast and sustainable development of complex distributed systems. The advent of utility computing has revolutionized almost every sector of traditional software development. Coupled with accelerated development and lower maintenance costs, Platform-as-a-Service technology paves the way for further development of MMOG specific Backend-as-a-Service platforms. However, our results indicate that MMOGs based on the Platform-as-a-Service layer can also perform relatively well and within the bounds of real-time latency. Our measurements show that approaches based on the Infrastructure-as-a-Service layer perform better than those based on the Platform-as-a-Service layer-which was expected. Then, we evaluate their performance by measuring the latency of the game over each platform as well as the maximum size of game worlds supported by each approach. In our approach, we implement a simple MMOG over three popular public cloud platforms. In this paper, we evaluate the suitability of common public cloud platforms in developing and deploying the backend side of MMOGs. In a previous work we focused on the characteristics of MMOGs, outlining certain factors that prohibit their deployment on commodity clouds. The use of proprietary clouds is almost always applied at the Infrastructure-as-a-Service layer, thereby enforcing restrictions on the development of MMOGs.

Despite this shift, researchers and developers have mostly utilized proprietary clouds to provide services for such applications-thus leaving the area of commodity clouds largely unexplored. The development of resource-intensive complex distributed systems such as the backend side of Massively Multiplayer Online Games (MMOGs) has shifted towards cloud-based approaches in recent years. We deploy a game using the hybrid architecture on PlanetLab and use a measurement study to demonstrate its advantages over a client-server architecture. By lowering the bandwidth needed to host a game, while also providing a simple way to prevent cheating, our hybrid architecture allows game companies to support more concurrent players while still providing a controlled game experience. In addition, the architecture uses measurements and monitoring to ensure that players are capable of handling event distribution and are indeed providing this service. The architecture uses a combination of client-server and peer-to-peer event distribution, so that only critical events are processed by the server. We have developed a hybrid game architecture that maintains centralized control of state, while significantly reducing server bandwidth. Peer-to-peer game architectures provide better scaling, but open the game to additional cheating, since players are responsible for distributing events and storing state. Many massively multiplayer online games use client-server architectures that have enormous server-side bandwidth requirements.
