RobotWar is a programming game developed for the PLATO computer system in the 1970s by Silas Warner. In 1981 RobotWar was ported to the Apple II and published by MUSE Software. The aim of the game is to write a program to control the movement, radar and gun of a battle robot. Up to five robots are placed in a battle arena with the survivor being declared winner.

Specification

Programs are written in small, custom language which controls the robot using 8 i/o registers. Labels are up to 32 characters terminated by a newline. The following commands and registers are supported:

CommandDescription
;The remainder of this line is a comment
<arg>Store the value of <arg> in the accumulator
TO <reg>Store the value of the accumulator in <reg>
+ <arg>Add <arg> to the accumulator
- <arg>Subtract <arg> from the accumulator
* <arg>Multiply the accumulator by <arg>
/ <arg>Divide the accumulator by <arg>
IF <arg> < <arg>If the first <arg> is smaller…
IF <arg> > <arg>If the first <arg> is larger…
IF <arg> = <arg>If the <arg>s are equal…
IF <arg> # <arg>If the <arg>s are unequal…
GOTO <arg>Go to <arg>
GOSUB <arg>Call a subroutine at <arg>
ENDSUBReturn from a subroutine
#RegisterDescription
1–23A–WGeneral purpose
24XCurrent x-coordinate (0..256)
25YCurrent y-coordinate (0..256)
26ZGeneral purpose
27AIMAngle of the gun (0..359)
28SHOTSet to distance to shoot, returns status of gun
29RADARSet to angle to scan, returns distance to wall/robot
30DAMAGEDamage status (0..100)
31SPEEDXHorizontal speed (-255..255)
32SPEEDYVertical speed (-255..255)
33RANDOMSet to limit, returns a random number (0..limit)
34INDEXThe register number to be used by DATA
N/ADATAUses INDEX to access a register by number

Robots battle in a 260×260 metre arena (x- and y-coordinates are in the range 0..256). The DAMAGE register starts at 100 and drops every time the robot is attacked or collides with something. A robot is destroyed when DAMAGE reaches 0.

The complete specification is available in the RobotWar manual.

Tutorials

The RobotWar manual has a step by step guide to the language of robots.

The Key Summary and Programming Instructions contains a brief description of the controls and language.

Speeding Up Your Robot by Richard Fowell is a tutorial on instruction timings and optimising for speed.

RobotWar Gun and Radar Behavior by Richard Fowell examines the finer details of robot warfare.

Software

RobotWar was published on a 5.25″ disk for the Apple II / II+, priced $39.95. Early versions restricted the INDEX register so it could only access registers AZ. Later versions allows INDEX to access all registers.

rwdc.c is a decompiler to recover a robot program's source code from its object code. A Windows binary is available.

The following robot programs are available:

Bell, Bolo, Bug, Corn1b, Cornr1c, Echo, G.I.Joe, Gnat, Indian2, Killer, Lemuel, Lobo, Maniac, Master, Mustang, Norden2, Old Kro, Omar, qx4, Ralph, Remover, Robby, Samoth, Sample, Scoot, Scoot2, Sentry2, Slinky, Smokin, Spiro, Stalker, Tojo, Twoshot, Walter, Yeah, Zero

CGW Tournaments

The First Computer Gaming World RobotWar Tournament was held in 1982. Norden+ claimed first prize for Richard A. Fowell, who won the RobotWar trophy and a RobotWar t-shirt.

In 1983 CGW held their second RobotWar Tournament. 12 robots entered, with Dragon by Doug Hogg taking first place. Second place went to Corner by David A. Jones, with Hot Rod and Norden B tied for third. A disk of the entries was available for $10.

The Third Annual CGW RobotWar Tournament received 17 entries. Dragon4A by Doug Hogg and Mustang by Stanley Chen shared first place, winning their creators $50 and a RobotWar trophy. A disk containing the entries was available for $15.

12 robots entered the Fourth Annual CGW RobotWar Tournament in 1985. Newman Lowe claimed first place with his robot Nobody, winning the RobotWar trophy.

The Postal RobotWar Club of America

Frank Krogh formed the Postal RobotWar Club in July 1982 to sponsor tournaments for players unable to attend the Burbank / UCLA RobotWar meetings. Robots were awarded the titles master, champion and grand champion as they progressed through the levels. The club also offered a lightweight tournament for robots under 150 instructions and a team tournament.

Standard tournament results:

#DateWinner
1Oct 1982Stalker by Pat Bachelder
2Nov 1982Norden2 by Richard Fowell
3Dec 1982Samoth by Tom Schai
4Jan 1983???
5Feb 1983???
6Mar 1983Mr Maim by James Marca
7Apr 1983Aussi2 by Bryan Johnson
8May 1983Sloturer by Aaron Inami
9Jun 1983Remover by Newman Lowe
10Jul 1983Serpent by Robert Hogg
11Aug 1983Omni B by Frank Krogh
12Oct 1983Slinky by Frank Krogh
13Dec 1983Lobo by Newman Lowe
14Feb 1984Bully by Frank Krogh
15Apr 1984George 4 by Frank Krogh
16Jun 1984George 9 by Frank Frogh
17Aug 1984Indian 3D by Stanley Chen
18Oct 1984Indian 3 by Stanley Chen
19Dec 1984Seeker by Frank Krogh
20Mar 1985Nobody by Newman Lowe
21Jun 1985Bodashus by Newman Lowe
Apple II: RobotWar - title screen Apple II: RobotWar - the Battlefield of the Future screenshot Apple II: RobotWar - test bench screenshot

References

  1. Taylor Rollo, Mary. "Robot War: Strategy for Learning." Softtalk 1.5 (Jan 1981): 18–20.
  2. Voskuil, Jon. "Robotwar." SoftSide 4.12 (Sep 1981): 92–93.
  3. Lubar, David. "Robotwar." Creative Computing 7.10 (Oct 1981): 68–69.
  4. White, Harry. "Robot War." The Space Gamer 45 (Nov 1981): 4.
  5. Edmunds, William. "Robotwar: A Wargame for All Programmers." Computer Gaming World 1.1 (Nov–Dec 1981): 13–16,33.
  6. "Computer Gaming World's Robotwar Tournament." Computer Gaming World 1.1 (Nov–Dec 1981): 17.
  7. Feigel, Curtis. "Robotwar." BYTE 6.12 (Dec 1981): 24–34.
  8. Fowell, Richard. "Norden+, Robot Killer." Computer Gaming World 2.2 (Mar–Apr 1982): 25–26.
  9. Hunter, David. "Olympic Metals: The RobotWar Tournaments." Softline 1.6 (Jul 1982): 28–30.
  10. "Announcing The Second Annual Robotwar Tournament." Computer Gaming World 2.5 (Sep–Oct 1982): 21.
  11. "Robotwar: Tournament Results." Computer Gaming World 3.2 (Mar–Apr 1983): 30–31.
  12. "Third Annual CGW Robotwar Tournament." Computer Gaming World 3.6 (Dec 1983): 12.
  13. "We Have a Draw! Robotwar Tournament Results." Computer Gaming World 4.2 (Apr 1984): 36.
  14. "4th Annual Robotwar Tournament." Computer Gaming World 5.1 (Jan 1985): 9.
  15. "Nobody Wins 4th Annual CGW Robotwar Tournament." Computer Gaming World 5.3 (Jun–Jul 1985): 9.