Programming Games and Contests
What I'm after are games in which one competes by writing code and and
having the programs then compete against each other. The most
straightforward exemplars of this are the ubiquitous bot games,
such as the *-robots games.
I'm particularly interested in ongoing competitions. Typically run either
periodically or in King of the Hill (KotH) type of competitions.
Any additions, deletions, changes or other comments cheerfully accepted.
This article is translated to Serbo-Croatian language by Anja Skrba from Webhostinggeeks.com.
Robots Games
The "competitors" in these games are robots; usually one with a gun to
shoot at other competitors with. You supply the brains for the robot
in the form of a program of one kind or another. The roots of these
games goes back to RobotWar in the 1970's, according to the wikipedia article.
RobotWar was commercialized for the Apple II computer in 1981.
I appreciate any tips about early BOTS games.
-
CROBOTS
-
A game where the robot is programmed in a "C-like" language. This
was written by Tom Poindexter, who later created tclrobots.
-
CROBOTS-3D
-
A rewrite of CROBOTS by a new author, updated with sound and 3D
graphics. It adheres to the original rules, and old robot files can
be loaded.
-
P-Robots
-
A game that lets you write a robot using Pascal. Inspired by C-Robots.
-
Robocode
-
This game's ulterior motive is to teach Java Programming
by letting you create Java "Robots," real Java objects
that battle it out onscreen against other robots. Robocode, with its
snazzy graphics and hyper battles, is similar to a combination of
Logo and CoreWars. While playing Robocode, you will learn how to
write Java code, how to handle events, how to create inner classes,
and more. See also the RoboWiki.
Ireland has an annual RoboCode
competition. Any others?
-
Grobots
-
Grobots is a programming game in which robots capable of reproducing
compete to survive each other's presence. They are limited by
energy, which can be obtained (and spent) in a variety of ways, and
by their hardware, which restricts what each robot can do. Robots
can move, sense, think, eat, reproduce, communicate, fight, and die
- all without human intervention.
-
JRobots
[Web play]
-
JRobots is another robots game inspired by CRobots. The bots are
programmed using the Java language, then you upload it in the arena
and follow on-line its fights against other robots.
-
Gun-Tactyx
[3D graphics]
-
This is a second effort by the author of JRobots with a unique
twist: the battle is rendered using a 3D graphics engine! The
robots are programmed in a C-like language.
-
Real Time Battle
-
Another bot-programming game, with two outstanding features, in my
mind. Firstly, the robots can be written in any language; the
communication with the simulator is done via standard I/O.
Secondly, the code is available under GPL. The code works under
both unix and windows.
-
RobotWar 3d
[MSWindows only, Binary only]
-
Proprietary; free download of demo version.
-
Tcl Robots
-
Robots game, using the Tcl language to write the control
program. The game takes place in a square arena, with up to four
robots. Each robot has a can move, shoot, and scan for its
opponents; the goal is to disable all the other robots. You can
watch the results graphically.
-
Droid Battles
[Open source, GPL]
-
In DroidBattles you design the bots by choosing which hardware they
should contain. Each bot can have up to 32 hardware devices that you
can choose freely from a list of weapons, armor, CPUs, engines, etc.
The bot is programmed in an assembler-like language.
-
Robot Battle
[MSWindows only]
-
Yet another one with its own scripting language. Open source under
the MPL
-
A.I. Wars
[MS Windows only, binary only]
-
This series now comprises two games: The Insect Mind
and Armor Commander.
The bots in these games are insect-like mechanized units, programmed
in their own command language. They come fully loaded with
scanners, shields, sensors, energy cells, friend or foe beacons,
mines, fuel, ammo, missiles, and even a self-destruct mechanism for
those really sticky situations. This game has many web sites
hosting regular tournaments.
-
MechAniX
[Java applet]
-
Turn off JavaScript before visiting or you'll be spammed with
advertising!
Watch battles with your web browser: the arena is a java applet, with
each bot coded as a java class. Everyone can enjoy watching the bots
duke it out, though on my 400MHz Pentium II, the bots and bullets are
flying so fast it looks more like a space war!
Cependant, toute le site est en francais donc j'imagine qu'il faut
comprendre cette langue pour jouer.
-
C++ Robots
[Play by Email]
-
As can be guessed, the robots are programmed in C++. Your program
controls a robot whose mission is to seek out and destroy any other
robots it finds. There is an ongoing KotH tournament run via mail
server.
-
RoboWar
[Macintosh only, binary only]
-
You program robots, then turn them loose in the arena for animated
combat to the death. RoboWar features a complete programming
environment for its unique language, RoboTalk; a Hardware Store,
Icon Factory, and Recording Studio in which you can equip your robot
and add pictures and sounds; and the Arena with a sophisticated
robot simulator.
-
AT-Robots
[MSDOS only]
-
AT-Robots is a game in which you write programs to control robots
that will battle each other in a simulated arena. The programming
language is similar to PC assembly language.
-
MindRover
[MSWindows only]
-
The player controls how the robot reacts through a visual programming
metaphor. In the construction lab, players choose bodies, drivetrains,
sensors, weapons, and manipulators for their robots from a large array
of possibilities, then visually wire the sensors to the controls to give
each rover a unique set of behaviors.
-
RoboForge
[MSWindows only, binary only]
-
Allows you to construct Robots using a 3D assembly environment.
You can then instruct them how to fight using a declarative
programming language.
-
GarBots
[PalmOS 3.5]
-
Bots for your PalmPilot!
Programmed in a subset of the BASIC language, you can beam
bots to your friends and battle it out during those boring meetings.
-
PC Robots
[MS DOS only]
-
Robots are controlled by a DOS .com or .exe program < 64k in
size. Robots can be written in any language which can be compiled
to a .com or .exe. Only works on PC clones. Up to 20 robots can be
run at a time if sufficient memory is available.
-
B.O.T.S : BOts Tactical Simulation
-
Yet another bot game. Bots are coded in assembler language. Bots
fight in a sophisticated arena containing walls, water and even
instant death holes. Bots of the same team communicate using a radio.
-
BotBattle
-
Bot programming game with its own programming language. Web site
apparently has on-line arena, but it crashed the java plugin of my
browser (firefox).
-
BotBattle Reloaded
-
Variant of Botbattle that has slightly different weapons (stats
tweaked, renamed some weapons), no cloaking, and other changes.
Other BOTS Games
-
Imperfect World of Robots
-
Simulates a world in which robots controlled by programs can live in
it, work, defend their tribe and even create new children. Features
a client/server architecture so a contestant (client program) can be
written in any language that has access to TCP sockets.
-
Wormageddon
-
Wormageddon features duels between worms on a rectangular
grid. Worms leave behind slimy, icky trails as they move. Should
your worm run into a tail, its own or someone else's, it will
die. Walls also spell death on impact. The goal is to outlast your
opponent(s).
Think Tron lightcycles and you'll have a good idea of the game.
-
Bug Brain
-
Bug Brain is a game where you build brains to run a bug.
You start in the lab where you experiment with the neurons and nodes
that make up a brain. From there you move out into the field to
build a brain for a Lady Bug to help it feed and survive.
Bug Brain features rendered graphics, challenging puzzles and the
opportunity to learn about neural networks.
-
RoboCup
-
The Robot World Cup Initiative (RoboCup) is an attempt to foster AI
and intelligent robotics research by providing a standard problem
where wide range of technologies can be integrated and examined. For
this purpose, RoboCup chose to use soccer game, and organize
RoboCup: The Robot World Cup Soccer Games and Conferences. In order
for a robot team to actually perform a soccer game, various
technologies must be incorporated including: design principles of
autonomous agents, multi-agent collaboration, strategy acquisition,
real-time reasoning, robotics, and sensor-fusion. RoboCup is a task
for a team of multiple fast-moving robots under a dynamic
environment. RoboCup also offers a software platform for research
on the software aspects of RoboCup.
-
TORCS
-
A 3D car race simulator (OpenGL graphics) in which you program the
driver. You can also drive yourself using a wheel or keyboard or mouse.
Directly inspired from RARS.
-
RARS
-
A car race simulator in which you program the driver. Inactive
for some time; see TORCS for a more modern race simulator.
-
Core Wars
-
Core Wars is a game played by two or more programs (and vicariously
by their authors) written in an assembly language called Redcode and
run in a virtual computer called MARS (for Memory Array Redcode
Simulator). The object of the game is to cause all processes of the
opposing program to terminate, leaving your program in sole
posession of the machine.
Corewars descended from a game called
Darwin that originated at Bell Laboratories in 1961.
-
RoboCom
[MSWindows only, Binary only]
-
RoboCom bots move on a
chess-like grid, and have no weapons. The bots interact by
"injecting" other bots with hostile code that they run. Think of
CoreWars with motion. Programmed with pseudo assembly language.
-
ColoBot
[MSWindows,binary]
-
Real time strategy game where you can also program the
robots.
-
War of Robot
Worms
[MS Windows only, binary only]
-
Two robot worms fight in an arena among walls and treasures. Their
aim is to collect the treasures and survive the other worm. A worm
dies if it crashes to a wall, to the other worm's body or to
himself. Don't be put off by the Hungarian web page; the
zip file
contains English instructions.
-
GalaxyHack
-
GalaxyHack allows you to design a fleet of spaceships which can then
be tested in AI script based battles against fleets designed by
other players. Though battles take place in real time, the strategy
comes before hand, both in writing short AI scripts in a simple
scripting language, and also in the set up and selection of your
forces.
-
Terrarium
[MS Windows .NET Framework]
-
In Terrarium, developers create
herbivores, carnivores, or plants and then introduce them into a
peer-to-peer, networked ecosystem for a survival-of-the-fittest type
competition. The game provides both a competitive medium for
testing your software development and strategy skills as well as a
realistic evolutionary biology/artificial intelligence model for
evaluating the role that various behaviors and traits can play in
the fight for survival.
-
CodeRally
[Eclipse plugin]
-
Players develop a rally car and make decisions about when to speed
up, turn, or slow down based on the location of other players or
checkpoints, their current fuel level, and other factors.
-
CodeRuler
[Eclipse plugin]
-
The game pits rulers against each other in a series of matches. A
match consists of up to six rulers competing with each other. Each
ruler starts a match with one castle in a random location on a
finite two-dimensional grid of squares, with the same amount of
peasants and knights as the other rulers. The task of a ruler is to
give orders to its peasants, knights, and castles.
-
Fortress
of Flags: A.I. Sandbox
-
Fortress of Flags
is a Stratego like game in which two armies compete on the battlefield with
the goal to locate and destroy the enemy King. You move
your army flags around a 3D battlefield of your choosing to trap and
destroy enemy flags in your quest to find the enemy King. At first,
neither army knows the values of their enemies flags. As the game
progresses you will do battle with each other revealing the true
value of the flags involved in the conflicts.
The A.I. Sandbox version of Fortress of Flags allows you to write the
A.I. component for the red army, in any language one chooses.
Other Contests
-
Al Zimmermann's Programming Contests
-
Each contest specifies a problem that you must solve. Generally,
it's easy to find a solution but not so easy to find a good
solution. Although these are called "programming contests",
technically you don't need to write a computer program to enter. You
can enter whether you use a computer, manual calculations, or tea
leaves to solve the problem. Cash prize awarded to the top two winning
entries.
-
Elevator Challenge
-
This is a programming challenge to
develop the most effficient algorithm to control a bank of elevators
in different building scenarios.
-
Game Bot Arena
-
This site provides several arenas in which you may enter
a bot that will compete in an on-going tournament. As of
2005-12-03, there are tournaments for such classical games
as Risk, Othello and Chess, as well as a couple I've never
heard of, Hex and Twixt. This site needs more competitors!
-
POTM: Programmer Of The Month Contest
-
Despite the name, the contest frequency is more like 2-3 contests
per year. The POTM master poses a problem which requires an
algorithm to solve. You submit such an algorithm, written in your
choice of language, and the POTM master runs all entries against
each other to determine the winner.
-
Turing Tournament @ Caltech
-
The Turing Tournament is a two sided tournament designed to find, on
the one hand, the best computer programs to mimic human behavior,
and on the other hand, the best computer programs to detect the
difference between machine and human behavior. Two types of
submissions will be accepted: an emulator, which generates a dataset
that mimics human behavior, or a detector, which detects the
difference between datasets generated by human and machine behavior.
-
The ICFP Programming Contest Series
-
Yearly programming competition intended to test programming languages
as much as the human programmers. The programming task is different
each year. The challenge for the
2002 edition
was to write player code for a robot game. The
Seventh
Antual contest (2004) task was to design the finite-state machine
brain for a species of ant, and have a colony of your ants compete
with a foreign colony. This was later turned into the on-going
game Ant Wars (above).
-
X-O Game Arena
-
This site allows programs written in JavaScript compete at
Five in a Row. The game is played using a square grid, on
which the players alternate placing pieces. The object of the game is
to get five of your pieces lined up in a vertical, horizontal, or diagonal
line.
-
RoShamBo
-
Write a program to play Rock-Paper-Scissors, and enter it to play in
an open competition against other programs. An occasional contest.
-
Gowachin
-
The successor to the Abbadingo One competition.
The aim of this contest is to write an algorithm to learn the
structure of a DFA (deterministic Finite Automaton). The Abbadingo
One web site has papers, and code for some of the contest entries.
-
Top Coder
-
On-going programming contests and employment services.
-
Valladolid Programming Contest Online Judge
-
If you can't stand the wait between POTM contests, then this is for
you! Several hundred programming problems, large and small, await.
The online judge is accessible at any time to check your code!
-
International Olympiad in Informatics
-
The International
Olympiad in Informatics (IOI) is an annual competition in the
discipline of informatics (computing science) for senior pupils at
secondary schools all over the world. Many many similar
contests are held regularly, throughout the world.
-
USA Computing Olympiad
-
An annual computer programming competition for high school students
in the United States. It is sponsored by USENIX and the training
camp hosted by the University of Wisconsin-Parkside. The goal of
the USACO is to select a team of four students to represent the
United States in the annual International Olympiad in Informatics
(see above). The USACO sponsors several contests through the year
including:
- Several internet contests (send in answers via
e-mail)
- The U S Open (proctored exam with results sent back to
USACO)
- The USACO finals (at the Wisconsin training camp)
-
Loebner Prize
-
Billed as The First Turing Test, the contest asks human
judges to distinguish between other humans, and computers, via an
electronic "conversation". This one pays real money if you
win!
If you appreciate the above ...
... here are other links about programming and games that might be of
interest.
-
Alberta GAMES Research Group
-
These folks study
Game-playing,
Analytical methods,
Minimax search and
Empirical
Studies.
-
MASON
(Multi-Agent Simulator Of Neighbourhoods)
-
A fast discrete-event multiagent simulation library core in Java,
designed to be the foundation for large custom-purpose Java
simulations, and also to provide more than enough functionality for
many lightweight simulation needs. MASON contains both a model
library and an optional suite of visualization tools in 2D and 3D.
Collaboration between George Mason
University's Evolutionary Computation
Laboratory and
Center for Social Complexity
-
The Open Directory Project
-
A human-edited directory with loads of good pointers, including
a page on programming
games and a page on
programming contests.
-
Dennis Luehring's Programming Game
Links
-
A very big list.
-
Video Games Directory / Programming Games
-
Another list of lists.
Games Gone Missing
The following entries did not have a working web site
when last checked. If you know what happened or where the
game can be found, let me know.
-
Agonism
[http://www.agonism.com]
-
This site hosts several programming games. You can
submit code, then watch it play against another
player in your browser (Java required).
-
A.I Tactics
[http://hisoft.fatal.ru/ait]
[MSWindows only, binary only]
-
Another with its own programming language and editor.
-
Ant Wars
[http://ant-wars.net]
-
Each contestant is a
species of ant, which can visualize only the world immediately
around him and pheromones left by fellow and enemy ants. Using this
information, the ant brain (a simple state machine) must guide the
ant towards collecting food at his home ant hill, while fending off
or attacking enemies.
Clever use of pheromones and subtle behaviors can create large scale
tactics such as raiding, defense, harvesting, and scouting when many
ants cooperate.
The winner is the ant colony with the most food on their ant hill at
the end of a match.
-
Funkbots
[http://www.chebucto.ns.ca/~at555/funkbots/]
[MSDOS only]
-
Yet another one with its own scripting language.
-
JCBots
[http://www.geocities.com/SiliconValley/Haven/8434/jcbots.html]
[MSDOS only, binary only]
-
From the web page: This is a simple BotProgramming Language which is
based on Assembler. You can move around, shoot the enemy, scan for
enemy, pick up energy, pick up ammo, create your own maps, create
your own graphics for your robot. Since it is located on GeoCities,
you will want to disable javascript before visiting the site, to
avoid the annoying windows that pop up on every page.
-
Rova (Java Robots)
[http://terius.hit.co.kr/~black/java/javarobot/]
[Binary only]
-
Rova is the name of Java-based robot simulation engine and of the robot
itself. The battle is displayed graphically through a java Arena
application. Dennis Luehring emailed to say that Rova's author
lost all sources, binaries, and backups in a computer crash some years
ago.
-
Solitaire 500
[http://192.41.41.174/games/solitaire/wheels.html]
-
Contest from the Perl journal. (Contest ended May 1, 1999) Entries
were Perl programs to determing optimal strategies in playing a
particular form of 52-card solitaire. Full details on web page.
-
SYNtax
[http://www.syntax-headquarters.tk/]
[MSWindows, binary]
-
I'm told this is some kind of "AI game". It's hard to judge
from the web page featuring putrid green text in 2pt
type.
Last modified: 2011-12-20