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 :

Click here to see a global MiMaze-MiMaze3D screen shot !

Features : Architecture :
3D extension :              MiMaze3D runs with CosmoPlayer 2.x plug-in for Netscape Communicator 4.x under Windows 98/NT. We use the
             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
             use standard Internet protocol. The TCP reliable connection transmits vital "join and leave" information whereas
             the UDP connection takes care of avatar motion.              The MiMaze3D architecture was designed to reduce communication delays as much as possible. The applet has
             been optimized to minimize the delay before the display of the 3D graphics.              We have developped a multi-threaded Java applet to:

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