We have developed a framework for generic behaviour management of virtual intelligent
objects. It decouples event provider from event dealer (i.e. behaviour handling) and,
compared to traditional virtual worlds, allows a better support for normative and dynamic
social virtual worlds. In a conventional VW, clients take charge of rendering, interaction and
behaviour handling (i.e. event capture and treatment). On the server side, digital assets are
stored (in proprietary or standard format), and the server propagates client changes to the
rest of connected users. The main drawback of this architecture is that an object behaviour
has to be reprogrammed when VW platform changes.
Our approach gets behaviour handling out of the VW platform. It is treated in an external
module named iObjects manager. An iObject is a 3D entity populating the virtual
environment which is exploited in two ways: it allows normal interaction as it would do in
the real world (e.g. approach/touch a door to open) and its virtual nature gives an added
value to the provided information (e.g. adapts dynamically color or size). More information
on iObjects can be found in (Rodriguez et al. 2008). In the virtual world, iObjects ensure
participants norm compliance and give the user assistance during his participation.
iObjects' manager is designed to be used by several virtual world platforms. To do that, it is
needed to develop an extension module, iObjects extension in Figure 4, in the VW platform
that will communicate with the generic manager using a socket connection. Next section
presents the prototype we have developed in Wonderland virtual world (from Sun
Microsystems) and presents some simulation results.
Controlling and Assisting Activities in Social Virtual Worlds 21
|
|
Fig. 4. Generic approach to enforce norms in a SVW
As can be appreciated in Figure 4, an interaction with an iObject is captured in the virtual
world client and it is sent, using a socket message, to the iObjects manager. The message
indicates client identifier, object and event used to interact with the object. The iObject
manager decides which iObject action (e.g.. change color, size, trigger animation) has to be
sent back to the VW. This decision is based on a response given by an organization-based
multiagent system which establishes norms and possible interactions. The manager
maintains a hash with iObject identifier in the concrete VW (ioVW) and its generic
counterpart (iOgeneric). Currently, generic iObject events contemplated are OnPaint,
OnMouseButton, OnEnter (an avatar enters in an area near to object's position) and OnExit
(an avatar leaves an area near to object's position). Note that it is needed to do a mapping
between concrete VW events and generic ones contemplated by the iObjects manager.