What is Battlecode?

Now in its 17th year, Battlecode is MIT's longest running programming competition. It features a unique challenge that combines battle strategy, software engineering and artificial intelligence. In short, the objective is to write the best AI player program for the strategy game Battlecode. Anyone can participate, as long as you know how to program.

Battlecode is a real-time strategy game. Two teams of virtual robots roam the screen managing resources and attacking each other with different weapons. Your job is to write code to strategically manage your robot army and control how your robots work together to defeat the enemy team. Contestants learn to use artificial intelligence, pathfinding, distributed algorithms, and/or network communications to write their player.

Teams are given the Battlecode software and a specification of the game rules in early January. The competition lasts throughout the month and culminates in a Final Tournament. During these tournaments, the autonomous players are pitted against each other in a dramatic head-to-head fashion. The final rounds of the main tournament are played out in front of a live audience in Kresge auditorium, with the top teams receiving cash prizes. The total prize pool is over $50,000.

The supported programming languages are Java, Scala, and Kotlin. Check out the following video to watch Battlecode in action.

Battlecode is a great opportunity to rapidly develop important software skills while having lots of fun at the same time. Many of these skills translate directly to software internships and jobs. You will build your own codebase from scratch, get practice managing a large software system, and get hands-on experience with Java and object-oriented programming. Battlecode is both a competition and a class (known by its MIT course number 6.147, formerly 6.370). For beginners, our lecture series walks you through creating your first bots and teaches more advanced techniques, and there will be a Newbie Tournament (MIT-only) with its own prize pool.

Battlecode also provides an intellectual challenge. Over the course of a month, you will get the chance to invent your own strategies and algorithms to play the game, constantly iterating and improving as you go. You will be competing directly against other teams who are working just as hard to find the best strategies.

Teams will also have a chance to meet our corporate sponsors and find internships and full-time jobs with them.

To read more about Battlecode, check out this blog post by Cory Li, a former Battlecode director and winner.