Game2D explorations


The goal of this exercise is to install a software application called Game2D.  This game is a case study in Stiller  & LeBlanc's "Project-based Software Engineering" Chapter 6.  Here is a brief summary of the game features.

The author provides the source code in this zip file.

When I attempted to compile and execute the application I encountered several difficulties.  Diagnosing and repairing these problems is very instructional.  Submit a writeup describing the modifications you make as you follow the directions below.  (Note: You may encounter different errors than I did.  If you experience different error messages or other difficulties, just explain what you did to solve the problems).

1. When you unzip the distribution file you will find three files:

G2DLaunch.java
Game2Dclient.html
Game2Dclient.java
Compile the java files.  They should compile without error.

2. Start the game server: java G2DLaunch
No messages are displayed, so it's difficult to know if things are proceeding normally.
Terminate the server.
Modify the source code so that the server displays a message "Server is running" when the application is successfully initiated.

3. Start the game server: java G2DLaunch
In a separate window, start the client: appletviewer Game2Dclient.html
When the applet appears you will see a grid and a button.  Click the "Start Game" button.
At this point I received a run time exception:

java.security.AccessControlException: access denied (java.net.SocketPermission
oz.plymouth.edu resolve)

Diagnose and correct this error.  Don't forget to describe how you solved this problem.

4. Begin again, starting the server and the client.
Click the "Start Game" button.  On the console you should see a message saying that Game2D is starting for player Blue.
The server console will show "Spawning Player #1"

Open another window and start a second client.
Click the "Start Game" button. Observe a message saying that Game2D is starting for player Red.
The server console will show "Spawning Player #2" then immediately throws an exception:

java.lang.NoClassDefFoundError: Cell (wrong name: cell)

Diagnose and correct this error.  (Tip: note that Java is case sensitive, but some other systems are not).

5. When you finally get the game to run properly you may find, as I did, that the dots appear on the grid at a very rapid pace.  Perhaps my reflexes have slowed with age but I couldn't keep up with them.  Modify the code so that a new dot appears about once every second.