MIT's longest-running programming competition

In Battlecode, two teams of virtual robots roam the screen, managing resources and executing different offensive strategies against each other. Plan, code, and compete throughout January 2020 for a chance at $30,000 in prizes!

Enter Battlecode 2020


What languages are supported?

Battlecode 2020 will support Java.

What is the game like?

The game is a turn-based strategy game where robots need to demonstrate a mastery of both resource management (macro) and combat tactics (micro). This year's game involves surviving rising water levels in an increasingly polluted world. Find out more by registering!

Wait, AI as in machine learning?

No, the AI we are talking about has more or less nothing to do with machine learning and neural nets. Rather, Battlecode is about pathfinding, resource management, communication and combat tactics, both on a local scale (e.g., choosing to attack the enemy robot with the least health first) and on a global scale (which units to send where and when).

Machine learning has not historically been used, since computing power is limited and the game is a highly complex environment. However, we'd be thrilled and excited to see a successful implementation of machine learning in Battlecode!

Do I need to be at MIT to participate?

No- in fact, you do not even need to be an MIT undergraduate! High schoolers and graduate students are welcome.

Do I have to be good at programming?

Actually, Battlecode makes a great first dive into programming! We'll be holding daily lectures throughout January to cover the basic skills needed to play the game. The lectures will be streamed and uploaded on Twitch, and we'll also have a Discord server to provide support, so fear not if you are participating remotely! We also run a separate Beginners' Tournament (with its own prize pool!) for first-time MIT competitors.

How do I get MIT course credit for Battlecode?

In addition to registering here once IAP starts, you must also pre-register for 6.147 through MIT's system. In order to get credit, you must create a player that is able to defeat a dev-created reference player (we promise not to make it too hard to beat).

How do I register for Battlecode?

Register here!

What is the tournament format?

We will be holding several tournaments throughout the month of January. The penultimate tournament will determine the finalists, who will compete at MIT in the Final Tournament.

What are scrimmages?

A scrimmage is a friendly game between two teams, which you can watch and analyze afterwards. This allows teams to test their strategies against real adversaries. Scrimmaging will be available as soon as Battlecode begins in January 2020.

Help! I have more questions.

Feel free to email us at!

Past Years


Our wonderful sponsors help make Battlecode happen every year!

To sponsor Battlecode and recruit from dozens of MIT's brightest coders, check out our sponsorship opportunities and then email us at!

An enormous thank you goes to:

Hudson River Trading
Blind Data