Virtual Environments with Content Sharing

businessunknownInternet and Web Development

Nov 12, 2013 (3 years and 7 months ago)

153 views

Virtual Environments

with Content Sharing

Prof Madjid Merabti, Dr Abdennour El Rhalibi, A
mjad

Shaheed,

Dr
Paul
Fergus

School of Computing and Mathematical Sciences.

Liverpool John Moores University,

Byrom Street, L3 3AF, UK

Email:
{
M.Merabti
, A.
Elrhalibi

,
A.Shaheed
,
P.Fergus
}@ljmu.ac.uk





Dr Marc Price

BBC Research, Kingswood Warren, Tadworth

Surrey KT20 6NP, UK

Email:
Marc.Price@
bbc.co.uk


Abstract
:
Conten
t sharing
over

network
ed

devices
, beyond simple file sharing

is

becoming a reality.

M
any devices are
forming closer relationships
with different

virtual worlds, such as World of Warcarft and
Second Life.
In on
e 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 pr
ogression
sees

content that
seamlessly
resides
within either. This will open up new opportunities where
third
-
party
content providers
and users alike
are

able to create and share content over these new platforms.

We aim to provide a basis on
which this vis
ion can be realised where mechanisms have been developed that
facilitates the sharing of
virtual world objects
across different

virtual env
ironment.
The work has been
tested using

a working
prototype that allows digital content, to be shared and
physical

d
evices, such as

mobile phone
s, to
be
connected and
their
content to be shar
e
d.

Keywords
:
Networked Virtual Environment, Content Sharing
, Game Engine

1.

I
NTRODUCTION

Many devices have developed rapidly to become multifunctional wonders. They provide
more funct
ionality 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 ar
eas for networked
appliances. Using the network, devices can be controlled

from any
where in the world. In online
games such as
World of W
arcraft

[1]

and
Second Life

[2]

players share a v
irtual 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 us
er is the only physical entity
, these player
s 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.

Many ways of distr
ibuting content may be possible; f
or example,

between two
physical
device
s;
physical devices and
virtual environments
; or between different
virtual environments

and gaming platforms
.
Consider a scenario where

a mobi
le 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 share
s

his or her
asse
ts and resources durin
g 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 exte
nd game play and even earn
money

brings
.

In this paper we propose a distributed framework based on a service utilisation framework
which facilitates the sharing of content in virtual environments
[3]
. Using this framework

netw
orked appliances are automatically created and connected with associate
d avatars within a
virtual environment. Our

approach has
many benefits, which include

the

user’s

ability to

share,
di
stribute and sell their content

in virtual
environments and the abil
ity to remove

the physical
constraints associated with real world objects.

The remain
der
of th
e

paper is structured as follows.
In section II we introduce the
background and the related work.
S
ection III
provides an overview of our proposed
framework
befor
e describing a case study
and a technical description of our approach
in

Section IV In
Section V we provide our conclusions and future work.

2.

B
ACKGROUND AND
R
ELATED
W
ORK

Massively multiplayer online games already attract huge numbers of players and are
exp
ected

to become increasingly popular where they are already

forming the basis for next
-
generation 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 G
alaxies

[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 m
il
lion subscribers worldwide
[1]
.

Alt
hough 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 th
rough centralised
gaming servers. This results in bottlenecks, central point
s

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 installatio
ns. User interactions do not affect
strategic developments and games do not support self
-
management capabilities to extend
functionality beyond those they have been pre
-
programmed with.

This has lead to shifts within the gaming industry, where increasing a
ccess to game engines,

software development kits and level editors has allowed games to be changed more eas
ily. This
phenomenon


known as
modding


marginally alleviates some of the l
imitations 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 distribu
ted technologies in conjunction with middleware may relieve many of these
difficulties, however it is generally accepted that more research is required to estab
li
sh a
suitable architecture
[12]
.

Modding is an activity that runs alongside mainstream games development, with developers
pr
oviding 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 o
f 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 c
ontrol how it is executed
[9]
. Through competitions and gaming subscriptions for
massively multiplayer online games, the industry has a healthy flow of mod software. In
support of this several ga
me 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 heavil
y
relia
nt 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 impor
tant and welcome
source of innovation where commercial risks are not taken by the gaming industry, but rely on
the goodwill of the modders

[10]
.

Whilst modding has been discussed from a game coding perspective, mods may also exist
as part of and within the game itself. Comm
u
nities such as
Second Life

[14]

are heavily reliant
on users shaping the virtual e
nvironment, extending the concept of MUDs into realistica
lly
rend
ered 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 mech
anism 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

mult
iplayer

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]
.

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 world
s

may
allow peers to un
derstand 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 limitat
ions with current
approaches where they fail to
investigate how young people parti
cipate in content creation or

what tool
s

they use and the
extent of their commitment. Such surveys are required

to better
identify the po
tential of content creation

[18]
.

The research carried out

in
[6]
proposes to examine cognitive overload problems amo
ng
gam
e 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 found different result
s which show

different
types of cognitive overloads
to come

into sight during game pla
y

which might cause serious
problems to all players.

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
-
to
-
peer systems. It acquires advantages

of basic networks for peer naming and message routing. It
uses entirely distributed, peer
-
to
-
peer techniques for resource discovery which provides every
peer
with
the
ability to publicise

a
nd discover the resources in

ad
-
hoc netw
ork
s

[20]
.

There are many business opportunities and challenges involved in the virtual world where
millions of people from all ov
er participate in the network to p
la
y online games. This paper
[21]

particularly discusses the principles and policies related to the social

implications of
Second Life

[22]


w
hich 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 cons
iderable
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 gen
erated content can be more freely
shared across different virtual environments.

3.

F
RAMEWORK

O
VERVIEW

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.

Physical Devices
Service Integration Framework
Technology Adapter
Technology Adapter
Technology Adapter
Technology Adapter
Application Specific Services
Virtual Devices
Virtual Environment
Physical Environment
Physical Devices
Service Integration Framework
Technology Adapter
Technology Adapter
Technology Adapter
Technology Adapter
Technology Adapter
Technology Adapter
Technology Adapter
Technology Adapter
Application Specific Services
Virtual Devices
Virtual Environment
Physical Environment

Fig. 1
Service Utilisation Framework

This component provides a
interface

b
etween applications such as gaming platforms,
virtual world
s and network devices. The
Visual Resource M
an
ager
, as is illustrated in Figure 2
extends the functionalities provided by the service utilisation framework.


SUF
Game Engine 1
Virtual World
Game Engine 2
Meta Data
Behaviour Matcher
Visual Resource Manager
Visualization Engine
Behaviour
Ontologies
Assets Look up
Resource/Assets Monitor
SUF
Game Engine 1
Virtual World
Game Engine 2
Meta Data
Behaviour Matcher
Visual Resource Manager
Visualization Engine
Behaviour
Ontologies
Assets Look up
Resource/Assets Monitor

Fig. 2
Component Diagram

This component consists of different services such as the
Resource Monitor
,
Resource
Lookup
, a
Meta data

engine, a
B
ehaviours 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 di
fferent 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 relationsh
ip
between the same concepts using different terminologies.

When
we receive an object the Virtual
Resource M
anager

r
egister
s
the resource with the
resource
L
ook
up

S
ervice
. Following this it extract
s

the meta
-
data of that object and pass
es

it to
the
Visuali
zation E
ngine

which
in turn

render
s

the 3D object into
a
graphical shape
. At the
same time the
Behaviour M
atcher

lookup
s up

the behaviour of similar objects in that
environment. If it finds the behaviour then it assign
s

it

to

the object
along with the eff
ect
s 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
, which is an

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

Object
Mapping
Meta Data
Rewriting Script (Mapping)
Game Engine
Object
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 computi
ng
,

components
,

such as game consoles
and mobile phone
s
,

implement

a small footprint of code allowing function
s
, 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 co
mponent 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
particula
r 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 fra
mework [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 compone
nts or simple components. A specialised component has
the ability to provide services as well as to 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.

Us
ing 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 s
uch as mobile
which we
discuss in more detail below.

Whilst it is important to bear in mind t
he 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 envi
ronment

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 fro
m 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
vir
tual 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 bet
ween components.

3.1

Behaviour Ontologies

Ontologies allow communication and
a
common understanding among ga
me 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 serv
ice
interfaces (for game
-
object
communications). Ontology
-
aided design may also be helpful at the
game planning stage to desi
gn 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 clas
s 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. sho
o
t 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.

In term
s

of behaviour, we consider our game
-
objects as charact
ers. 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.
To determine the behaviour we apply reac
tive behaviour rules.

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 s
ets 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.


3.2

Behaviour Matcher

Existing work on game object/character behaviour modelli
ng 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.

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 o
bject and a device in real
-
life situations. An interaction can
emerge amongst individuals and might take into account environmental factors.

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.

In our system, the Protégé
(
http://protege.stanford.edu
)
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
b
oth 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.

4.


Homura Ga
me Engine and IDE

The game engine and IDE used is Homura.
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 T
ools), 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

de
veloped with this platform and Java Monkey Engine (j
ME
)
.


Various parts of Homura are declaratively spe
cified 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 stand
ard 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,
all
owing concepts to be linked to classes, and functionality exposed to other plugins.

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, th
e user is
able to see details about the concepts which are in operation within the application, as well as
the current frame
-
rate through a statistics view. One feature that is particularly important for the
user to inspect is the scene graph, as this allo
ws 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 translati
on of a node

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
levels. For instance, it may be difficult to tell when a scene gr
aph 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.


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 con
text. 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
-
specif
ic 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.




Fig
.
4
Homura Interface and
Game Application

5.

C
ASE
S
TUDY

A case study has been conducted to demonstrate
our approach that
shows

one way of
sharing content
. We have
developed our
scenes

using blender
. For example, Figure 8 shows
and XML representation of a gun
.

In order to load
these
XML

files into the scene graph of j
ME
the
function illustrated in Figure 5 is used.


Fig
.
5

Loading XML Serialised Scenes

j
ME doesn’t support loading any file formats directly. Rather it uses jME binary, its own
format.
Different classes included in j
ME
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 F
igure
5

fro
m
lines 4 to 7.
As illustrated in line 10 and 12 the OutputStream and the InputStream are used to
send an
d 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.
6

Conte
nt Sharing

Using 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 virt
ual 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 metad
ata describing what it looks like and the behaviours
it supports.

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 so
ng 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 fo
llowing section we discuss the
technical aspects in achieving this.


Fig
.
7

Virtual world

6.

Technical Description

In the architecture described above we have designed a distributed service
-
oriented
platform to link between networked appliances and associat
ed 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 virtu
al environment developed using jME

[24]

queries the network for
JXTA service
s 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
.


<Scene>
<NavigationInfo
headlight="TRUE"
visibilityLimit="0.0"
type="EXAMINE, ANY"
avatarSize="0.25, 1.75, 0.75" />
<Inline DEF="rsvd_Scene" url="Scene.x3d" />
<Transform DEF="gun
-
node"
translation="
-
0.007
-
0.001
-
0.001">
<Shape>
<Appearance>
<Material DEF="MA___
-
_Default_001"
diffuseColor="0.294 0.294 0.294"
specularColor="0.722 0.722 0.722"
emissiveColor="0.0 0.0 0.0"
ambientIntensity="0.167"
shininess="0.195" transparency="0.0" />
</Appearance>
<IndexedFaceSet solid="true"
coordIndex="150 0 151
-
1, 151 0 152
-
1,..."/>
<Coordinate DEF="coord_gun
-
node"
point="
-
0.090146
-
0.963556 0.592351,..." /
>
</IndexedFaceSet>
</Shape>
</Transform>
</Scene>
<Scene>
<NavigationInfo
headlight="TRUE"
visibilityLimit="0.0"
type="EXAMINE, ANY"
avatarSize="0.25, 1.75, 0.75" />
<Inline DEF="rsvd_Scene" url="Scene.x3d" />
<Transform DEF="gun
-
node"
translation="
-
0.007
-
0.001
-
0.001">
<Shape>
<Appearance>
<Material DEF="MA___
-
_Default_001"
diffuseColor="0.294 0.294 0.294"
specularColor="0.722 0.722 0.722"
emissiveColor="0.0 0.0 0.0"
ambientIntensity="0.167"
shininess="0.195" transparency="0.0" />
</Appearance>
<IndexedFaceSet solid="true"
coordIndex="150 0 151
-
1, 151 0 152
-
1,..."/>
<Coordinate DEF="coord_gun
-
node"
point="
-
0.090146
-
0.963556 0.592351,..." /
>
</IndexedFaceSet>
</Shape>
</Transform>
</Scene>

Fig
.
8

Meta Data describing the rendering information
for a gun


In the above case study a peer makes a request for a service, such as a
game object

(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, how we have

implemented the scenario in
which the user requests a gun resource.


We 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]
.


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
();
}
}

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
.
9
Sample behaviour

Fig
.
10
Rules used to create scripted behaviour


The Meta data and scripts, including the aforementioned tools where applied in the same
way to allow music to be shared be
tween 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 playing objects.
Perhaps the
se act as two extremes between which many other possibilities are possible.

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
present
ed 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 terminolog
ies 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.

In the mobile phone scenario
we demonstrated how two users are

able t
o 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]
.

RTP packets were wrapped in JXTA
[23]

messaging objects to abstract the IP dependent
format used for HTTP calls in RTP. This provi
des 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
st
art 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 u
sing 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
physic
al mobile phone and its virtual world counterpart.

7.

C
ONCLUSIONS AND
F
UTURE
W
ORK

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 differ
ent
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 bot
h 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 b
eing shot at. This not only makes games more flexible, but it also provides a basis for more
interesting virtual environments not yet seen.

As well as
benefiting the gaming community this multidisciplinary approach might
provide
additional functionality t
hrough 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 muc
h 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 i
n order to
increase the robustness of 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
Framewor
k. This will be the focus of much ongoing work.
Ultimately, the success of a
framework such as this relies on the de
velopment of exciting content

that can be used to build
up gaming environments. Nonetheless we believe that a flexible and distributed syst
em 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.

R
EFERENCES

[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).

[2]

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

[3]

M. Merabti, P. Fergus
, O. Abuelma'atti, H. Yu, and C. Judice, Managing Distributed Networked
Appliances in Home Networks. 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 Gala
xies. 2006, Accessed

2007
,
http://starwarsgalaxies.station.sony.com/
.

[7]

The Sims Online. 2006, Accessed

2007
,
http://www.ea.com/o
fficial/thesims/thesimsonline/
.

[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. Inter
national DiGRA Confere
nce, 2005, Vancouver, Canada


[10]

J. Kucklich, Precarious Playbour: Modders and the Digital Games Industry. Internationa
l Journal
on Fibreculture, 2005

1(5).

[11]

M. S. El
-
Nasr and B. K. Smith, Learning Through Game Modding. ACM Comp
uters 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. Univ
ersity o
f
Tampere, Accessed: September,
http://old.imv.au.dk/eng/academic/pdf_files/Sotamaa.pdf
.

[14]

N. Yee, The Unbearable
Likeness

of Being Digital: The Persistence of Nonverbal So
cial Norms in
Online Virtual Environments. to appear in the Journal on CyberPsychology and
Behaviour
, 2006.

[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.

[16]

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

[17]

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

[18]

E. Hayes, Game content

next term creation and it proficiency: An exploratory study. 2007.

[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.ci
se.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.

[22]

Second Life, Accessed

2007
,
www.secondlife.com
.

[23]

JXTA, Accessed

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

[24]

Java Monkey Engine User Guide, Accessed

2007
,
www.jmonkeyengine.com
.

[25]

Rhino: JavaScript for Ja
va. 2007, Mozilla.org, Accessed

2007
,
http://www.mozilla.org/rhino/
.

[26]

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

[27]

The open
-
content repository for games. 2007
, Captive Imagination, Accessed

20
07
,
http://captiveimagination.com/svn/public/cigame/trunk/
.

[28]

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

[29]

Java Media Framewo
rk (JMF), Accessed

2007
,
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 App
lications. 1996, IETF, Accessed 2007
,
http://www.ietf.org/rfc/rfc1889.txt
.