DROID


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, just e-mail me, Tracy Johnson, and I'll 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.

Go to HP e3000 Busines Servers Page Return to Top of Page Go to Apache for MPE/iX Page
Back To Empire On The HPe3000 Page