Battle Robots Version 1.0a is a alpha-version release of a project to
demonstrate variable-level temporal and spatial consistency protocols
within a distributed gaming environment, so that scalability can be
increased (allowing more users and more hosts to operate together)
without degradation in the responsiveness of the application. Battle
Robots is also a standalone game that you can play with your friends
over a network.

You can checkout the paper entitled, "Exploiting Temporal and Spatial
Constraints on Distributed Shared Objects", by Richard West, Karsten
Schwan, Ivan Tacic and Mustaque Ahamad (Proc 17th IEEE ICDCS
Conference, Baltimore, 1997), if you're interested in the research
issues and motivation behind this work.

Please feel free to modify, experiment, or simply play with this code
BUT PLEASE MENTION MY NAME WHEN YOU MODIFY IT OR SHOW IT TO OTHERS.

I AM NOT ABLE TO MAINTAIN THIS CODE DUE TO AN EXCESSIVELY BUSY
SCHEDULE BUT, IF YOU HAVE ANY COMMENTS, OR ARE WILLING TO PROVIDE ME
WITH CODE IMPROVEMENTS, BUG-FIXES ETC, THEN PLEASE LET ME KNOW.

My email address is: 'west@cc.gatech.edu' (Rich West), and my URL is:
'http://www.cc.gatech.edu/~west'.

Playing the game
----------------

Battle Robots is a tank game (well, the robots look like tanks anyway
:-), in which you, the user, must guide your tanks to the goal as
quickly as possible, while trying to avoid obstacles, such as trees
and rocks, and (most importantly) land-mines and enemy missiles. You get
more points:

1. By being first to the goal with your tanks.
2. By having a higher score shown on your tank (the score can be 1-10).
3. By getting more tanks home (i.e., not having them destroyed by
land-mines and enemy fire).

To start the game, click in the START box. Select 1-9 tanks in your
team.  There is a strategy to this: the more tanks you chose, the
less-likely you are of losing all tanks and scoring nothing but each
tank contributes less value to the total score of your team when it
reaches the goal.

To select one of your tanks, click any mouse button on a tank shown in
red (your tanks are always red and enemy tanks are always green. Enemy
tanks cannot be selected). The number on the tank is that tank's
score. The score is increased by moving over fuel dumps (which
disappear when you move over them), and is decreased by moving over
land-mines (which never disappear!) or by being hit by a missile.  If
a tank's score reaches 0, that tank is destroyed and cannot contribute
to your team's score, since it cannot reach the goal.

To control your selected tank:

1. Use the left mouse button to move in the direction the tank is
pointing,
2. Use the right mouse button to fire, and
3. Use the middle mouse button to rotate the tank. The spacebar
toggles the direction the selected tank rotates.

You can move between four battlefield quadrants by either:

1. Clicking the left mouse button in the bottom-right radar window,
2. by using the arrow keys in pairs (i.e., down-left, down-right, up-left,
up-right, to move to bottom-left, bottom-right, top-left, and top-right
quadrants, respectively), or
3. By clicking on the WINDOW menus.

If there's anything else I didn't tell you, find out for yourself by
playing the game :-) Let the games begin...

Enjoy!

Rich West.