User Generated Content Sharing Across Different ...

4 downloads 620 Views 2MB Size Report
games development, with developers providing modding tools as a way to attract ..... (Java development Tools), which provides the user with a rich. Java editing ..... 2007,http://eventhorizongames.com/wiki/doku.php?id=articles:java_s.
User Generated Content Sharing Across Different Virtual Environments A. Shaheed, P. Fergus, A. El Rhalibi, O. E. Abuelma’atti, M. Merabti Networked Appliances Laboratory School of Computing and Mathematical Sciences Liverpool John Moores University, Byrom Street, Liverpool L3 3AF, UK. Email: [email protected], [email protected], [email protected], [email protected], [email protected] environment in order to communicate, do business, and develop digital objects, which not only involve personal computer but also games consoles and mobile devices. Although real devices are used and the user is the only physical entity, these players communicate over large distance from different geographical locations from all over the world. Users can generate and share content, and buy and sell it in virtual environment. The challenge is to a achieve this within and across different heterogeneous virtual environments.

Abstract: Content sharing over networked devices, beyond simple file sharing is becoming a reality. Furthermore, many devices are forming closer relationships with different virtual worlds, such as World of Warcarft and Second Life. In one sense the gap between the two is becoming increasingly more blurred. Consequently, this opens up many new avenues for content sharing, not only between devices but also between sophisticated virtual worlds. Given such interoperable platforms a natural progression sees content that seamlessly resides within either. This will open up new opportunities where third-party content providers and users alike will now be able to create and share content over these new platforms. This provides obvious benefits. First, it freedom this affords allows us to very easily move between real and virtual environments where the content and services we use are always at our disposal. Second, utilising the benefits being connected brings will allow us to manage our content and services independently of where they reside, whether this is on the device itself or remotely via its associated avatar. Lastly, and perhaps less obvious is it will significantly influence the applications underpinned by digital content where solutions not yet envisioned will emerge, such as dynamic game development, immersive and interactive 3D multimedia, and on-the-fly scene analysis and manipulation. We aim to provide a basis on which this vision can be realised where mechanisms have been developed that facilitates the sharing of virtual world objects across different virtual environment. The work has been tested using a working prototype that allows digital content, such as guns, to be shared and physical devices, such as mobile phones, to connected and content to be shard.

Many ways of distributing content may be possible. For example, between two physical devices; physical devices and virtual environments; or between different virtual environments and gaming platforms. Consider a scenario where a mobile user could share an audio file with a Second Life player. One approach would be to allow the user to simply ring the player’s virtual mobile phone and send the track. Another example may be where a game user shares his or her assets and resources during a game with other potentially different games. This could be done for free or for a small fee. Here we could see a player in a massive multiplayer online game requesting and using resources, such as a weapon, or life time from some other player, in order to remain in the game longer. Here the user benefits from finding and using resources for free or at a very low price. Conversely, gaming studios benefit because more and more players will play or join the game because of the increased opportunity to extend game play and even earn money brings.

Keywords: Networked Virtual Environment, Content Sharing

I.

INTRODUCTION

In this paper we propose a distributed framework based on a service utilisation framework previously developed in the Networked Appliances lab at Liverpool John Moores University which facilitates the sharing of content in virtual environments [3]. Using this framework networked appliances are automatically created and connected with associated avatars within a virtual environment. Our approach has many benefits, which include the user’s ability to share, distribute and sell their content in virtual environments and the ability to remove the physical constraints associated with real world objects.

Many devices have developed rapidly to become multifunctional wonders. They provide more functionality than they were originally designed to perform. The best example is that of the mobile phone. They not only provide communication functions such as making a phone call and sending text messages, but also work as a camera, MP3 player and support web access. More and more devices are providing computing capabilities, including increased networking functions enabling them to interact with each other more easily. The multifunctional capabilities of devices have given birth to exciting new application areas for networked appliances. Using the network, devices can be controlled from anywhere in the world. In online games such as World of Warcraft [1] and Second Life [2] players share a virtual

ISBN: 978-1-902560-18-2 © 2007 GDTW

The remained of this paper is structured as follows. In section II we introduce the background and the related work. Section III provides an overview of our proposed framework

44

before describing a case study and a technical description of our approach in Section IV In Section V we provide our conclusions and future work.

multiplayer online games, the industry has a healthy flow of mod software. In support of this several game companies adopt the principle of modding as a key strategy, where only a base solution is initially provided. Any enhancement to the game thereafter is dependent on user modifications. One example of this is BioWare’s Neverwinter Nights, which is heavily reliant on gamer-created content [13]. Successful mods have been incorporated into subsequent releases. Another example is Counterstrike, which is a modification for team play of Valve Software’s Half-Life [13]. In this case modding can be seen as an important and welcome source of innovation where commercial risks are not taken by the gaming industry, but rely on the goodwill of the modders [10].

II. BACKGROUND AND RELATED WORK Massively multiplayer online games already attract huge numbers of players and are expected to become increasingly popular where they are already forming the basis for nextgeneration gaming. Utilising Internet communications, games have blurred virtual and physical worlds and converged with social networks [4]. This has changed how users view and play games. Many games such as Planetside [5], Star Wars Galaxies [6], The Sims Online [7] and EVE Online [8], are dependent on network communications. None more so than the game World of Warcraft, which became the fastest selling PC game in North America in 2004-2005 and in 2006 was reported to have 6 million subscribers worldwide [1].

Whilst modding has been discussed from a game coding perspective, mods may also exist as part of and within the game itself. Communities such as Second Life [14] are heavily reliant on users shaping the virtual environment, extending the concept of MUDs into realistically rendered virtual worlds [15]. Graphical objects of any description can be developed and added to the virtual world, which can then be shared or sold between avatars’ within that world. Modifications to the environment (e.g. land) can be made and buildings can be constructed. This differs somewhat from conventional modding in that all modifications take place within the virtual world. However, there is no mechanism to allow the objects created in Second Life to be shared and distributed amongst different online games and a better approach could be used to expose these modifications so that they can be utilised universally. The increasing popularity amongst multiplayer gaming platforms shows that they are being used more than for just passing time. The virtual world’s platform is already being utilised for business but it may also be used for community and financial analysis of the gaming business itself. Among other uses we see them being used for specialized training for armed forces or vocational training, medical consultation and psychoanalysis, and for community and financial experimentation to analyse social norms [16].

Although multiplayer gaming clearly provides significant benefits over single-player games through the use of networking, its client-server architecture enforces a number of limitations. Most notably, game play and enhancements must be carefully controlled through centralised gaming servers. This results in bottlenecks, central points of failure, and the inability to appropriately react to real-time changes in large virtual worlds. Gamers are tied to games through proprietary software and hardware installations. User interactions do not affect strategic developments and games do not support selfmanagement capabilities to extend functionality beyond those they have been pre-programmed with. This has lead to shifts within the gaming industry, where increasing access to game engines, software development kits and level editors has allowed games to be changed more easily. This phenomenon – known as modding – marginally alleviates some of the limitations discussed above [9-11]. Although modding provides a means of adapting and evolving games, it is restricted to more technically savvy users, such as software developers, rather than people who simply just play games. Furthermore, mods are tied to specific games. For example, a mod developed for the unreal engine will be incompatible with the quake engine. Some researchers suggest that distributed technologies in conjunction with middleware may relieve many of these difficulties, however it is generally accepted that more research is required to establish a suitable architecture [12].

The study shown in paper [17], plans to build a virtual world where virtual objects visualize the information collected in wireless sensor networks by which virtual worlds may allow peers to understand and estimate more easily the state of the real world measured through sensor networks. Many of us now have access to home technologies such as computers, game consoles, and the internet which can help us to create content. There is however limitations with current approaches where they fail to investigate how young people participate in content creation or what tools they use and the extent of their commitment. Such surveys are required to better identify the potential of content creation [18].

Modding is an activity that runs alongside mainstream games development, with developers providing modding tools as a way to attract customers. In essence modding is seen as a business strategy. Although not explicitly stated, incentives to mod games are used as a means of generating free development for publishers, for example through the use of modding competitions that act as a means of screening game enhancements in order to include them in future releases. In most cases this is an unpaid source of labour and gaming organisations carefully control how it is executed [9]. Through competitions and gaming subscriptions for massively

The research carried out in [6] proposes to examine cognitive overload problems among game players who always interact with the game world as well as with other users [6]. Using Maple Story [19] as a case study; the authors have

45

found different results which show different types of cognitive overloads to come into sight during game play which might cause serious problems to all players.

The Visual Resource Manager, as is illustrated in Figure 2 extends the functionalities provided by the service utilisation framework.

This paper [20] introduces Konark, a service discovery and delivery protocol for ad-hoc, peer-to-peer networks in which the authors provide an infrastructure to set up generic peer-topeer systems. It acquires advantages of basic networks for peer naming and message routing. It uses entirely distributed, peerto-peer techniques for resource discovery which provides every peer with the ability to publicise and discover the resources in ad-hoc networks [20].

Game Engine 1

Assets Look up

Visualization Engine

Behaviour Ontologies

Fig. 2 Component Diagram This component consists of different services such as the Resource Monitor, Resource Lookup, a Meta data engine, a Behaviours Matcher, and a Visualization Engine. Using these services along with those provided by the service utilisation framework physical resources are linked with their digital counterparts that reside in the virtual world. Requests received from users are matched against entries in the Lookup Service and the Resource Monitor is used to monitor interactions between these resources. The communication packets used in the framework are serialised as XML. XML enables the sharing of structural data across different formats especially through the Internet. It also allows descriptions to be extended through the addition of new tags which makes it efficient. Ontologies, a shared understanding of some domain, are used to promote better understanding of relationship between the same concepts using different terminologies. When we receive an object the Virtual Resource Manager registers the resource with the resource Lookup Service. Following this it extracts the meta-data of that object and passes it to the Visualization Engine which in turn renders the 3D object into a graphical shape. At the same time the Behaviour Matcher lookups up the behaviour of similar objects in that environment. If it finds the behaviour then it assigns it to the object along with the effects it supports when it is executed. Let us assume that a user sends a game object to another game. The game objects behaviours should also be transferred from the source environment to the destination environment so that the user can fully enjoy the new object features such as graphical special effects or how it reacts to stimulus from the game, such as being shot at. The object consists of two layers; the first layer contains Meta data used to describe the object as illustrated in Figure 3,

Virtual Devices Virtual Environment Physical Environment

Service Integration Framework Application Specific Services

Technology Adapter

Behaviour Matcher

Meta Data

FRAMEWORK OVERVIEW

Technology Adapter

Resource/Assets Monitor

Visual Resource Manager

Our approach is based upon the service utilisation framework proposed in [3] and depicted in Figure 1, we have designed a plug-in containing several services that allow users to share their resources.

Technology Adapter

Game Engine 2

SUF

There are many business opportunities and challenges involved in the virtual world where millions of people from all over participate in the network to play online games. This paper [21] particularly discusses the principles and policies related to the social implications of Second Life [22] which raises significant research questions. One of the important questions, for example, is the payment issue either to the avatar or customer, while another issue is taxing people who are earning money in the virtual business. As can be seen there is considerable research interest around virtual environments with each approach making some very interesting contributions. In the remainder of this paper we discuss our proposed framework that builds on these advances to extend current approaches where user generated content can be more freely shared across different virtual environments. III.

Virtual World

Technology Adapter

Physical Devices

Fig. 1 Service Utilisation Framework This component provides a interface between applications such as gaming platforms, virtual worlds and network devices.

46

which is an XML file containing different attributes of that object as shown in Figure 8 below.

propagate service requests within the network. A simple component by comparison has more restricted abilities: it joins the network, propagates queries and invokes discovered services. For example, this could be sensors in a network that provide multimedia data for crowds or flocking. This enables any component irrespective of its capabilities to effectively choose how it will interact within the network. Using this architecture, we have designed a distributed service-oriented platform for use with virtual environments and physical devices. This allows multimedia content to be shared with the virtual environment from any physical multimedia producing device such as mobile which we discuss in more detail below. Whilst it is important to bear in mind the overall structure that a virtual environment might take, it has been a goal of our work to deconstruct as far as possible the holistic notion of a virtual environment into a set of autonomous, generalised and reusable components. Whilst the development process of our framework necessarily entailed the compartmentalisation of various aspects of a traditional game, the final result must therefore be considered from the opposite perspective. Ultimately we aim to allow gaming to exist as an ad hoc interaction between various networked components, the entirety of which forms the virtual environment. None of these components in isolation can be considered to be the virtual environment itself. Perhaps the closes to what might be considered the heart of the virtual environment might be the rendering or physics engines. However, these will only provide one of any number of interpretations of the interactions that occur between components.

Object

Mapping

Meta Data

Rewriting Script (Mapping)

Game Engine Fig. 3 User Generated Object The second layer is the scripted behaviours. A mapping is performed between the object and the game engine by extracting the meta data used to describe the object and its 3D characteristics and the rewriting scripting engine used to find appropriate behaviours the game engine can accommodate as detailed in the scripted behaviour of the object. Using the principles of service-oriented computing, components, such as game consoles and mobile phones, implement a small footprint of code allowing functions, such as audio and video, to be disseminated within the network. Using the framework services, the components can link to the network using any communication protocol; discover and/or publish and use framework and application services locally (provided by the component itself) or remotely (provided by other components); carry out semantic interoperability between different vocabularies used by component manufacturers; automatically form communication links with other components in the network; self-manage links with other components in the network; and self-manage their operations based on composite and environmental changes. Application particular services, on the other hand offer a means of dispersing and utilising component functionality (such as audio and video), gaming engines, and player (AI behaviours) and game objects (tree, car or avatar). This is achieved using the service integration framework [13], implemented on every component – be it a networked appliance or software module from the virtual world. This is a peer-to-peer interface that can be mapped onto any middleware model. Devices connect to the network as either specialised components or simple components. A specialised component has the ability to provide services as well as to

A.

Behaviour Ontologies

Ontologies allow communication and a common understanding among game objects from different gaming environments that have never seen before nor even heard of. Thus, new game objects may be introduced to the game at any moment and be accepted by the already-playing ones. By using ontologies we can define object properties and also hierarchical service interfaces (for game-object communications). Ontology-aided design may also be helpful at the game planning stage to design the whole game universe (the game-object-related classes and the game-objects themselves). Developed ontologies might then be very easily incorporated into game-objects. To give an example of a simple ontology, we can say that bullet belongs to the class of ammunition which are both affectable and can affect. Affectable means that another game-object may change the bullet’s properties (for a while or even constantly: e.g. shoot it and thus make it disappear). Using this, a player can shoot an opponent - shortening his life. Can affect would mean that the game-object can influence other game-objects. With ontologies we can make use of such complex hierarchies and relationships in a simple way. It is very likely that multiple ontologies must be developed to support various game genres.

47

Maybe there is a set of common, higher level concepts, which might become a ‘versatile game ontology for game-objects’.

laborious process of generating the rules will often have to be repeated, at least in part, every time we want to effect even a slight change in the resulting behaviour. Since the behaviour rules are deterministic, once an action is chosen, there is no way to reconsider the choice. There are many cases when a cognitive character could use its domain knowledge to quickly anticipate that an action choice is not appropriate. An autonomous character has no ability to make such judgments and, regardless of how appropriate it is, must blindly follow the predefined behaviour rules that pertain to the current situation.

There are many issues to be further investigated here. The first and the most important one relates to the kind of games that might be based on game-objects and which of them could attract players. The next issue is to design a number of gameobjects and decide what properties they should have. A very interesting task here will be in defining an ontology (or a set of ontologies for the game-object). Another issue will be to pick the most suitable middleware platform to be small enough to be fit into a small game-object and also powerful enough to communicate in an ad-hoc manner and be able to semantically understand other game-objects or game environments.

When there are many rules it is quite likely their applicability will overlap and they could give conflicting suggestions on which action to choose. In such cases some conflict resolution strategy must be employed.

In terms of behaviour, we consider our game-objects as characters. There are many models we can use to predefine a game-object's behaviour. For the most complex example we are interested in techniques for which the character's behaviour is not completely determined in advance. Therefore, we shall not attempt a comprehensive survey of techniques for predefining behaviour. Instead, we shall take a brief look at one particularly popular approach: reactive behaviour rules.

B.

Behaviour Matcher

Existing work on game object/character behaviour modelling can be generally classified into a microscopic approach and macroscopic approach. Most computational models for object/character modelling and simulation adopt the microscopic approach where each individual agent is equipped with a set of decision rules to determine what to do in the next time step. The object/character behaviours are then naturally generated as some emergent phenomena due to the interactions of the individual object/character.

We will use the term reactive behaviour when a character's behaviour is based solely on its perception of the current situation. What we mean is that the character has no memory of previous situations it has encountered. In particular, there is no representation of its own internal state and so it will always react in the same way to the same input stimuli, regardless of the order in which the inputs are received. A simple way to encode reactive behaviour is as a set of stimulus-response rules. This has a number of important advantages:

In our system, a two-level cognitive model architecture is adopted. The lower level is used to model individual behaviours, and the top level model is used to represent object/character dynamics and interaction. This two-level architecture is a natural reflection of the interaction amongst object, and between an object and a device in real-life situations. An interaction can emerge amongst individuals and might take into account environmental factors.

Although the set of rules might be short, and each of the rules very simple, that doesn't necessarily mean the behaviour that results from the character following the rules is simple at all. That is, we can often capture extremely sophisticated behaviour with some simple rules. We can usually evaluate the rules extremely quickly so there should be no problem obtaining real-time response from the characters.

Individuals involved in this emerging process may change their behaviours after an interaction is formed. When an object/character joins the new environment, the behaviour of the individual in the new environment will be determined by both the environment model and the object/character behaviour model.

There is no need to worry about various knowledge representation issues that arise when characters start thinking for themselves. That is, the characters are not doing any thinking for themselves.

One of the widely used tools for editing and managing ontology is Protégé (http://protege.stanford.edu). Ontologies developed in Protégé can be converted into Java classes and used by agent systems such as JADE for knowledge sharing. Instances of the concepts and relationships between concepts can also be stored in a knowledge repository through the Protégé JDBC database back-end. This allows fast and efficient updating and querying of the ontology outside the Protégé environment by different components of the application. Ontologies developed in Protégé can also be used together with inference engine such as the Java Expert System Shell (JESS) or drools (http://labs.jboss.com/drools/) for rulebased reasoning and knowledge acquisition. Using the rules formalism of representation it is suitable to match behaviour of

The use of reactive behaviour rules was one of the first approaches proposed for generating character behaviours, and it is still one of the most popular and commonplace techniques. Great success has been obtained in developing rule sets for various kinds of behaviour, such as flocking and collision avoidance. As an example of a simple stimulus-response rule that can result in extremely sophisticated behaviour. However despite some of the advantages, there are also some serious drawbacks to using sets of reactive behaviour rules: The biggest problem is thinking up the correct set of rules that leads to the behaviour we want. It can require enormous ingenuity to think of the right set of rules. The difficult and

48

new objects/characters in a new environment with local expected behaviour, or matching with object/characters with the closest behaviour or extending the ontology to include the new behaviour.

levels. For instance, it may be difficult to tell when a scene graph has changed if it is being modified programmatically through the user's own code. Other parts of the engine can be probed at intervals to check their status.

In our system, the Protégé ontology knowledge repository is used with the JESS inference engine to keep track of the environment and the behaviours of objects/characters in the system. The execution environment will provide updates on changes in both the environment as well as the status of object/characters and human players. These changes will be updated into the knowledge-base and the inference engine will modify the behaviours of individuals accordingly based on the cognitive model. C.

Homura Game Engine and IDE

The initial architecture of Homura as a whole is to have a core engine, which uses jMonkeyEngine and LWJGL. The user is able to create so-called Homura projects which will run totally independently of the IDE and can be exported to a wide range of platforms Homura IDE is a powerful IDE that is based on the Eclipse Platform, and uses existing Eclipse plugins and technology. One particularly important plugin the IDE uses is the JDT (Java development Tools), which provides the user with a rich Java editing environment for creating their game logic in. Figure 4 shows the interface and a game example developed with this platform and Java Monkey Engine (jME). Various parts of Homura are declaratively specified in XML files in the root of a Homura project, and this provides a link between the classes and concepts used in a Homura project. These XML files come in useful when considering exporting to a website, as the website can parse these files in a standard way, and act upon the data contained within them. The IDE can also act upon, and manipulate these files to change various parts of a Homura project. This is similar to how Eclipse works with the plugin XML that sits in the root of each RCP project, allowing concepts to be linked to classes, and functionality exposed to other plugins.

Fig. 4 Homura Interface and Game Applications Parts of the Homura IDE use Homura and jME, not just the games and applications that the user creates. However, if Homura is providing a game interface where parts of the API are accessed in a game-like context, the method of integrating parts of this engine into the IDE will be less than ideal. At the moment, jMonkeyEngine has a game-specific context. The idea is to unravel this into a hierarchy of non-game specific classes and interfaces, with the game-specific classes and interfaces at the top of this, with the notion of being able to run an 'application' and a 'game'. Then, only the game-specific classes will have access to game-specific concepts. Therefore, it will be necessary to keep the game-specific details separate from the application-specific ones.

The IDE itself hooks into the running Homura engine while a Homura application or game is running to provide various introspection and debugging facilities. For example, the user is able to see details about the concepts which are in operation within the application, as well as the current framerate through a statistics view. One feature that is particularly important for the user to inspect is the scene graph, as this allows them to find out why their graph is not correct and help them find the area of code which is manipulating it incorrectly. They are also able to view the various properties of the scene elements they can select, for example, the world and local translation of a node

IV. CASE STUDY A case study has been conducted to demonstrate our approach that demonstrates one way of sharing content. We have developed our scenes using blender. For example, Figure

In order to provide the necessary hooks into the running engine, some parts of jME have been modified, as modifying Homura alone may not be enough, or too inefficient at certain

49

8 shows and XML representation of a gun. In order to load these XML files into the scene graph of jME the function illustrated in Figure 5 is used.

Fig. 5 Loading XML Serialised Scenes jME doesn’t support loading any file formats directly. Rather it uses jME binary, its own format. Different classes included in jME convert scripts are used to create the jME binaries. First of all the binary converter and binary reader is loaded as it is illustrated in Figure 5 from lines 4 to 7. As illustrated in line 10 and 12 the OutputStream and the InputStream are used to send and read the appropriate contents. The XML file is converted with the ByteArrayOutputStream and read with the ByteArrayInputStream. This process allows us to transfer meta data from one environment to another environment as shown in figure 6.

Fig. 7 Virtual world In Figure 7 we see a mobile phone and for each song passed from the physical device to the virtual mobile phone a radio button is added and visually connected to the avatar phone. When a song is selected the behaviours appears in the virtual world; in this case we can see that by selecting Song1 we can execute one of its behaviours, i.e. exit, play, and stop, by pressing the buttons located to the right of the virtual world screen. In the following section we discuss the technical aspects in achieving this. A.

Technical Description

In the architecture described above we have designed a distributed service-oriented platform to link between networked appliances and associated avatars in virtual environments we have been able to carry out experiments using our design and show how multimedia and gaming content can be shared inside virtual environments. Using JXTA [23] as its peer-to-peer middleware protocol, a virtual environment developed using jME [24] queries the network for JXTA services advertised by the peers (Physical mobile phone). We have connected two virtual environments using JXTA, one game developed in Homura Game Engine and the other our virtual lab, developed using JME.

Fig. 6 Content Sharing Using the our framework we have implemented an application that links a mobile phone to a corresponding avatar in the jME as depicted in Figure 7. Through this connection we are able to us the physical phone and its avatar representation in the virtual world. We can answer and make calls from the physical and the virtual and using the same communication channels we are able to transfer user generated content between the two. For example, we can pass a music track to the virtual world along with metadata describing what it looks like and the behaviours it supports.

In the above case study a peer makes a request for a service, such as a game objects (e.g. gun), in the virtual lab where another peer has previously advertised its sharable assets using JXTA advertising services. In Figure 8 we show,

50

how we have implemented the scenario in which the user requests a gun resource.

playing objects. Perhaps these act as two extremes between which many other possibilities are possible. var incr = 1.0; function fire() { if (ammunition > 0) { if(console!=undefined) console.log("time="+time + "Fired single round"); else System.out.println("time="+time + "Fired single round); //update the ammunition ammunition = ammunition - incr; controlled.updateGunFired(); } }

Fig. 9 Sample behaviour for the gun called fire

Both meta data for objects and the scripted behaviours are passed between different environments using JXTA pipe and messaging objects in which all required information is presented to extract and construct the associated object. Whilst, we simply use the meta data to construct the objects, we run all scripting behaviours through a set of rules, as discussed in the above section on the Behaviour Matcher. Whilst objects may support behaviours in their source environment, it is not necessarily the case in the target environment. Here the rules try to extract the behaviours the target environment supports. The Behaviour Ontology acts as an interoperability mechanisms between terminologies which we have implemented and serialised using the Web Ontology Language (OWL) [28]. The rules where developed using Drools, where Figure 9 shows in part a simple fire and part of the script for a behaviour being generated. import com.sample.DroolsTest.Message; rule "Fire" when m : Message( status == Message.FIRE, message : message ) then System.out.println( message ); m.setPayload("function fire(){if (ammunition > 0) {if(console!=undefined)console.log('time='+time + 'Fired single round');else System.out.println('time='+time + 'Fired single round);ammunition = ammunition – incr;controlled.updateGunFired();}" m.setMessage( "Fired" ); m.setStatus( Message.FIRED ); update( m ); end

Fig. 8 Meta Data describing the rendering information for a gun We simply pass the meta-data to jME, which in turn is used to render a 3D representation of the gun in the scene. The gun object also contains the scripting behaviours it supports. For example, Figure 9 illustrates, in part a simple script for the fire behaviour. Javascript was used and where developed using the Rhino API from Mozilla [25], which is used with the Java Scripting Framework [26] and the open-content repository API provided by Captive Imagination [27].

Fig. 10 Rules used to create scripted behaviour In the mobile phone scenario we demonstrated how two users where able to share multimedia content between physical mobile device and corresponding avatars in the virtual world. We stream multimedia content from the physical mobile device to the virtual mobile using the Java Media Framework (JMF) [29] and the Real-time Transmission Protocol (RTP) [30].

The Meta data and scripts, including the aforementioned tools where applied in the same way to allow music to be shared between our mobile phone and its associated avatar in the virtual lab. The goal here is to show how two very different types of content can be shared. One associated with multimedia and the other associated with conventional game

RTP packets were wrapped in JXTA [23] messaging objects to abstract the IP dependent format used for HTTP

51

calls in RTP. This provides a unified addressing scheme ensuring that all components are addressed in a uniform way. Frames were sent from the physical mobile to the virtual environment using JXTA Pipes. Upon receiving the JXTA packets, the RTP packets are extracted and processes by a custom data source adapter developed for the purpose, which streams RTP data much as it is done traditionally, after network connectivity , the avatar requests the list of song in which he/she then chose a song from the list, after that the mobile start streaming the content using RTP protocol in JXTA pipes; when it receives first stream JMF process the stream and check supported codec, if it is supported then it will continue receiving streams from mobile device in our case while playing the stream using JMF and a plugin called Fobs4JMF [31] which supports most formats such as mp4 or 3gp. These tools in conjunction with Skype allowed us to enable bi-directional communications between the physical mobile phone and its virtual world counterpart. V.

interactions between components, allowing for greater flexibility in the way components represent themselves. This is a multidisciplinary project spreading across several research areas. The goal is to create a tighter relationship between the advances we have already made in create a new framework that incorporates all others, i.e. the service integration framework, the content sharing services, the Homura engine and IDE and the Drools Rules and Java Scripting Framework. This will be the focus of much ongoing work. Ultimately, the success of a framework such as this relies on the development of exciting content that can be used to build up gaming environments. Nonetheless we believe that a flexible and distributed system such as this provides many opportunities for the advancement of gaming, virtual environments and networked devices in the physical world into new areas and in new ways.

CONCLUSIONS AND FUTURE WORK

ACKNOWLEDGMENT

In this paper we presented a novel framework that allows content to be shared across different virtual environments. This extends current gaming platforms in a number of different ways which we have discussed in this paper. Our framework is based on a novel approach that draws on our expertise in the area of Networked Appliances and gaming. This provides a novel perspective on how virtual worlds can utilise the benefits from both to form a blurring that allows content to be easily shared and used from within both. Interpretations can be made about content shared, which may include conventional multimedia as well as well known digital content such as guns, and life for game play. This allows a more intimate link between heterogeneous games where such interpretations form the basis for visual renditions as well as the ad hoc generation of behaviours those objects being shared support. Whilst understanding the effects a car crash may have in a driving game, such interpretations allow the car to inhabit a world in which the concept of a car is not necessarily understood, but where behaviour mappings allow a comparison to be made between the effects of a crash and for example, that of being shot at. This not only makes games more flexible, but it also provides a basis for more interesting virtual environments not yet seen.

The authors would like to thanks Christopher Dennett, Simon Cooper and Mohd Mohd Arif Sabri, for their contributions to the work presented in this paper, and related to Homura IDE, the games development and the games content REFERENCES

As well as benefiting the gaming community this multidisciplinary approach might provide additional functionality through interactions with real-world networked appliances, allowing facets of physical devices to be projected into the game in order to provide virtual manifestations of themselves. Whilst we have presented an initial prototype system, it is clear that much work remains to be carried out before a fully effective system is produced. In particular, working with rules and dynamic script writing in conformance with ontologies needs to be better understood. We hope to extend the use of ontologies in the system in order to increase the robustness of

52

[1]

N. Ducheneaut, N. Yee, E. Nickell, and R. Moore, Building an MMO with Mass Appeal: A look at Gameplay in World of Warcraft. Games and Culture - Journal of Interactive Media, 2006. 1(4): p. 281 - 317.

[2]

H. Herman, R. J. Coombe, and K. Lewis, Your Second Life? Cultural Studies, 2006. 20(2-3): p. 184- 210.

[3]

M. Merabti, P. Fergus, O. Abuelma'atti, H. Yu, and C. Judice, Managing Distributed Networked Appliances in Home Networks. Accepted for publication in the Proceedings of the IEEE Journal, 2008.

[4]

A. F. Seay, W. J. Jerome, K. S. Lee, and R. E. Kraut, Project massive: a study of online gaming communities. CHI '04 extended abstracts on Human factors in computing systems, 2004, Vienna, Austria: ACM Press, p. 1421-1424.

[5]

PlanetSide. 2006, Accessed 2007, http://planetside.station.sony.com/.

[6]

Star Wars Galaxies. 2006, http://starwarsgalaxies.station.sony.com/.

Accessed

2007,

[7]

The Sims Online. 2006, Accessed http://www.ea.com/official/thesims/thesimsonline/.

2007,

[8]

EVE Online. 2006, Accessed 2007, http://www.eve-online.com/.

[9]

O. Sotamma, Have Fun Working with Our Product!: Critical Perspectives on Computer Game Mod Competitions. International DiGRA Conference, 2005, Vancouver, Canada

[10]

J. Kucklich, Precarious Playbour: Modders and the Digital Games Industry. International Journal on Fibreculture, 2005 1(5).

[11]

M. S. El-Nasr and B. K. Smith, Learning Through Game Modding. ACM Computers in Entertainment, 2006. 4(1).

[12]

T. Hsiao and S. Yuan, Practical Middleware for Massively Multiplayer Online Games. IEEE Internet Computing, 2005. 9(5): p. 47 - 54.

[13]

Computer Game Modding, Intermediality and Participatory Culture. 2003, F. University of Tampere, Accessed: September, http://old.imv.au.dk/eng/academic/pdf_files/Sotamaa.pdf.

[22]

Second Life, Accessed 2007, www.secondlife.com.

[23]

JXTA, Accessed 2007, https://jxta.dev.java.net.

[14]

N. Yee, The Unbearable Likeness of Being Digital: The Persistence of Nonverbal Social Norms in Online Virtual Environments. to appear in the Journal on CyberPsychology and Behaviour, 2006.

[24]

Java Monkey Engine www.jmonkeyengine.com.

[25]

[15]

P. Curtis and D. A. Nichols, MUDs grow up: social virtual reality in the real world. COMPCON '94, 1994, San Francisco, CA, USA: IEEE Computer. Soc. Press, p. 193-200 BN - 0 8186 5380 9.

Rhino: JavaScript for Java. 2007, Mozilla.org, Accessed 2007, http://www.mozilla.org/rhino/.

[26]

Scripting Framework for Java. 2006, J. O'Connor, Accessed 2007,http://eventhorizongames.com/wiki/doku.php?id=articles:java_s cripting_framework.

User

Guide,

Accessed

2007,

[16]

B. Book, Moving Beyond the Game: Social Virtual Worlds. Series Moving Beyond the Game: Social Virtual Worlds. 2004. Pages.

[27]

[17]

T. Kwon and S.-M. Choi, Deriving the Virtual World from Wireless Sensor Networks for Interaction with Consumer Electronic Devices. Consumer Electronics, 2007. ICCE 2007, 2007, p. 1-2.

The open-content repository for games. 2007, Captive Imagination, Accessed 2007, http://captiveimagination.com/svn/public/cigame/trunk/.

[28]

[18]

E. Hayes, Game content next term creation and it proficiency: An exploratory study. 2007.

T. Berners-Lee, J. Hendler, and O. Lassila, The Semantic Web. Scientific America, 2001. 284(5): p. 34-43.

[29]

Java Media Framework (JMF), http://java.sun.com/products/java-media/jmf/.

[30]

RTP: A Transport Protocol for Real-Time Applications, Accessed 2007, ,http://www.ietf.org/rfc/rfc1889.txt.

[31]

RTP: A Transport Protocol for Real-Time Applications. 1996, IETF, Accessed 2007, http://www.ietf.org/rfc/rfc1889.txt.

[19]

Maple Story, Accessed 2007, http://maplestory.nexon.net/.

[20]

Infrastructure for Peer-to-Peer Applications in Ad-Hoc Networks, V. V. a. S. H. Nitin Desai, Accessed: 2007, http://www.harris.cise.ufl.edu/projects/publications/konark_p2p.pdf.

[21]

S. Papagiannidis, M. Bourlakis, and F. Li, Making real money in virtual worlds: MMORPGs and emerging business opportunities, challenges and ethical implications in metaverses. Technological Forecasting and Social Change 2007.

53

Accessed

2007,

Suggest Documents