The online battle for coding supremacy is ready to begin
. The 2010 Queue ICPC Challenge, which begins this week, is a programming competition based on the ACM-ICPC
(International Collegiate Programming Competition) Challenge problem. This challenge, however, is open to anyone - not just college students. Programmers compete in a simple game called Capture. Although the competition has no prizes, the Queue website says, "the winner will receive bragging rights." Game on! 3D Game Field
The game of Capture
is played on a field were each player controls a sled and two bumpers. The 800 x 800 playing field is filled with 112 pucks. The object of the game is use your sled to draw a closed loop around groups of pucks to make them your own color. At the end of the 90 second match, the player with the most pucks wins. Sounds easy? Not so fast.
The sled is controlled by a player program
written in Java, C++, or C#. The player
interacts with the game by reading information (in plain text) about the game world from standard input. It then chooses its next move and writes it to standard output. Take a look at the full description
of the execution environment for more information about player input/output formats and other things that players can do. Entrants can check out the sample players
to get a head start on writing their own player and interacting with the game.
The game engine is implemented in Java and the game binary includes a .jar file to run the games. The engine supports several command-line options for running games with different players and different output behavior. There are more usage instructions
available for running players in different languages. The instructions also tell you how to play and record a game. An alternate 3D game visualization
is another option that you can implement.
The deadline to enter is February 7th. Preliminary matches are starting now to let developers fine-tune their players. To submit a player before the coding phase ends, sign up here
for free. Queue says they are looking at supporting additional programming languages for future challenges.