What is Battlecode?

The 6.147 Battlecode programming competition (formerly 6.370) is a unique challenge that combines battle strategy, software engineering and artificial intelligence. In short, the objective is to write the best player program for the computer game Battlecode.

The Battlecode game in action.

Battlecode, developed for 6.147, is a real-time strategy game. Two teams of robots roam the screen managing resources and attacking each other with different kinds of weapons. However, in Battlecode each robot functions autonomously; under the hood it runs a Java virtual machine loaded up with its team's player program. Robots in the game communicate by radio and must work together to accomplish their goals.

Teams of one to four students enter 6.147 and are given the Battlecode software and a specification of the game rules in early January. Each team develops a player program, which will be run by each of their robots during Battlecode matches. Contestants often use artificial intelligence, pathfinding, distributed algorithms, and/or network communications to write their player. At the final tournaments, the autonomous players are pitted against each other in a dramatic head-to-head tournament. The final rounds of the MIT tournament are played out in front of a live audience, with the top teams receiving cash prizes. The total prize pool is over $50,000.

6.147 is a great opportunity to learn to program or hone your skills further. We provide lectures on relevant topics to the Battlecode competition. While we do not provide extensive resources on basic programming skills, we may be able to point you in the right direction as you supplement your learning with hands on experience in the competition.

Any team can challenge another team to a scrimmage. A scrimmage is a friendly game between two teams. This allows a team to test their strategies against other teams. Teams may also challenge each other to ranked matches to improve their Battlecode scrimmage ranking.