CroftSoft / Portfolio

Tag3D

1999-02-07


Index

Description

A prototype multi-user online virtual reality using Java 3D and RMI.

New and Updated

A Tag3D source code tutorial is now available: "Java 3D with RMI".

Limitation of Liability

IN NO EVENT WILL ORBS OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, RELATING TO THE USE, DOWNLOAD, DISTRIBUTION OF OR INABILITY TO USE SOFTWARE, EVEN IF ORBS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Download

The distribution file, tag3d.zip, includes the compiled bytecode, images, and documentation.

The latest source code is available at the ORBS Open Source page.

Installation

  1. Install Java 1.2.
  2. Install Java 3D 1.1.
  3. Unzip the tag3d.zip file into a new directory.
    Example:
    
         mkdir C:\tag3d
    
         copy C:\windows\desktop\tag3d.zip C:\tag3d\tag3d.zip
    
         C:
    
         cd C:\tag3d
    
         unzip tag3d.zip
    
         

Execution

  1. Move to the Tag3D directory. It should contain Tag3D.jar and the images subdirectory.
    Example:
    
         C:
    
         cd C:\tag3d
    
         
  2. Choose the mode of operation you wish to run the program in and follow the steps below.

Local Mode

In local mode, you can fly solo through a virtual space without an Internet connection.

  1. Enter the following at command-line prompt:
    
         java -jar Tag3D.jar
    
         

Client and Server Mode

In client and server mode, your program process acts as both a client window in which you can interact and as a state server for other remote and local clients.

  1. For use by the RMI Registry, append Tag3D.jar to your classpath.
    Example:
    
         set classpath=Tag3D.jar
    
         
  2. Start or restart the RMI Registry.
    Example:
    
         start rmiregistry
    
         
  3. Run the Tag3D class with two arguments, the name of your client process object and the name of your server process object.
    Example:
    
         java -jar Tag3D.jar tag3d_client_0 tag3d_server
    
         
  4. If you wish, you may fire up additional local client windows. As you move around in one window, a block with a face on it will float around in the others. Note that the additional clients will need to be run from separate DOS windows.
    Example:
    
         java -jar Tag3D.jar tag3d_client_1 tag3d_server
    
         java -jar Tag3D.jar tag3d_client_2 tag3d_server
    
         

Client Mode

In this mode, your client window sends and receives state changes from another local or remote process that was launched using either "client and server" mode or "server" mode.

  1. For use by the RMI Registry, append Tag3D.jar to your classpath.
    Example:
    
         set classpath=Tag3D.jar
    
         
  2. Start or restart the RMI Registry.
    Example:
    
         start rmiregistry
    
         
  3. Run the Tag3D class with two arguments, the name of your client process object and the name of the server process object. If the server process is on a remote host, precede the server name with the host name using this format:
    "//hostname/server_object_name". Example:
    
         java -jar Tag3D.jar tag3d_client_1 //www.orbs.com/tag3d_server
    
         

Server Mode

In this mode, your process acts as a receiver and broadcaster of the state changes without an interactive client window. This process would typically run continuously in the background as a service to local and remote clients.

  1. For use by the RMI Registry, append Tag3D.jar to your classpath.
    Example:
    
         set classpath=Tag3D.jar
    
         
  2. Start or restart the RMI Registry.
    Example:
    
         start rmiregistry
    
         
  3. Run the StateMulticasterProxy class with a single argument, the name of your server process object.
    Example:
    
         java -cp Tag3D.jar com.orbs.open.a.util.state.StateMulticasterProxy tag3d_server
    
         

Use

Keyboard Control

The arrow keys will translate and rotate your view in six degrees of freedom. The spacebar will translate your view to your relative right.

Mouse Control

In this test release, you can "jiggle" head objects by dragging your mouse on them.

Program Termination

To end the program, press Control-C at the DOS console.

Source Code Tutorial

A Tag3D source code tutorial is available: "Java 3D with RMI".

Future Features

Feedback

Send your questions and comments regarding this program to David Wallace Croft.