Keywords: embodied agents, virtual environments, rich media.
{eliens,huang,ctv}@cs.vu.nl } \numberofauthors{1} \author{ % % The command \alignauthor (no curly braces needed) should % precede each author name, affiliation/snail-mail address and % e-mail address. Additionally, tag each line of % affiliation/address with \affaddr, and tag the \alignauthor Anton Eli\"{e}ns, Zhisheng Huang and Cees Visser\\ \affaddr{ Intelligent Multimedia Group\\ Vrije Universiteit, Amsterdam,\\ Department of Mathematics and Computer Science\\ De Boelelaan 1081, 1081 HV Amsterdam, Netherlands}\\ \email{{eliens,huang,ctv}@cs.vu.nl} } \date{} \date{} \maketitle -->
A variety of applications may benefit from deploying
embodied conversational agents, either in the form
of animated humanoid avatars or, more simply, as a 'talking head'.
An interesting example is provided by
Signing Avatar
Here the use of animated avatars is essential to communicate
with a particular group of users, using the sign language
for the deaf.
programming platform
scripting behavior
DLP+X3D
soccer rule
observer multi-user environments
multi-user soccer game
distributed game protocol
register accept, register wait, tell position, tell rotation, tell game score, reply game score, unregister game, reply unregister game, player gone ...
dialog
style parameters
basic actions
composite operators
example
interaction
XSTEP structure
structure
Requirements
There is a wide range of presentation platforms for embodied
conversational agents.
On one end of the spectrum we have digitized video,
as for example in the early versions of the
Ananova
As indicated in section 4, an environment meeting these requirements
may be used to create agent-based multi-user virtual environments.
We have a definite preference for a logic-based declarative language
that provides direct support for intelligent agents.
As we have shown in scripting behavior
As described in section 4.3,
we developed a scripting language STEP
that, to our belief, meets these requirements The DLP+X3D platform
In
We will explain each of these issues separately below.
In addition, we will indicate how multi-user environments
may be realized with our technology.
control points
This rule will only succeed when the actual distance
of the player to the goal and to the ball
satisfies particular conditions.
In addition to observing the state of the 3D scene
using the get predicate,
changes to the scene may be effected using the set
predicate.
event handling
multi-user virtual environments
The terminology, pilot and drone,
stems from the Living Worlds proposal,
to indicate the difference between the original object
(pilot) and the objects that replicate that object
(drones).
It extends the taxonomy of agents introduced in Case studies
To illustrate the potential of our DLP+X3D platform,
we will briefly sketch three case studies, respectively
a multi-user soccer game with autonomous player agents (fig. a),
the use of dialogs in VR presentations (fig. b),
and a scripting language for specifying
gestures and movements for humanoids (fig. c).
Multi-user soccer
The various aspects of our multi-user soccer game are reported
in more detail in
The soccer player agents each have a simple cognitive loop
based on the extended BDI model described in
(a) soccer game
Other message types include:
It is interesting to note that we may significantly optimize
on the communication load if we introduce additional
compound messages such as run & trace ball,
to replace a sequence of primitive messages.
(b) dialog in context Dialogs in Virtual Environments
Desktop VR is an excellent medium for presenting information,
for example in class, in particular when rich media
or 3D content is involved.
At VU, we have been using presentational VR
for quite some time, and recently we included dialogs
using balloons (and possibly avatars) to display the text
commenting on a particular presentation,
In figure (b), you see the left avatar (named cutie) step forward
and deliver her phrase. This dialog continues until cutie remarks that she always wanted to be an agent.
The dialog is a somewhat ironic comment on the contents of
the movie displayed, which is meant to introduce the VU to
potential students.
design issues
STEP -- a scripting language for embodied agents
Given the use of humanoid avatars to comment on the
contents of a presentation, we may wish to enrich
the repertoire of gestures and movements to be able,
for example, to include gestural comments or even
instructions by gestures.
These basic actions are translated into operations
on the control points as specified by the H-Anim 1.1 standard.
Notice that the Agent that is to perform the
movement is given as a parameter.
(Identifiers starting with a capital act as a logical parameter
or variable in Prolog and DLP.)
(c) walking humanoid
XML encoding
Similar as with the specification of dialog phrases,
such a specification is translated into the corresponding
DLP code, which is loaded with the scene it belongs to.
For XSTEP we have developed an XSLT stylesheet, using
the Saxon Evaluation criteria
The primary criterium against which to evaluate
applications that involve embodied conversational
agents is whether the application becomes more effective
by using such agents. Effective, in terms of communication
with the user.
Evidently, for the Signing Avatar application this
seems to be quite obvious.
For other applications, for example negotiation in e-commerce,
this question might be more difficult to answer.
Related work
There is an enormous amount of research dealing with
virtual environments that are in one way or another
inhabited by embodied agents.
By way of comparison, we will discuss a limited number of
related research projects.
Conclusions, future research
PRO
CON
TODO
In summary, we may state that our DLP+X3D platform is a powerful,
flexible and high-level platform for developing
VR applications with embodied agents.
It offers a clean separation of modeling and programming concerns.
On the negative side, we should mention that
this separation may also make development more complex
and, of course, that there is a (small) performance penalty
due to the overhead incurred
by using the External Authoring Interface.
references