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:
This will put you in the PLAYER group of the DROID account, from here you may RUN the the DROID game by entering:
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.