Middleware Services for Pervasive Multiplatform Networked Games

7 downloads 29332 Views 272KB Size Report
Informatics Center, Federal University of Pernambuco ... In this document, we call these applica- tions Pervasive Multiplayer Multiplatform Games (PM2G).
Middleware Services for Pervasive Multiplatform Networked Games Fernando Trinta, Carlos Ferraz, Geber Ramalho Informatics Center, Federal University of Pernambuco P.O. Box 7851 - 50.732-970 Recife PE, Brazil {famt,

cagf, glr}@cin.ufpe.br

ABSTRACT This work in progress paper presents a particular view for future Networked Multiplayer Games. In our point of view, these applications will include features from pervasive computing, allowing players to enjoy them using different devices, such as PDAs and Mobile Phones, almost anywhere, anytime. These games demand player playability to be adapted according their context information, such as players location and device. In this document, we call these applications Pervasive Multiplayer Multiplatform Games (PM2G). We present scenarios that show intended characteristics for these games. From these scenarios, we developed two models, an Application Model and an Usage Model. The former introduces specific PM2G concepts. The latter guide the players’ interaction. Finally, we introduce six services that aims to allow PM2G’s development and deployment.

Keywords Mobile Games, Pervasive Computing

1.

INTRODUCTION

Traditionally, Distributed Multiplayer Games have been designed for personal computers connected over wired networks. With the advent of Internet and broadband services (e.g. via ADSL), these applications have evolved from short sessions with a few users to Persistent Large Scale Virtual Environments with thousand of concurrent players, commonly known as Massively Multiplayer Games (MMG). Recently, new scenarios have also been proposed for multiplayer games. Advances in mobile computing and wireless communication have pushed multiplayer games into mobile handheld devices. These games allow their players to enjoy them in different places, even while they are moving. Based on multiplayer mobile games, a more recent concept is called pervasive games. These games include features from Pervasive (or Ubiquitous) Computing. A Pervasive Games

may be defined as “a game that is always present, available to its users. Players enjoy it using different devices over different networks. Contextual information, such as player’s location, can be used to enhance player experience”[6]. Pervasive gaming is a relatively new research area. Many different kinds of games are claimed to be pervasive games[8][10]. These games vary from Location Based Games to those that offer tangible interfaces for user interaction. New scenarios are being proposed and there is still a wide number of possibilities for pervasive gaming. In our opinion and based on others researchers ideas[11][6], all these previous scenarios point out to one trend regarding future multiplayer games. These games will join features from massively, mobile and pervasive scenarios, offering a highly interactive and innovative environment to its users. The access to these applications will be unrestricted, enabling situations where players using different devices can be side by side inside the virtual world, competing or cooperating, according their objectives. These games will also take advantage from specific technical mobile computing facilities, such as the spontaneous (ad-hoc) networks. In this document, a game with such features is called Pervasive Multiplatform Multiplayer Game (PM2G). PM2Gs rises many questions concerned to their effective deployment as they join problems from different areas. Firstly, beeing a multiplayer game, the prevention of cheating during game play should be considered. Scalability also demands support to a huge number of players. By including pervasive features, PM2Gs must also support heterogeneous devices. Consequently, the way each player perceives and interacts with the game must be adapted according his device and context. Finally, mobile devices constraints such as battery power consumption, limited processing and communication capability also increase the challenges for PM2Gs. This work in progress paper approaches part of these problems, specially those related with the playability adaptation due to device heterogeneity. Although all subjects mentioned previously (scalability, cheating prevention, fairness, battery power consuption) have their relevance for a PM2G application, they have already been studied by several research groups[2] [5] [1]. Results from these research groups may be used or adapted to our solution. The first contribution of our work is that we present a set of possible scenarios for PM2Gs. In our scenarios, players are

almost always connected to the virtual world, and also may play among each other using spontaneous (ad-hoc) networks. These scenarios exemplify and delimit all desired functionalities for PM2Gs. From these scenarios, we created models that unify concepts in our proposal. The second contribution is architectural. We propose six middleware services that enable PM2Gs’ development and deployment. The rest of this document is organized as follows: Section II reviews works related to our proposal. Section III shows our scenarios that represent a Pervasive Multiplatform Multiplayer Game. Section IV presents two models concerned to the concepts of a PM2G game and how interaction among players must be conducted. Section V presents the services of our middleware solution. We conclude and discuss future work in Section VI.

2.

nous playability. Some of these features are also included in our proposal. The survey of these related works allowed us to verify that there is not a clear vision of how multiplayer games and pervasive computing must be integrated. In such a way, it was necessary the establishment of a clear and concrete point of view, through scenarios that defined the interactions intended in such integration. This particular vision is explained in the next section.

3.

SCENARIOS FOR PM2G

Figure 1 shows our particular view of a Pervasive Multiplatform Multiplayer Game. Such game uses a typical Client / Server architecture. The server side is responsible to keep all persistent data, including the game state.

RELATED WORK

To the best of our knowledge, few studies and projects have been published concerning the marriage among multiplayer games, pervasive computing and heterogeneous devices. Most of them make an overview of advantages achieved by incorporating Mobile Devices into MMGs, but they do not show concrete and effective solutions to realize this scenario. Fox [3] highlights examples for adapting the user playability when using mobile devices, specially mobile phones. Changes in this playbility would affect not only how a player perceives the game, but also how each player interacts with the virtual world. Fox presents some interesting ideas to enhance players experience using specific mobile computing services, but no effective solution is proposed. Han et al [4] in short paper presents a situation-aware middleware for multiplatform games. This middleware supports five different platforms: arcade machines, consoles, personal computers, PDAs and mobile phones. Using their middleware, players may migrate their game session from one platform to another, according their context. Their architecture uses sensors that detect situations (such as the presence of a more powerful device nearby a player), and associate a specific behavior with each situation (for example, transference of the state between devices). However, the lack of more detailed information about their experiments do not allow us to make a deeper analysis of their work. Finally, IPerg Project (http://iperg.sics.se/) aims to study innovative and attractive forms for pervasive games. One of its subprojects is called Massive Multiplayer Reaching Out (MMRO), which has the main objective to incorporate technical facilities of Mobile Computing into traditional Massively Multiplayer Games. MMRO considers two distinct, but interconnected environments: the virtual world and the real world. In MMRO approach, players actions realized in one environment has an influence at the other. This feature creates a style called trans-reality game. IPerg presents proposals to create associations between the real world and the virtual world, through geometric transformations [7]. For instance, an user displacement in the real world would also change the location of his avatar in the virtual world. In the same subproject, Koivisto [6] presents a survey that collects player’s feedback about proposed features for MMGs with Mobile support, such as Messages Notification or Asynchro-

Figure 1: Scenarios for Pervasive Multiplatform Multiplayer Game. We will present our ideas on behalf of one typical player, named as Player A, in four different scenarios in a PM2G. In the first scenario, Player A uses a personal computer over a wired connection to the game servers to join the game. This scenario reflects the traditional access mode used in Distributed Multiplayer Games. Sometimes in his daily routine, Player A doesn’t have the same infra-structure (a PC and a wired connection) to enjoy these game. In these moments (Scenario 2), Player A may use his mobile phone to access the virtual world, retrieving data about its game state. In this mode, Player A would have limited playability due to restrictions in the human-machine interface and constraints of wireless communication technology provided by his mobile phone. So, Player A could be limited to actions such as retrieving the list of online players, posting messages or trading objects with others users. In order to offer better interactivity, we follow an idea proposed by Fox [3]. Player A could realize actions that did not demand an effective control of its characters. Instead, he would issue actions commands through high levels orders, such as “Stay in defensive mode”, or “Attack enemy

X using Weapon Y”. These commands would be expanded and realized in the virtual world. Scenario 2 also allow players to receive messages about events occurred in the virtual world. Important events would be delivered to Player A, who in turn, could take countermeasures. A simple example would be the usage of SMS (Short Message Service). Player A would be notified as soon as possible if his characters had finished an quest or if it had been attacked by any opponent. The third scenario represents a direct interaction between players who possess devices that allow the creation of spontaneous networks. This mode takes advantage of technologies like bluetooth or Wi-Fi, providing more interactive games for mobile players. However, in this approach, these games would not be independent from the virtual world simulated among all players. In a PM2G, these games are referenced as mini-worlds. Each mini-world would represent parallel games integrated with the virtual world, where results of each mini-world must be incorporated into shared virtual world. For instance, if player A has a bluetooth enabled phone, he could engage into a mini-world against an opponent who also owns a similar bluetooth enabled device. If player A wins the game, he could take points or objects from the defeated opponent. Later, these points and resources could also be used by player A when using different devices, like his PC. Location Based Services (LBS) could be used to help players find opponents by searching in their neighborhood. Finally, fourth scenario represents special places that offer wireless network facilities for communication among players using mobile devices. These places could also simulate specific virtual world areas, stimulating players displacement and creating meeting points. These points could be mapped into public buildings like shopping-centers. They could also indicate that certain objects could be gotten through the player displacement to places where objects have been inserted virtually. Again, Location Based Services would facilitate player access to these places.

4.

PM2G MODELS

From the scenarios described in the previous section, we specified two models that allowed us to establish concepts and ideas for the players interactions in PM2G games. We defined two models: an Application Model and an Usage Model. The former includes elements that compose a PM2G application and allow us to create a terminology for PM2G elements. The latter stands out how users must interact with the game.

4.1

PM2G Application Model

This model, based on traditional online games, is represented in Figure 2. The Virtual World represents a system of rules from a virtual game space where most of game elements are enclosed. This world simulates an typical virtual environment, where each virtual object has a position, as well attributes such as size, speed, and other properties. Optionally, each object can be associated with a player. For instance, one player may be considered the owner of a set of objects.

Figure 2: PM2G Application Model.

Each player represents a game user. Each player has an associated state which includes an Avatar (the player representation inside the virtual world), possessions and abilities. Non-Player Characters (NPCs) represent those avatars controlled by automated algorithms, which also may have same properties as players’ characters. A Virtual Object is the basic element that represents any dynamic data, such as food, weapons or tools. In our model, this objects may also be virtually inserted into real world. This action would represent elements that could be captured by player displacement to places where these objects are virtually located, as already mentioned in Section III. Player’s Area of Interest enclose a subset of elements which this player may interact at an specific moment. This area changes according player’s avatar position across the virtual world. All these previous concepts are present in any online game. PM2G Application Model introduces four specific concepts, namely Context, Perception, Interaction and Mini-World. Perception represents how an area of interest should be described to each player. Context includes relevant information about player’s connection to the virtual world, such as player’s device and preferences. Context has a central role in our model, because it will guide user’s playability. For instance, in Figure 3, Player 1 and Player 2’s avatars are near from each other in the virtual world. They have elements in common inside their individual areas of interest, but they have different perceptions because they use different devices to enjoy the game. While Player 1 has a 2D representation of its area of interest presented in his PC, Player 2 might receive a textual description since he is using a mobile phone with tiny screen resolution, which may not be suitable for any graphical information. The Interaction concept creates a mechanism that aims to facilitate the accomplishment of certain tasks for players using mobile devices, bypassing their inherent limitations. Taking Figure 3 as an example, Player 2 can attack Player 1 by choosing his avatar among those existent in his opponent textual list. He also may choose a specific weapon from a menu which shows a list of available weapons from his inventory objects. Player 1 will see movements and mutual attacks from both avatars, while the Player 2 may be notified later through a textual report describing the results

of his actions. This approach give us interesting features to our model. First, the player context will be transparent for his opponents or allies. Interaction among players using different devices will be kept in a high level, bypassing mobile players’ restrictions. Second, the behavior pattern of PC and mobile players will be preserved. In other words, mobile players can accomplish their tasks by having short connection periods with the virtual world, while players using PC machines could keep long game sessions.

4.2

PM2G Usage Model

Each player enjoy a PM2G through interaction sessions with the virtual world. Each session has a time period in which a player interacts with the game using a specific device. When a session is finished, a player may migrate to another device, opening a new session and possibly continuing the actions starting from the point where the last session was concluded.

system behaviour is called context [9]. A pervasive application monitor their entities context aiming to adapt itself to changes in relationship among these entities. PM2G Context Management Service has for purpose to monitor each player’s context, so that adaptations can be accomplished by other services. In our model, a player context includes three user attributes: (i) device used to enjoy the game, (ii) personal preferences and (iii) player’s location (when available). Player’s device is the most important context element, because it indicates how information from virtual world will be delivered to each player. Personal preferences creates an idea of state or behavior associated with each player. According this state, players may receive messages derived from game events or challenges from others players. Table 1 presents possible states associated with a player.

Before finishing a session, a player can emit orders that should be accomplished by his avatar, while the player is changing his device, already foreseeing that the game will be continued using another device. Every session starts through a authentication process using player’s id/password. Figure 3 illustrates our idea.

State 1 2 3 4

Table 1: Player states Events Notification Mini-Worlds Available Available Available Unavailable Unavailable Available Unavailable Unavailable

Finally, physical location allows users to be aware of potentials opponents (following the mini-world concept from PM2G application model), as well as objects virtually inserted into real world. Physical location data can be explicitly updated or through periodic tracking, according policies derived from user’s preferences.

5.2

Figure 3: PM2G Usage Model.

5.

PM2G SERVICES

The scenarios and models described in the previous sections impose functional and non-functional requirements that must be treated for a feasible support model. Traditionally, multiplayer games uses specific middleware layers and services to handle common development questions, such as communication. Different kinds of multiplayer games may introduce specialized service according their needs. For instance, Middleware for MMGs typically offer a persistence service to save the simulation state. Our proposal follows this same approach. We designed six services concerned to specific concepts from our scenarios and models. Each one of these services is detailed in the following subsections.

5.1

Context Management Service

Context is a key concept for any pervasive application. In these applications, all relevant data that characterizes an entity (software, hardware or user) situation and may change

Content Adaptation Service

Device heterogeneity imposes that each player’s game state must be adapted according his device. For pervasive systems this requirement is called content adaptation. In the PM2G application model, relevant information is composed by two parts. The former refers to player’s area of interest simulated inside the virtual world. The latter is concerned with information from real world, such as proximity of virtual objects or mini-worlds. This last information is dependent of each player’s state, that indicates their interest in receiving or not such information. The Content Adaptation Service has the main objective to transform relevant information into an appropriate format according the current context of each player, following the concept of perception from PM2G application model. This service avoids that mobile devices be responsible for content adaptation procedures, regardless of device heterogeneity.

5.3

Interaction Adaptation Service

The application model PM2G intends to allow players using different devices to accomplishing similar actions in the virtual world. However, the multiplatform aspect indicates that players will realize these actions through different manners. The Interaction Adaptation Service intends to transform the different players’ inputs in common actions inside the game virtual world. Mobile player’s actions should be facilitated, not imposing a constant connection with the game, nor immediate answers

to their commands. For mobile players, an asynchronous interaction behavior is expected, where the user triggers an action that is is accomplished in background while the player realize other tasks, such as using his mobile phone for calls.

persistent game profile (weapons, objects, resources) into mini-worlds instances. It also must provide support to integrate results from finished mini-worlds into the global virtual world.

For a mobile player’s correct participation, it is necessary to identify available commands in the game. This information is strongly dependent of the player’s area of interest. For instance, an opponent’s presence inside his area of interest would make possible to use a command such like “Attack”. Certain objects would make possible the use a command like “Collect”, where a parameter would be used to identify which object should be collected.

The establishment of a mini-world happens in two ways. First, a mobile player may a create mini-world instance his device as a server, and wait opponents to connect in this mini-world. Second, players can connected to an already established mini-world, that offer appropriate infrastructure to their participation.

5.4

Events Notification Service

The Events Notification Service has the main objective of informing mobile players about events of their interest. The main idea is to allow every player to be always present, being notified through different communication media, like SMS or e-mail messages. In order to realize this task, this service creates an abstraction so that players using mobile devices can be alerted about different events. These occurrences may be related to the world virtual, as well as challenges for mini-world games. In the virtual world, events represent occurrences to the player’s character, to his clan, or any other game element whose state is relevant to this player. Mobile players’ asynchronous behavior indicates that during the execution of their actions, his character will be subject to events from its area of interest, such as opponent’s attack. The events notification service appears as a natural channel to inform about tasks accomplishment or suffered interferences from game elements. This service may also useful to alert players about virtual objects nearby a player’s Physical Location, according their context. In a similar way, this service may alert each player about opened mini-worlds close to player’s location. The Events Notification Service Life Cycle has two different moments. Firstly, each player should specify which peculiar events are of their interest. So, it became necessary a configuration system that allow to the user to configure this list of interest. After the configuration phase, the execution of the service is proceeded. Events should be dispatched to players as soon as they have happened, so that players can take countermeasures to these events in an effective way. This service monitor the virtual world evolution constantly. When an event related to one player happened, this service sends an message to this user.

5.5

Location Service

Each mini-world is an application that needs to be installed in the user’s device. Therefore, it is necessary a control version mechanism about these different applications. The Service of Integration of Mini-worlds uses an application directory which contains different versions of a same application for each device supported by the game.

6.

CONCLUSION AND FUTURE WORK

The marriage among mobility, pervasive computing and multiplayer games appears as one strong trend for future multiplayer games[11]. Although some research papers already report advantages in this integration [3][4][7][6], there is a lack of an appropriate support model for applications which may attempt to achieve this integration. Our PM2G proposal presents concrete and clear scenarios for future multiplatform networked games. We presented two models, an Application Model and an Usage model, as well as six specialized services aiming to provide a feasible support for PM2G applications through a middleware layer. In order to validate our proposal, we are developing our middleware services, as well a prototype game. We plan to refine these services further, using results gained from our tests. We expect that our solution middleware should help not only game developers, but also applications like healthcare or educational systems.

7.

REFERENCES

[1] B. D. Chen and M. Maheswaran. A cheat controlled protocol for centralized online multiplayer games. In Proceedings of ACM SIGCOMM 2004 workshops on NetGames ’04, pages 139–143. ACM Press, 2004. [2] C. F. R. G. Fabio Reis Cecin, Jorge Luis Victria Barbosa. Freemmg: An hybrid peer-to-peer, client-server and distributed massively multiplayer game simulation mode. In Proceedings of the 2th Brazilian Workshop on Games and Digital Entertainment, November 2003.

This service has as objective to track the players position. Location Service may use different positioning approaches to accompany this information. These approaches vary may use network positioning techniques or integrated handset solutions, like GPS (Global Positioning System).

[3] D. Fox. Massively Multiplayer Game Development, volume 1, chapter Small Portals: Tapping into MMP Worlds via Wireless Devices, pages 244 – 254. Charles River Media, Inc., Rockland, MA, USA, 2003.

5.6

[4] J. Han, H. P. In, and J.-S. Woo. Towards situation-aware cross-platform ubi-game development. In APSEC, pages 734–735, 2004.

Mini-worlds Integration Service

Finally, Mini-worlds Integration Service enables the miniworld concept from PM2G application model. This service should provide operations that allow mobile players to create new mini-world instances, and also use data from their

[5] B. Knutsson, H. Lu, W. Xu, and B. Hopkins. Peer-to-peer support for massively multiplayer games.

In Proceedings of the 23rd Conference of the IEEE Communications Society. IEEE Computer Society, July 2004. [6] E. Koivisto and C. Wenninger. Enhancing player experience in mmorpgs with mobile features. In International Digital Games Research Association Conference, June 2005. [7] C. A. Lindley. Game space design foundations for trans-reality games: Keynote paper. In Advances in Computer Entertainment (ACE): Special Track on Game Development, Barcelona, Spain, June 2005. [8] C. Magerkurth, A. D. Cheok, R. L. Mandryk, and T. Nilsen. Pervasive games: Bringing computer entertainment back to the real world. Comput. Entertain., 3(3):4–4, 2005. [9] M. Satyanarayanan. Pervasive computing: Vision and challenges. IEEE Personal Communications, pages 10–17, aug 2001. [10] B. K. Walther. Atomic actions – molecular experience: Theory of pervasive gaming. Comput. Entertain., 3(3):4–4, 2005. [11] G. Walton. Nine things to look for in the next generation of MMOG. 2004. Available at http://www.gdconf.com/archives/2004/walton gordon.ppt.