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 the month of January for a chance at $30,000 in prizes!

Thanks to everyone who participated in Battlecode 2020.
We look forward to seeing you again in 2021!


What languages are supported?

Battlecode 2020 was built for Java. The plans for 2021 are yet to be announced.

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). The 2020 game involved surviving rising water levels in an increasingly polluted world, while Battlecode 2019 centered around a religiously motivated war. The game is different every year, and is released every year in the beginning of January!

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 on our competition website once IAP (January) 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 at once January 2021 rolls around. In the meantime, join our mailing list for updates!

What is the tournament format?

We hold 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 find out more about sponsoring Battlecode to recruit from dozens of MIT's brightest coders, email us at

A big thank you goes to our 2020 sponsors:

Hudson River Trading
Blind Data