Sign up for Battlecode 2020!

Welcome to Battlecode, MIT's premier programming competition! Battlecode is a unique challenge that combines battle strategy, software engineering and artificial intelligence. Form a team of one to four, then compete for a chance at $30,000 in prizes! Anyone can participate, from beginners to experts, and enrollment at MIT is not necessary.

The 2019 competition Battlecode: Crusade has ended. Thank you to everyone who participated, sponsored, or helped in any way — we all had a lot of fun! Fill out this form to get notified about the next Battlecode competition, held in January 2020.

What is Battlecode?

Battlecode is a real-time strategy game, for which you will write an AI player. In Battlecode, two teams of virtual robots roam the screen managing resources and executing different offensive strategies against each other. Your AI player will need to strategically manage your robot army and control how your robots work together to defeat the enemy team. As a contestant, you will learn to use artificial intelligence, pathfinding, distributed algorithms, and network communications to make your player as competitive as possible.

Teams are given the Battlecode software and a specification of the game rules in early January. Throughout the month, you will refine your player, and compete in scrimmages and tournaments against other teams. During these tournaments, the autonomous players are pitted against each other in a dramatic head-to-head fashion. At the end of the month, the Final Tournament is played out in front of a live audience at MIT, with the top teams receiving cash prizes. The total prize pool is over $30,000.

Still not convinced? Check out the video below for a quick overview of Battlecode!

Battlecode in the Media

Battlecode is a well-known competition, even outside of MIT. Check out the links below to see some of the discussions that developers, contestants, and sponsors of Battlecode have had online.

2019 Postmortem by "NP-cgw" (Finalist)
Reddit AMA, by the Battlecode Dev Team
Blog Post by Cory Li, former Battlecode director and winner
2016 Postmortem by "future perfect" (1st)

Contact Us

This competition is run by a bunch of MIT students. Contact us at



What languages are supported?

Battlecode 2020 will support Java.

So Battlecode is a game AI competition? But what's the game?

We can't tell you yet, and we won't reveal next year's game until Battlecode 2020 kicks off next year. The game changes every year, and part of the fun of Battlecode is in not knowing what you're gonna get :). However, we can tell you that the game tends to be a turn-based strategy game, and robots need to demonstrate a mastery of both broad resource management (macro), and organized, efficient combat tactics (micro).

Wait, AI as in machine learning and neural nets?

No, the AI we are talking about has more or less nothing to do with machine learning and neural nets. Rather, Battlecode is about coming up with strategies for 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). Note that you are writing code before the actual game is run, which means that what you are doing is equipping your robots with the capability to make these strategic decisions on their own in real-time — hence the term artificial intelligence. While there is nothing stopping you from using machine learning, it will unlikely be a good strategy, since computing power is limited and the game is a highly complex environment.

Do I have to be good at programming?

Experience definitely helps, but everyone has to start somewhere. A background in algorithms and AI is not necessary. We'll be available throughout January to help you out as needed through our lecture series on Twitch and on the Discord. If you have little or no experience in programming, then we encourage you to consider Battlecode as a fun, engaging project through which you will pick up the skills you need to write programs!

Is it okay if I have no AI background?

That's completely okay. Many competitors have no AI experience coming in. We will be holding daily lectures through January, which will cover various topics in game AI, such as pathfinding, resource management, and combat tactics (micro). These lectures will be streamed and uploaded online, so fear not if you are participating remotely!

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. In parallel to this series of tournaments (the "main" event), we will also be holding a Newbie Tournament open to MIT students who have not previously competed in Battlecode, as well as a High School Tournmanet open to both US and International middle/high school students.

What are scrimmages?

A scrimmage is a friendly game between two teams, and you can watch and analyze the games afterwards. This allows a team to test their strategies against other teams. Scrimmaging will be available as soon as Battlecode begins.

Do I need to be physically at MIT to participate?

This is not necessary! In fact, you do not even need to be an MIT student!

How do I register for Battlecode?

Unlike previous years, registration will not open until January 7th at 7PM EST. At that time, there will be a big shiny button on our homepage to register.

I'm an MIT student. How do I get course credit for Battlecode?

Battlecode is an official 6-unit MIT course, with the course number 6.147. In addition to registering on this site once IAP starts, you must also register for 6.147 through MIT's system. At that point, in order to get credit, you must create a player that is able to beat a reference player that we will release later in the tournament.

Help! I have more questions.

Feel free to email us at!

Code of Conduct

Maintaining a safe and inclusive environment for competitors is a top priority for Battlecode. Battlecode strictly follows MIT's Policies on responsible and ethical conduct. If someone makes you or anyone else feel unsafe or unwelcome, please report it to Teh Devs as soon as possible. Harassment and other code of conduct violations reduce the value of the competition for everyone. People like you make our community a better place, and we want you to be happy here.

If you find that your behavior questionably follows these guidelines, please reconsider your actions. Competitors violating these rules may be banned from current and/or future Battlecode competitions at the discretion of Teh Devs.

Practice Materials

General Information

Welcome to the Battlecode Tutorial section! Here you can find materials to help prepare you for the next Battlecode competition. Every year the infrastructure, theme, and type of game changes a little, but certain skills will prove to be helpful universally (such as path-finding, etcetera). Because no two years are identical, language options aren't always the same. For 2019 the focus was on Javascript, though a (very bare-bones) transpiler was provided for Python and Java. Previously, Java and Python were used more. Here you can find the last two competitions' code, docs, and tutorials/lectures to help kickstart your practice and hopefully turn you into a game AI master.

Battlecode 2019

Battlecode 2019 had a Sci-Fi theme in which players fought to destroy each other in a great galactic Crusade. The map landscape was scattered impassable terrain, meaning units had to find their way around. However, all maps were symmetric for fairness. Players won if they destroyed the opponents' Castles. In the case where both surived longer than a thousand rounds, the winner was decided by whoever had the most Castles, most unit value, or a random number generator (in order of precedence). Available units included castles, chruches, pilgrims, prophets, and preachers, each of which had a difference purpose. Creating different units and taking different actions consumed one or both of the two resources available on each map: Karbonite and Fuel.

To see the competition site check out Battlecode 2019 (you will need to create a dummy account and form a team to try it out). An explanation of the game specifications can be found here. Our Github repository is open source and you can find it here. Here is an example bot. Many contestants found using this viewer to be helpful.

Below are a couple of post-portems providing a competitors' view of the game:
2019 Postmortem by "NP-cgw" (Finalist), including a good intro to the game
2019 Postmortem by "Justice of The War" (Finalist)
2019 Postmortem by "smite" (1st)
2019 Postmortem by "Big Red Battlecode" (Finalist)
2019 Postmortem by "Oak's Last Disciple"
2019 Postmortem by "Double J" (17th-32nd)
2019 Postmortem by "CitricSky" (3rd)

Battlecode 2018

Battlecode 2018 had a Sci-Fi theme in which players controlled different factions of Earth-inhabiting robots in a fight for supremacy as they colonized Mars to escape a dying Earth. Players had to wage war in battlefields both on Mars and Earth. Earth maps were always symmetric for fairness, but not necessarily Mars, as the red planet hadn't been fully explored yet. Similarly to many RTS games, players could mine a resource called Karbonite, with which they could build their army. An army could consist of workers, knights, rangers, healers, and mages, each which had different specialties. The winner was whoever was left alive (eliminated the opponent), or in the case of both teams surviving, the victor was chosen by whoever had the highest combined value of all living units, most Karbonite, or a random number generator if necessary, in that order of precedence.

The game specifications can be found here, with language-specific documentation in Python, Java and C. Check out the 2018 Github and scaffold. You may find Max Mann's videos useful as well, particularly his lecture series on how to code a bot for Battlecode 2018 in Python. He provides an installation guide for Battlecode 2018 here. You will also find some tutorials in the Battlecode Youtube channel.

Tournament Overview

Battlecode 2019 consisted of 6 tournaments: the Sprint Tournament, the Seeding Tournament, the US Qualifying Tournament, the International Qualifying Tournament, the Newbie Tournament, the High School Tournament, and the Final Tournament. We stream and commentate all tournaments online.


Teams must consist entirely of active students to be eligible for the Seeding, Qualifying, and Final Tournaments. An active student is a person who is currently enrolled as a full-time student in an eligible degree or certificate program. As an exception, we consider those transitioning immediately after high school and formally committed to such a program to be active students, including those taking gap years or in compulsory military service.

Active students also include those who are currently in high school (or some equivalent of secondary education or lower). Active MIT students who have never competed in Battlecode before (submitted a bot) are eligible for the Newbie Tournament. U.S. high school students and earlier are eligible for the High School Tournament.

Teams consisting entirely of US students compete in the US Qualifying Tournament. If your team has at least one non-US competitor, your team will compete in the International Qualifying Tournament. A US student is a student who attends a school in the United States.

If your team does not consist of active students, you may still compete in Battlecode for fun! All teams are allowed to scrimmage, and compete in the Sprint Tournament or any other bonus tournaments we may decide to hold. Contact us if you are unsure of your eligibility.

Tournament Format

Scrimmage rankings will be used to determine seeds for the Sprint and Seeding Tournaments. For all other tournaments, results from the previous tournament will be used to seed teams.

Tournaments will be in a double elimination format, with the exception of the Sprint Tournament, which is single elimination. The Final Tournament will start with a blank slate (any losses from the Qualifying Tournament are reset).

Each match within a tournament will consist of 3 games on 3 different maps, and the team that wins the most games will advance.

Results and Livestreams

Click here to see results of past tournaments. All tournaments will be livestreamed and commentated by the developers. You can also find streams of past tournaments here.

Videos of Battlecode Tournaments

2019 MIT Final Tournament
The object of the game was to destroy the Castles of the opposing Martian group.

2018 MIT Final Tournament
The object of the game was to escape to Mars before the Great Flood on Earth.

2017 MIT Final Tournament
The object of the game was to either donate to the reforestation fund or destroy the enemy.

2016 MIT Final Tournament
The object of the game was destroy the enemy archons while surviving attacks from zombies.

2015 MIT Final Tournament
The object of the game was destroy the enemy headquarters. Each team has up to six towers on the map, and destroying these towers weakens the enemy.

2014 MIT Final Tournament
The object of the game was to gain milk either by herding cows into pastures or by destroying opponent pastures.

2013 MIT Final Tournament
Compared to previous games, this year's game featured more of an emphasis on economy and macro strategy. The goal was to destroy the other team.

2012 MIT Final Tournament
The object of the game was to build a chain of power nodes from your base to the enemy's base.

2011 MIT Final Tournament
The 2011 game featured robots with modular components. The goal of the game was to destroy the other team. Unfortunately, we don't have a video of the 2011 final tournament.

2010 MIT Final Tournament
The object of the game was to gather points by constructing contiguous blocks of buildings. The area contained within the convex hull formed by the buildings generated points each round. Of course, the other way of winning was to wipe out the other team.

2009 MIT Final Tournament
The object of the game was to gather points by mining resource deposits or wipe out the other team.

2008 MIT Final Tournament
The object of the game was to gain territory by capturing towers.

2007 MIT Final Tournament
The object of the game was to destroy the enemy archons or have the most production at the end of the game.

2006 MIT Final Tournament
Unfortunately, we don't have a video of the 2006 RoboCraft Final Tournament. The 2006 game was a "King of the Hill" game in which the object of the game was to spend more time than your opponents on the hill squares.

2005 MIT Final Tournament
The object of the game was to capture the enemy flag or survive when the walls came pushing in as the game ended. Battlecode was still under the name "RoboCraft".

2003 MIT Final Tournament
The object of the game was to destroy the enemy queen or have a closer unit to your enemy's queen.

Battlecode Hall of Fame

Main Tournament

Year Team Members
2019 smite Vivek Myers, Nikhil Sardana, Mihir Patel, Vinjai Vale
2018 Orbitary Graph Aron Granberg, Simon Lindholm, Mårten Wiman
2017 Arbitrary Graph Restoration Fund Aron Granberg, Simon Lindholm, Johan Sannemo, Mårten Wiman
2016 future perfect Luchang Jin, Greg McGlynn
2015 the other team Greg McGlynn
2014 that one team Greg McGlynn
2013 Teh Nubs Tommy Liu, Xinran Liu, Albert Wu
2012 fun gamers Yanping Chen, Cory Li, Haitao Mao, Justin Venezuela
2011 Gunface Steven Arcangeli, Adrian Mullings, Benjamin Peters, Jelle van den Hooff
2010 My Archon Died BellmanFording the Stream Steven Bartel, David Chen, Curtis Liu, Spenser Skates
2009 gtg ice skating lessons Steven Bartel, Randall Shults, Spenser Skates, Karen Sun
2008 In Memory of James Albrecht Dan Gulotta, Hyun Soo Kim, Albert Ni, Yufei Zhao
2007 My Other Programming Language is Scheme Dany Qumsiyeh, Mark Tobenkin
2006 Mortar Kombat Jasper Lin
2005 CDG Clifford Frey, James Roewe
2004 java_lang_String Joshua Marron, Dmitriy Rogozhnikov
2003 Hyperbola David Greenspan, Aaron Iba
2002 Sons of Scion Ilya Baran, Edward Kogan, Dmitriy Rogozhnikov
2001 MalamalamaWikiwiki Chris Peikert

Newbie Tournament

The Newbie division is for MIT students who are participating in Battlecode for the first time.

Year Team Members
2019 hello Alex Theimer
2018 StarMarket is Moving to Mars Yong Hui Lim, Yogeshwar Velingker, Christopher Xu, Calvin Yost-Wolff n
2017 Anarchy John Mikhail
2016 foundation Brian Shimanuki
2015 Team2 Julian Contreras, Alex Markovits, Andrew Mikofalvy
2014 1260/3 Matthew Chang, Xinyu Liang, Lawrence Wu, Leon Zhou
2013 Teh Nubs Tommy Liu, Xinran Liu, Albert Wu
2012 lowercase letters Tim Kaler

High School Tournament

New in 2017, the High School division is for high school students.

Year Team Members
2019 Knights of Cowmelot Lawrence Chen, Walden Yan, Benjamin Qi, Chris Pan
2018 howrusogood?? Lawrence Chen, Benjamin Qi, Richard Qi, Franklyn Wang
2017 whatamidoing Charles Wang

Open Tournament

Battlecode held an open tournament in the spring from 2008-2011. From 2012-2017, non-MIT teams were allowed to compete in the main tournament in the winter. In 2008 only, the top 16 teams from the MIT tourmanent were not eligible for the open tournament. In 2018, the Open Tournament was run after the IAP tournament and included any team with a submission.

Year Team Members
2018 Orbitary Graph Aron Granberg, Simon Lindholm, Mårten Wiman
2011 Team 8 Tom Morgan
2010 My Archon Died BellmanFording the Stream Steven Bartel, David Chen, Curtis Liu, Spenser Skates
2009 I for one welcome our new team 207 overlords Dan Gulotta, Yufei Zhao
2008 Donner Party of 5 Asilata Bapat, Anand Deopurkar, Eric Liu, Vinayak Ranade


Battlehack is an Battlecode hackathon, where contestants have only 24 hours to complete their bots. First ran in November 2017, Battlehacks feature their own games with experimental rulesets.

Year Team Members
2019 MIT Water Buffalo Alexander Katz
2018 West Ivanteam Ivan Belonogov
2017 MIT Not a Hivemind Skye Thompson, Cel Skeggs, Joseph Jerkins, Alexander Lam


Sponsor Information

The D.E. Shaw Group

The D.E. Shaw Group
Gold Sponsor

Headquartered in New York City, the D. E. Shaw group is a global investment and technology development firm, founded in 1988, with offices around the world. While we’re known as a pioneer in quantitative investing, we also have considerable expertise in areas that involve fundamental analysis or portfolio manager discretion. Our firm has earned an international reputation for successful investing based on innovation, careful risk management, and the quality and depth of our research and staff. With a culture that combines some of the best aspects of academia, finance, and technology, we pride ourselves on a work environment that promotes collaboration, integrity, and a precise approach to solving problems.

Our staff includes world-class mathematicians, physicists, computer scientists, analysts, business-builders, and system architects relying on specialized trading, operational, and compliance expertise developed over 30 years. Our teams work in close collaboration—not in competitive silos—to share trade ideas, manage risks, streamline processes, and explore new opportunities.

Outside of the office, we have wide-ranging personal interests that we pursue as entrepreneurs, patent holders, competitive sailors, marathoners, professional opera singers, board members of nonprofit organizations, and champion bridge players, to name a few. The firm is committed to the well-being and happiness of our employees and recognizes that different people thrive in different types of environments: Some are most productive working in t-shirts or listening to music, while others need time away from the office to recharge after a challenging project. We also have pantries stocked with snacks and games, an on-site gym, guest speakers from a range of disciplines, volunteer and public service opportunities, museum memberships, and social events.

The D.E. Shaw Group

Jabil Inc.
Gold Sponsor

Hudson River Trading

Hudson River Trading
Silver Sponsor

Hudson River Trading brings a scientific approach to trading financial products. We have built one of the world's most sophisticated computing environments for research and development. Our researchers are at the forefront of innovation in the world of algorithmic trading.


Silver Sponsor

At Oracle, we’ve revolutionized the tech industry by doing things no other company has done before. With hundreds of thousands of customers around the globe, our solutions are being used by businesses ranging from startups to the Fortune 100, from grade schools to graduate schools, and from counties to countries.


Silver Sponsor

There is no other company like IBM and there is no business professional like the IBMer. We are experts in nearly every technical scientific and business field. We are citizens of, and apply our expertise in, more than 170 countries. Yet we are united by a single purpose: to be essential. We do that by creating the most advanced technology to change how our clients work and run their businesses.

And through them, IBMers change how the world works. The world is at a major turning point: technology is enabling entirely new forms of business operations, business models, industries and outcomes. We have exponentially more power to reach the full potential of our life’s work than any humans before us.

Explore the different entry-level, intern, co-op and graduate career paths available to you at IBM and apply today.


Silver Sponsor

At DRW, we identify and capture trading and investment opportunities globally. What sets us apart is our diversified approach—trading across many asset classes and instruments, in markets around the world. We succeed by leveraging technology, research and risk management.

We offer the best of both worlds: the opportunity and spirit of a startup and the benefits and stability of an established, experienced firm. It’s a place of high expectations, deep curiosity, with some of the smartest, most passionate people you’ll meet. We’re always looking for tenacious problem solvers to join our team as software engineers, traders, researchers and more.


The Walt Disney Company
Bronze Sponsor

The mission of The Walt Disney Company is to be one of the world’s leading producers and providers of entertainment and information. Using our portfolio of brands to differentiate our content, services and consumer products, we seek to develop the most creative, innovative and profitable entertainment experiences and related products in the world.

Dollar Shave Club

Dollar Shave Club
Bronze Sponsor

Vatic Labs

Vatic Labs
Copper Sponsor

The word vatic means “to describe or predict” what will happen in the future, and that’s exactly what we do. Vatic Labs is a global liquidity provider, where traders, AI researchers, and technologists collaborate to develop autonomous trading agents and cutting edge technology. We build systems that boost market efficiency and transparency.

Vatic Labs is always looking for incredible talent. We seek smart, passionate, and driven people, who have demonstrated a commitment to achieving exceptional results.

We encourage our team to collaborate with their colleagues to stretch themselves to achieve more. While working at Vatic Labs, you will learn from researchers and engineers who have earned doctorates from leading universities and have made significant contributions to their field of study. Come join our team!

Why Sponsor Battlecode?

Ever wanted a way to filter through job applicants, and find only the best recruits? The Battlecode competition is just that. Because it attracts the "best of the best," Battlecode provides targeted results in three key areas:

Contact Us

For more information about the sponsorship experience, including pricing, email us at