This game is from the 1985 Interex tape and was originally developed at Reichhold Chemicals as a teaching tool. Albeit the inspiration came from the PC version of "Robotwar" published in BYTE magazine in 1981.
Given the recent popularity of "Battlebots" on the Comedy Channel (this was written in February 2001,) this game may provide some insight to those unfamiliar with programming assembler the difficulty those who program real-life robots must undergo.
User Instruction's:HELLO <yourname>,PLAYER.DROID
This will put you in the PLAYER group of the DROID account, from here you may RUN the the DROID game by entering:
/DROID/PLAYER:>RUN DROID.PUB
When prompted for Enter DROID name: You may use any of the four demo robots provided, CLINT, BOTTOM, GUN45, or MOVER. Or you may use the HPe3000 file EDITOR to develop your own DROID.
To QUIT the game, enter a CONTROL-Y or DISCONNECT the TELNET or NS/VT session.
If you feel the need to protect your own developed DROIDs in your own personal group, contact the system administrator, to build your own password protected HOME group for you, to develop and hold your own DROIDs.
A portion of the User's Guide instruction is listed below. If you want to program your own DROIDs, you really, REALLY need to read the User's Guide
BACKROUND AND OVERVIEW
DROID was developed as a teaching project. In our case, our
programmers learned some of the considerations involved in designing
a computer instruction set, an assembler, and a time-sharing
operating system as well as many aspects of real-time programming.
The game itself is not original. We started from an article in BYTE
Magazine ("ROBOTWAR", December 1981) which describes a game written
for the Apple II called "Robotwar" by Muse Software. The software
review article by Curtis Feigel, Technical Editor, describes that
game well. The following section is a liberal paraphrase of the
beginning of that article:
+"Welcome to the Battlefield of the Future!"
___________________________________________
" ... [DROID] falls into the realm of multimachine games, where
the computer is not an adversary but a vehicle for two or more
humans to compete in a manner that would otherwise be impossible.
Games for More Than One Person
"In 'Multimachine Games' (see the December 1980 BYTE, page 24),
Ken Wasserman and Tim Stryker identified three factors that make
games fun:
o More than one human player is involved.
o Success in the game hinges on proper application of available
information.
o The major constraints are not the game rules but the player's
fleetness of mind and hand.
"Like football and some other popular sports, [DROID] embodies all
three quite fully.
"As many as [seven] robots can be placed in the [DROID] arena
simultaneously; each robot is identical but for the program you
provide. The arena is a [3400 by 6300 yard rectangle] with
impregnable walls; spectators view from above. ... While the
robot is in the arena, its program is in complete control. There
is nothing you can do but watch from above.
"Perhaps the most remarkable aspect of this game is that, unlike
chess, playing against yourself can be fun. As the programmer,
your robot creation (and a little bit of you) is in the arena and
lives or dies as a result of your analysis of the problems
involved. One robot may fall prey to another, but it is the
programmer who vicariously feels the pain, even if one person
programmed both.
Programming for War
"The robots themselves can be imagined as consisting of a square
chassis with powered, tank-like treads. The chassis is equipped
with a gun that swivels 360 degrees and a narrow-beam radar unit
that swivels to detect walls and other robots. Of course, a
computer is located somewhere within the armored hull. Each of
these components has a few interesting features that make
programming the robot a challenge, and some trial-and-error work
is involved.
"Each robot has 24 general-purpose storage registers and 10
control registers (see [the following table]). The storage
registers are referred to by letter of the alphabet and are
employed in a manner similar to variables in BASIC and other
high-level languages [assembler in DROID]. The control registers
are referred to by function name and either control some robot
function or provide information from sensors.
"Motion is controlled by storing numbers in the SPEEDX and SPEEDY
registers. These registers set the robot's speed in the
east/west and north/south directions respectively ... Maximum
speed is obtained when the value [10,000] or [-10,000] is placed
in the registers, with sign indicating direction. Of course, the
robot has mass and inertia, so it's always necessary to allow for
acceleration and deceleration times in your programming.
"To fire the robot's gun, first store a degree value in the
[TURRET] register to swivel the gun. When a distance is sent to
the SHOT register, the gun is fired, and the shell explodes at
the distance set. After a shot, the gun must be allowed to cool.
When the temperature reading stored by the gun mechanism in the
[TURRET] register reaches [100 degrees] the gun is ready to fire
again.
"The radar unit sends out a narrow-beam pulse when a degree value
is stored in the RADAR register. The value returned in the
register indicates the distance to a detected object. If it is
positive, the object is a [robot]. If it is negative, the object
is a [wall]. By first detecting another robot with the radar and
then transferring the position and distance information to the
[TURRET] and SHOT registers, your robot can intelligently seek
out and destroy other robots.
"You can check on any damage to your robot via the DAMAGE
register. This contains the percent damage that robot can yet
sustain. Should this register reach zero, your robot explodes,
disappearing from the arena. There is also a RANDOM register for
accessing a random number generator.
Conclusions
"As a spectator sport, [DROID] is merely interesting. People who
play it, however, may become obsessed.
"[DROID's assembly language is fairly easy to learn]. Enough
possibilities exist to challenge a veteran programmer for hours
[days, months ...]
"[DROID] is more than just a game. It can be used as an
educational tool to teach the fundamentals of programming and
process control.