multimedia @ VU
[]
readme
titles
system
demo
dlp
vr
slides
resources
3D Agent-based Virtual Communities

agents

3D Agent-based
Virtual Communities
Zhisheng Huang
Anton Eliens
Cees Visser
Vrije Universiteit, Amsterdam

structure
- background -- the WASP/RIF project
- agents in virtual worlds -- agent communication
- programming platform -- DLP+VRML
- case study -- multi-user soccer
- conclusions and future research

WASP
Web Agent Support Program

RIF
Retrieval of Information
in virtual worlds
using Feature detectors

RIF + WASP
- distributed logic programming -- uniform platform
- agent technology -- subsumes multi-user server

agents in virtual environments
- virtual environments with embedded autonomous agents
- virtual environments supported by ACL communication
ACL = Agent Communication Language

shared objects
- pilot -- instance that will be replicated
- drone -- instance that replicates pilot

- pilot agents -- control state of a shared object
- drone agents -- replicate the state of a shared object

agents
- object agents -- controls a single shared object (like the soccer ball)
pilot at server, drone at client
- user agent -- controls users' avatar
pilot at user side, drone at server or clients
- autonomous agents -- like football player, with own avatar
pilot at server, drone at clients

programming platform
- VRML EAI support
- distributed communication capabilities (TCP/IP)
- multiple threads of control -- for multiple shared objects
- declarative language -- for agent support

DLP
Distributed Logic Programming

control points
- get/set -- position, rotation, viewpoint
findHowToReact(Agent,Ball,Goal,shooting) :-
get(Agent,position,sfvec3f(X,Y,Z)),
get(Ball,position,sfvec3f(Xb,Yb,Zb)),
get(Goal,position,sfvec3f(Xg,Yg,Zg)),
distance(sfvec3f(X,Y,Z),sfvec3f(Xb,Yb,Zb),DistB),
distance(sfvec3f(X,Y,Z),sfvec3f(Xg,Yg,Zg),DistG),
DistB =< kickableDistance,
DistG =< kickableGoalDistance.


multi-user soccer game
- multiple (human) users -- may join during the game
- multiple agents -- to participate in the game (e.g. goalkeeper)
- reactivity -- players (users and agents) have to react quickly
- cooperation/competition -- requires intelligent communication
- dynamic behavior -- sufficiently complex 3D scenes, including the dynamic behavior of the ball

football
END OF GAME
powered by DLP

cognitive loop
roles
- goal keeper
- defender
- mid-fielder
- forward
condition

distributed game protocol
[ Act, Type, Parameters ]
- register game: [ register, game_name, from(Host) ]
- tell new player: [ tell, new_player, user(Host,Name) ]
- tell kick ball: [ tell, kick_ball, [ user(Host,Name), force(X,Y,Z) ] ]
- ask game score: [ ask, game_score, user(Host,Name) ]
register accept, register wait, tell position, tell rotation, tell game score, reply game score, unregister game, reply unregister game, player gone ...
performance improvement
- compound messages: run and trace

conclusions
virtual environments with intelligent agents offer a general solution to shared objects and autonomous creatures in VRML worlds.

DLP+VRML
pro
- high level platform -- flexible and powerful
- clean separation of (modelling and programming) concerns
con
- added complexity
- (some) performance penalty

future work
- animation of faces and avatars
- ....
www.cs.vu.nl/~eliens/research

[]
readme
titles
system
demo
dlp
vr
slides
resources