In a programming game the players write programs to compete against each other, usually with the aim of wiping out all opponents. The encounter normally takes place between programs in the memory of a virtual computer or robots in an arena.

Program-Based Programming Games

Darwin
In August 1961 Victor Vyssotsky invented Darwin, the first programming game. Programs written in IBM 7090 machine code compete to be the most prolific replicator.
Core War
Alexander Dewdney described Core War in the May 1984 issue of Scientific American. Core War is played between assembly programs in the memory of a virtual computer.
Struggle
Christian Queinnec presented Struggle at EuroPAL in March 1990, a game played between two programs in a language based on Scheme.
CoreLife
Brent Adams published CoreLife for the PC in 1993. CoreLife is played in a 100×100 memory grid by programs written in a two-dimensional programming language.

Robot-Based Programming Games

RobotWar
Silas Warner created the original version of RobotWar for the PLATO computer system in the 1970s. A later version was released for the Apple II by MUSE Software in 1980.
Color Robot Battle
The Image Producers published Color Robot Battle in 1981 for the TRS-80 Color Computer. The game is played by writing programs in a simple hybrid of BASIC and Logo.
Robot
Robot is a programming game for the Sol-20 written by Ray G White in 1983.
DROID
DROID was developed as a teaching aid for the HP 3000 at Reichhold Chemicals in 1984. The game is played by writing programs in an assembly-like programming language.
Arena
Richard Brown released Arena for the PC in 1985. The aim is to write a program in an assembly-like programming language to control a team of up to 6 battle robots.
CROBOTS
In 1985 Tom Poindexter published CROBOTS for the PC. Programs to control the battle robots are written in a subset of the C programming language.
Robot Arena
Software Production Associates released Robot Arena for the Research Machines 380Z in 1985. Programs to control the battle robots are written in a Logo-like programming language.
P-Robots
David Malmberg released P-Robots for the PC in 1988. The aim is to write a program in a subset of the Pascal programming language to control a battle robot.
OMEGA
OMEGA was written by Stuart Marks and published for multiple systems by Origin Systems in 1989. The aim is to program a tank to defeat a series of increasingly more powerful enemies.
RoboWar
RoboWar was designed by David Harris and published for the Mac in 1990. The aim of the game is to write a program to control a battle robot.
'bot
'bot was created by Jason Davis and David Chait of Future Generation Software and released for the Mac in 1991. The aim is to design a program to control a battle robot.
Battle Droids
Battle Droids was written by Lee Wee Meng in 1991. The object of the game is to write a program to control a battle robot and eliminate all other robots.
ARobots
ARobots was created by Anders Danielsson and released in 1992. The aim of the game is to write a program in 8086 assembly language to control a battle robot.
Combat Zone
Mat Peck released Combat Zone for Windows 3.x in 1993. The aim is to write a program in a Logo-like programming language to control a battle robot.

Other Programming Games

Iterated Prisoner's Dilemma
The Iterated Prisoner's Dilemma is a standard example of game theory where two programs decide whether to cooperate or defect according to the opponent's previous actions.
Warrior Cycles
Warrior cycles is a 1988 Amiga programming game, based on light cycles from Tron.
Jintori
Matsuo Akirakokorozashi and Hiromitsu Takagi published Jintori for the NEC PC-98 in 1990. The game is played on a 180×180 grid with the aim of surrounding more territory than the opponent.