MiMaze Home page
Download MiMaze 3D
Internet - VRML - Multicast - EAI - Java
MiMaze3D is the VRML extension of MiMaze,
a totally distributed game on the Internet, using multicast communication
between players. MiMaze3D uses the External
Authoring interface to allow the external Mimaze application to access
nodes in the VRML maze.
Screen shots :
MiMaze communication architecture :
Error and congestion control by dead
Scalable control Algorithms
3D extension :
MiMaze3D runs with CosmoPlayer 2.x plug-in for Netscape Communicator 4.x under Windows 98/NT.
We use the
Real-time VRML navigation via
the External Authoring Interface
External Authoring Interface of the VRML browser to instanciate, move
and remove dynamically the avatars in the
VRML scene. All these operations are done from a Java applet (see below)
embedded in the same HTML page.
MiMaze3D applet utilizes two different connections with the MiMaze standalone
application. Both connections
UDP/TCP connections management
use standard Internet protocol.
The TCP reliable connection transmits vital "join and leave" information
the UDP connection takes care of avatar motion.
The MiMaze3D architecture was designed to reduce communication delays
as much as possible. The applet has
Optimal Applet-Application interaction
been optimized to minimize the delay before the display of the 3D graphics.
We have developped a multi-threaded Java applet to:
Networks and graphics events scheduling
- receive avatar positions and orientations from a UDP socket
- receive "join and leave" information from a TCP socket
- react to the user selections for navigation type
- access the VRML nodes
- modify the 3D scene
Therefore we have designed a specific scheduling algorithm to maximize
the realtimeliness of the application.
A participant can control his avatar both from an external view of the
3D maze and from an internal view (where the
External and internal navigation
viewpoint is always set so that the user could play the game through the
eyes of his avatar). The participant can
dynamically switch from one view to the other.
CosmoPlayer uses OpenGL library for rendering. Therefore a good 3D
graphic card will boost
Full 3D graphics with possible hardware
MiMaze 3D graphical performance.
Mpeg-1 scenes (audio and video) can be mapped on the maze walls. In the
current version of MiMaze,
Mpeg-1 scenes are transmitted locally (and not through the network).