Building the Mediatoy Using WINCVS

email: support@openmediagroup.com

August 03 1999

1. Parts Needed,

Before you begin this process you will need most of the pieces below:

  1. Windows ( commercial - www.microsoft.com )
  2. WinCVS ( www.wincvs.org )
  3. TCL8.1 ( www.scriptics.com )
  4. Make ( www.cygnus.com )
  5. Java 1.2 ( www.javasoft.com )
  6. Java3D 1.1 ( www.javasoft.com )
  7. MathEngine ( www.mathengine.com )
  8. Optionally - Visual Studio ( commercially available at www.microsoft.com )
  9. Optionally - SoftImage, Lightwave, 3DSMAX, SGI Alias or Cosmoworlds ( commercially available from their respective vendors )

We will be porting this application to Linux at some point.

2. Using WinCVS,

WinCVS is an implementation of CVS ( Concurrent Version Control ). CVS is the way we communicate with each other. It allows us to collaboratively work on the same code at the same time, and it automatically merges code on the fly

Also, you may want to read the CVS documentation just to grok the mindset of whats going on here. Generally speaking the work habit is that you:

  1. Checkout the repository - giving yourself a local copy of what is on the server.
  2. Make changes locally on your copy as desired.
  3. Re-checkout the repository to get syncronized with anything that happened while you were working,
  4. Test the merge locally
  5. Commit all changes that you made back to the server.

Only core developers are granted write access to the CVS repository. If you have those permissions then you will be expected to make sure that your commits do not break the build - that other people checking out the repository subsequent to you will at least have a running version of the application.

Do not worry about CVS damaging files that you have modified. CVS will not overwrite or destroy text that you have written, even if it is in a file which was modified remotely. If you're paranoid that it may do this ( possibly because of some strange fiddling you've done with getting older revisions etcetera ), then make a backup of your local image of the repository before invoking CVS.

To install the package using CVS you will follow a process similar to the following:

1) Make space on the c:\ drive of your Windows based computer.

2) Make a directory called c:\MeOMG

3) Get WinCVS from www.wincvs.org . The latest versions will look slightly different from the pictures below.

4) Get an account by mailing support@openmediagroup.com. Or use the anonymous account ( not documented yet ).

5) Goto the preferences setting. Set your CVSROOT to be your name followed by "@openmediagroup.com:/usr/local/cvsroot.

6) Set your authentication mode to be ""passwd" file on the cvs server". CVS will at some point say: "NEW CVSROOT: yourname@openmediagroup.com:/usr/local/cvsroot (password authentication)".

7) Goto your globals settings. Turn off "checkout read only". It's a neurotic setting and is a hassle to deal with.

8) Login. WinCVS will print the message something like: "login (Logging in to yourname@openmediagroup.com)". If it works it will say "*****CVS exited normally with code 0***** ". Otherwise email us.

9) Set your current working directory to "c:\MeOMG". The directory that appears on the left side of WinCVS should be the c:\MeOMG directory and it should be open. No other directories should be open. Typically it is recommended to *always* leave CVS pointing at this directory.

10) Checkout the "mediatoy" module by first selecting "checkout module". Set your directory to "c:\MeOMG" when it asks here.

3. Path settings

There are all kinds of fiddly path settings that you will need to deal with. In particular many computers seem to have a hard time finding the Java3D. Java3D and JDK1.2 apparently do not need CLASSPATH settings at all, however I have not found this to be true. Also, I have found on some machines that regardless of if the J3D is in the path or not, it will not be found. In this case what has worked for me is to unpack the J3D components using WinZip, and then placing them on the system root directory and adding that to the CLASSPATH. This is all mysterious dead chicken waving to me but hopefully will be sorted out later. Here is part of my c:\autoexec.bat:

CLASSPATH=c:\jdk1.2\lib;c:\jdk1.2\lib\vrml97.jar;c:\jdk1.2\lib\ext\j3dcore.jar;c:\jdk1.2\lib\ext\j3dutils.jar;.
PATH c:\jdk1.2\bin;c:\windows\command;c:\windows
ME_DIR=c:\mathengine

Also note that I do include references to the cygnus environment itself and to Visual C++. Both of these packages provide their own path batch files.

4. Compiling

Congrats. Now you have the repository, and everything that you need to build the game. Well, in fact there is in fact a bit of C++ glue but that is provided precompiled. If you wish to compile that piece you will need to purchase Visual Studio from Microsoft. Later we will port this piece to GCC.

Compile the game by going into the MeOMG directory and typing 'make' from an MS-DOS command prompt.

Running the game

Run the game by typing 'make run' or by going into the obj folder and typing 'java MeOMG.mediatoy.ui.Viewer'.

Controls

The mouse controls the ball. Keys one through seven switch to different levels. Each level has a goal which must be accomplished to successfully win that level and automatically advance to the next level.

Notes and Caveats

1) Make. There is a copy of 'make' included in the MeOMG/mediatoy/bin folder. It may not be current by the time you read this, and it may require other cygnus components.

2) MathEngine. There is a copy of MathEngine itself imbedded in the MeOMG/mediatoy/mathengine folder. In fact it is this copy that the game uses for its includes and for its dlls. The reason being is that the CVS repository of the game operates against a specific release of MathEngine, and this is the best way to keep them syncronized. You are still obligated to download MathEngine directly from the MathEngine site however because you must obtain a license key to enable MathEngine. Currently the license for MathEngine is that it is freely available for non-commerical use.

3) Web3D VRML and SunSoft Java3D extensions. These are included in the MeOMG/mediatoy/com and MeOMG/mediatoy/vrml folders. You will probably find that you have difficulty building the application if these are not in the java compiler class path. This is not dealt with well yet, and our solution is to just keep multiple copies around. It will be fixed soon.

4) We are still working on the game. So this is a pre-alpha release ( at the time of this writing ). Please email us so that we can improve this document. Or better yet, make changes to it and send it back to us to commit into the web page repository.

support@openmediagroup.com