Battlecode
MIT Battlecode
Write an AI that commands a team of virtual units against other students' AIs, with a high school bracket.
Run by Massachusetts Institute of Technology
Key facts
- Eligible grades
-
Not confirmed. Check the organiser's rules before entering.Battlecode is 'open to anyone'. The organiser does not define eligibility by grade. A separate high school bracket has existed in past years but was not confirmed on the official pages checked for 2027, so do not assume one.
- Recommended preparation
-
Confident independent programming, and about a month of sustained work
Why: Entrants write an autonomous player for a real-time strategy game, refined through scrimmages and tournaments across January.Based on the published exam or entry format.This is Compete's reading of the competition's documented content, not a requirement stated by the organiser. You may enter without it.
- Compete guidance, not an eligibility restriction. Students outside this are still eligible if the official eligibility above allows them.
- Eligible ages
-
Not confirmed. This organiser may set eligibility by grade rather than age. We do not convert one into the other.No age limit is published. Battlecode states it is open to anyone.
- Individual or team
- Individual or team · Not confirmed
- Where it runs
- Online · International
- Entry cost
- FreeNot stated on the official pages checked.
- Registration deadline
- Set locally, not published as a single national date 2027 registration dates not published on the official pages checked.
- Competition dates
- 2027 dates have not been published. For reference, Battlecode 2026 ran 5 to 31 January 2026, with classes in the first two weeks and tournaments throughout the month.
- Difficulty
- CompetitiveSerious preparation over a season. Advancing past the first round separates prepared students from unprepared ones.
- Prizes
- Any team may compete in the Sprint Tournaments for prize money. Only student teams, including non-MIT student teams, are eligible for the remaining tournaments and their prize money.MIT awards cash prizes across brackets, including the high school division. Amounts vary by year and sponsor.
What Battlecode is
Battlecode is a real-time strategy game where you do not play: you write the AI that plays. Your program controls a team of units competing against another team's program on a shared map, and matches are decided entirely by the code you wrote beforehand. MIT runs it each January with a high school division alongside the main tournament.
How the competition works
A real-time strategy game for which you write an autonomous player that manages a robot army. Teams receive the software and game specification in early January and refine their player through scrimmages and tournaments over the month.
Eligibility notes
The open competition is dominated by university students. The high school bracket exists so that secondary students compete against each other.
Is Battlecode right for you?
- Experience needed
- Solid programming. You need to be comfortable writing and debugging a few hundred lines of Java or Python without help.
- Time commitment
- An intense January. Serious competitors work on it most days of the month.
- What you actually do
- You write a program that makes decisions for dozens of units every turn under a strict computation budget, then watch it lose to someone else's and work out why.
A good fit if
- You already program and want something more creative than algorithmic contests
- You like strategy games
- You have a free January
Probably not for you if
- Students who cannot commit concentrated time in January
- Beginners still learning basic programming
Common mistakes
- Designing a perfect bot before submitting anything. Getting a simple bot on the ladder in week one is worth more than a sophisticated one in week three.
- Ignoring the computation limit, which disqualifies turns and loses matches silently.
- Not watching replays of your losses, which is where the entire learning happens.
How to register
- Register on battlecode.org when the season opens, usually in December or early January.
- Read the game specification the day it is released. The game changes every year and early understanding is a real advantage.
- Build a simple working bot first and get it onto the ladder, then iterate against real opponents.
- Submit for each tournament during January.
What skills you need
- Java or Python
- Algorithm design under tight compute limits
- Pathfinding
- Game theory and strategy
- Rapid iteration
Recommended resources
-
Battlecode official site (also: battlecode tutorials and starter bots)
Registration, the game engine, specifications, tutorials and past seasons. MIT publishes starter code and lectures each season, free and aimed at newcomers.
Past problems and materials
Only materials the organiser or an authorised archive publishes openly are listed here.
- Past seasons, specifications and winning bots
MIT publishes past game specifications and many teams open-source their bots.
Frequently asked questions
Do I compete against university students?
Not in the high school bracket, which runs alongside the open tournament specifically so secondary students compete against each other. You can still play the open ladder for practice.
Which language should I use?
Java has historically been the primary engine language with Python support added. Check the current season's specification, since the engine changes each year.
Reviews, tips and resources from other students
Posts are public. Do not share your full name, school, address or contact details.
Something out of date?
If a deadline, fee or eligibility rule on this page no longer matches the official site, flag it and it goes into the review queue.
You might also look at
- Grades6 to 12
- CostFree
- Grades6 to 12
- CostFree
- Grades1 to 12
- CostFree to $500
- Grades9 to 12
- CostFree
- FormatTeam
- WhereOnline