- Core War
- Programming Games
- RobotWar
RobotWar is a programming game developed for the PLATO computer system at Indiana University in the 1970s by Silas Warner. In 1980 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. The original PLATO game placed two robots in a battle arena with the survivor being declared winner. The Apple II release supported up to five robots in the arena.
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:
Command | Description |
---|---|
; | 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> |
ENDSUB | Return from a subroutine |
# | Register | Description |
---|---|---|
1–23 | A–W | General purpose |
24 | X | Current x-coordinate (0..256) |
25 | Y | Current y-coordinate (0..256) |
26 | Z | General purpose |
27 | AIM | Angle of the gun (0..359) |
28 | SHOT | Set to distance to shoot, returns status of gun |
29 | RADAR | Set to angle to scan, returns distance to wall/robot |
30 | DAMAGE | Damage status (0..100) |
31 | SPEEDX | Horizontal speed (-255..255) |
32 | SPEEDY | Vertical speed (-255..255) |
33 | RANDOM | Set to limit, returns a random number (0..limit) |
34 | INDEX | The register number to be used by DATA |
N/A | DATA | Uses 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 A
–Z
.
Later versions allow 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:
- Bottom, Mover, Random, Scanner and Target (included on the RobotWar disk).
- Hector II by Larry Farrell and Mark Hougaard (published in Interface Age, Nov 1981).
- Bottom Killer, George and Test by Bill Edmunds (published in Computer Gaming World, Nov–Dec 1981).
- Norden+ by Richard Fowell (published in Computer Gaming World, Mar–Apr 1982).
- Dragon by Doug Hogg (published in Computer Gaming World, Mar–Apr 1983).
Bell, Blaster, Bolo, Bug, Corn1b, Cornr1c, Deathbot, Echo, Framer, G.I.Joe, Gnat, Indian2, Killer, Killer, Lemuel, Lobo, Maniac, Master, Mustang, Norden2, Old Kro, Omar, qx4, Ralph, Remover, Robby, Samoth, Sample, Sample Robot, Scoot, Scoot2, Sentry2, Sidebot, Slinky, Smokin, Spiro, Stalker, Super Robot, Tojo, Twoshot, Ultima, Walter, Yeah, Zap, 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:
# | Date | Winner |
---|---|---|
1 | Oct 1982 | Stalker by Pat Bachelder |
2 | Nov 1982 | Norden2 by Richard Fowell |
3 | Dec 1982 | Samoth by Tom Schai |
4 | Jan 1983 | ??? |
5 | Feb 1983 | ??? |
6 | Mar 1983 | Mr Maim by James Marca |
7 | Apr 1983 | Aussi2 by Bryan Johnson |
8 | May 1983 | Sloturer by Aaron Inami |
9 | Jun 1983 | Remover by Newman Lowe |
10 | Jul 1983 | Serpent by Robert Hogg |
11 | Aug 1983 | Omni B by Frank Krogh |
12 | Oct 1983 | Slinky by Frank Krogh |
13 | Dec 1983 | Lobo by Newman Lowe |
14 | Feb 1984 | Bully by Frank Krogh |
15 | Apr 1984 | George 4 by Frank Krogh |
16 | Jun 1984 | George 9 by Frank Frogh |
17 | Aug 1984 | Indian 3D by Stanley Chen |
18 | Oct 1984 | Indian 3 by Stanley Chen |
19 | Dec 1984 | Seeker by Frank Krogh |
20 | Mar 1985 | Nobody by Newman Lowe |
21 | Jun 1985 | Bodashus by Newman Lowe |
References
- Softtalk 1.5 (Jan 1981): 18–20. "Robot War: Strategy for Learning."
- SoftSide 4.12 (Sep 1981): 92–93. "Robotwar."
- Creative Computing 7.10 (Oct 1981): 68–69. "Robotwar."
- Interface Age 6.11 (Nov 1981): 24, 156. "Game Corner: Robotwar."
- The Space Gamer 45 (Nov 1981): 4. "Robot War."
- Computer Gaming World 1.1 (Nov–Dec 1981): 13–16,33. "Robotwar: A Wargame for All Programmers."
- "Computer Gaming World's Robotwar Tournament." Computer Gaming World 1.1 (Nov–Dec 1981): 17.
- BYTE 6.12 (Dec 1981): 24–34. "Robotwar."
- Computer Gaming World 2.2 (Mar–Apr 1982): 25–26. "Norden+, Robot Killer."
- Pom's 4 (Jui 1982): 48. "RobotWar."
- Softline 1.6 (Jul 1982): 28–30. "Olympic Metals: The RobotWar Tournaments."
- "Announcing The Second Annual Robotwar Tournament." Computer Gaming World 2.5 (Sep–Oct 1982): 21.
- "Robotwar: Tournament Results." Computer Gaming World 3.2 (Mar–Apr 1983): 30–31.
- "Third Annual CGW Robotwar Tournament." Computer Gaming World 3.6 (Dec 1983): 12.
- "We Have a Draw! Robotwar Tournament Results." Computer Gaming World 4.2 (Apr 1984): 36.
- Call — A.P.P.L.E. 7.9 (Sep 1984): 45. . "RobotWar — Review and Challenge."
- "4th Annual Robotwar Tournament." Computer Gaming World 5.1 (Jan 1985): 9.
- "Nobody Wins 4th Annual CGW Robotwar Tournament." Computer Gaming World 5.3 (Jun–Jul 1985): 9.