Arena is a programming game created by Richard Brown and released as shareware for DOS in 1985. The aim of the game is to design and program a team of up to six robots which attempt to eliminate the opponent's team in a battle arena.

Specification

Robots have 10 design points which can be allocated to the CPU, weapons and armour. Programs are written in CASM (Cyborg Assembly Language), maximum program length = 8 × CPU design points. There are 26 registers :A:Z. The following commands and control registers are supported:

CommandDescription
;The remainder of this line is a comment
NOPDo nothing
MOV <arg>Move in direction <arg>
GUN <arg>Fire in direction <arg>
RAD <arg> <arg>Scan, first <arg> is direction, second is range
MSG <str>Display <str> on the screen
SET <reg> <arg>Set <reg> to <arg>
ADD <reg> <val>Add <val> to <reg>
SUB <reg> <val>Subtract <val> from <reg>
MUL <reg> <val>Multiply <reg> by <val>
DIV <reg> <val>Divide <reg> by <val>
CMP <arg> <arg>Set :C to the first <arg> minus the second
JMP <addr>Jump to <addr>
JEQ <addr>Jump to <addr> if :C = 0
JGT <addr>Jump to <addr> if :C > 0
JLT <addr>Jump to <addr> if :C < 0
DJZ <addr> <arg>Jump to <addr> <arg> times
JSR <addr>Call a subroutine at <addr>
RTSReturn from a subroutine
ENDEnd of program, jump to address 1
RegisterDescription
:CResult of the last CMP command
:DDirection of the last MOV command
:FDirection of the last GUN command
:GA random number (0..7)
:HDamage sustained
:KCount for DJZ command
:LLimit for DJZ command
:MMaximum damage
:PProgram counter
:RRange of the last object scanned
:SType of the last object scanned (-3..1)
:TDirection of the last RAD command
:XCurrent x-coordinate (1..68)
:YCurrent y-coordinate (1..20)

Robots battle in a 68×20 arena. A robot is damaged every time it's attacked or collides with something and destroyed when :H (damaged sustained) reaches :M (maximum damage).

The complete specification is available in the Arena manual.

Tutorials

The Arena manual includes a detailed description of CASM. See also the errata and instructions for the editor and lister.

The Arena Programmer's Hint Sheet contains a summary of the opcodes and registers.

Software

Arena was published as shareware for the PC, priced $10–$30. Registered users received a colour version, the Electric Gladiator newsletter and source code in Turbo Pascal. Versions were also announced for the Apple II, CP/M and Amiga.

The following robot programs are available:

Arena v2.1 for the PC by Richard Brown