Competitions · Research and innovation · MIT Battlecode

MIT Battlecode.

You do not play. You write the player - an autonomous Java program commanding an army of robots against someone else’s program. One month, every January, ending in front of a live audience at MIT.

  • Javathe only language
  • 1-4per team
  • 1month, every January

Read this first

High-school teams have their own tournament.

The main qualifying routes are closed to school students, and the one that is open is easy to miss.

The qualifiers are university-only

The US Qualifier requires a team made up entirely of full-time American university students. The International Qualifier requires full-time university students with at least one member from outside the United States.

But the High School Tournament is not

A separate tournament for teams made up entirely of high-school students. This is the route for a school team, and its final is held at the main final.

And anyone can compete unranked

Anyone at all can write a bot, form a team and take part in scrimmages and the rankings. The sprint tournaments early in the month are open to every team without restriction.

So a school team gets three things

Open scrimmages all month, both sprint tournaments, and a high-school tournament of its own. That is a full season.

At a glance

What Battlecode is.

Battlecode is a real-time strategy game for which competitors write an autonomous player. Two teams’ virtual robots fight across a map, managing resources and executing strategies against each other. It is run by MIT students every January and is open to everyone in the world.

Run by
MIT students, annually
When
The whole of January, with the final at the start of February
Language
Java. The autonomous player is written in it
Team size
One to four
Who can enter
Anyone, for scrimmages, rankings and the sprint tournaments. Later tournaments have their own eligibility rules
What you learn
Artificial intelligence, pathfinding, distributed algorithms and inter-robot communication
The final
In front of a live audience at MIT
Prizes
Cash awards for the leading teams, with t-shirts and other prizes for every finalist. The published total is given two different ways, so confirm the current figure
For MIT students
It can be taken for course credit
Also at the final
A careers fair alongside the tournament

How the month works

Spec in the first week, final in the last.

Battlecode is a sprint rather than a season, and the shape of it is the same every year.

The software and rules arrive in early January

Teams receive the Battlecode software and the game specification at the start of the month. Nothing about the year’s game can be prepared before that.

Sprint tournament one, a week later

Held roughly a week after the spec is released. Small prizes, but the real purpose is learning the game and testing a prototype bot.

Sprint tournament two, a week after that

A second chance to test, win small prizes and change approach based on what the first one showed.

Then qualifiers and the final

The US and international qualifiers determine which university teams reach the final. The newbie and high-school qualifiers run at the end of the month, and their finals take place at the main final.

The tournaments

Five routes, and each has its own rule.

Knowing which tournaments you are eligible for decides how the month is spent.

TournamentWho may enter
Sprint tournamentsEvery team. No restriction
US QualifierTeams made up entirely of full-time American university students, or students in transition
International QualifierTeams made up entirely of full-time or transitioning university students, with at least one member who is not a US student
MIT Newbie TournamentTeams made up entirely of MIT students who have never competed in Battlecode before
High School TournamentTeams made up entirely of high-school students
The FinalTeams qualifying through the US or international qualifier. The newbie and high-school finals are held at the same event

Three conditions must be met by the submission deadline to be eligible for any tournament: a bot uploaded, eligibility correctly declared on the team profile, and a résumé uploaded by every member. The résumé requirement does not apply to the sprint tournaments.

What it teaches

Four things, and none of them is a language.

The organisers name what a competitor learns, and the list explains why the competition has the reputation it has in computing.

Artificial intelligence

Your program plays without you. Every decision a robot makes has to be encoded in advance, which is a different discipline from writing a program that answers a question.

Pathfinding

Robots move across a map with obstacles and opponents. Getting them where they need to be, efficiently, is a classic problem with no single right answer.

Distributed algorithms

An army of robots acting independently toward a shared goal. This is the part closest to real distributed systems work.

And communication

How robots tell each other what they know, within the game’s constraints. Teams that solve this well beat teams with better individual robots.

Preparation

How Hanlin prepares a Battlecode team.

The game changes every year, so nothing about the specific challenge can be prepared. Everything else can.

Java, properly, before January

The player must be written in Java and there is no time to learn it during the month. This is the one prerequisite that cannot be met late.

Studying past games

The mechanics change annually but the underlying problems - pathfinding, resource management, coordination - recur. Reading past specifications and past winning approaches is the most useful autumn work.

Treating the sprints as rehearsals

Sprint one exists to learn the game and test a prototype. A team that skips it arrives at the qualifiers having never played competitively.

And dividing a team of four

Pathfinding, combat logic, resource strategy and communication are separable. Four people each owning one, integrating weekly, gets further in a month than four people editing the same file.

Why Hanlin

Preparation for MIT Battlecode at Hanlin is taught by full-time subject tutors, on a course tier chosen by placement paper rather than by year group.

2017Founded
30,000+Students served
1,000+Schools represented
22Tutors on the roster

Programme formats

Five ways this is taught.

Group size is the whole difference between these. It decides how much of the tutor's attention a student gets and how far the course can bend to them, so it is worth choosing rather than accepting.

FormatGroup sizeWhat it suits
One-to-oneOne studentContent, pace and emphasis set by what this student actually needs rather than by a syllabus. The only format that can be rebuilt mid-course.
Small groupThree to eightOpens at three. Frequent discussion, and the tutor can slow down or move on according to what the group has absorbed. Most students chasing a higher award are taught in this one.
ClassEight to twelveTaught by the subject lead or a medal coach. Less back-and-forth, so it suits a student who will say when something is unclear.
Large classTen to twentyFor students in the middle of the placement range, and a way to try a competition before committing. Students often move to a small group or to one-to-one afterwards.
Past-paper classNo capPast papers worked through in sequence in the weeks before the sitting. Free to students already enrolled.

Course length for MIT Battlecode is set after a placement paper. The gap between where a student is and what the paper asks for is what the course has to close, and that gap is not the same for two students in the same year group.

How it runs

Six steps, four people on your side.

The same process for every student, so that nothing depends on one tutor remembering to do it.

Step 1

Pre-course assessment

A placement paper before anything is booked, so the course tier is chosen on evidence rather than on a year group.

Step 2

Tutor matching

A subject tutor is matched to the result, and their full background is provided before you agree to it.

Step 3

Plan and group

A study group opens with four people on one student: the tutor, a planner, a supervisor and an academic manager.

Step 4

Scheduled teaching

The teaching office sets the timetable around the competition date and school term, and teaching begins.

Step 5

After-class reports

What was covered, and how the student handled it, reported after every lesson.

Step 6

Homework follow-up

The teaching assistant and the form teacher both check that homework is done, which is where most preparation quietly fails.

Free resource pack

Season and build pack

The same material our own MIT Battlecode students work from. Scan the code, say what you need, and an advisor sends it.

Scan to consult on WeChat
Scan to consult on WeChat
Scan to ask on WeChat

Tell an advisor which competition and year group, and the material comes back the same day. Free, and you do not have to enrol in anything. If we do not already hold what you need, we will go and find it.

Usually asked forand more on request
  • PDFPast season materials and game manuals
  • PDFThe judging rubric, broken down by what earns each point
  • DOCXBuild log and documentation checklist
  • PDFEntry checklist and the dates for the current cycle

Teaching team

Who would teach it.

Three of the twenty-two tutors on the published Hanlin roster - the ones whose subject this is.

Hanlin mathematics and modelling tutor Dr An
Mathematics and modelling

Dr An

Mathematics at Illinois Urbana-Champaign with highest honours and the Elizabeth R. Bennett scholarship, then a PhD in mathematics at Johns Hopkins on full funding with the Owen fellowship and the Joel Dean award for excellent teaching. Years of US university teaching, translating high-level mathematics into language students can use.

Hanlin biology tutor Yu
Biology

Yu

Master's in bioinformatics and computational biology from UT Dallas and a nutritional sciences degree from Wisconsin-Madison. Second author on an SCI-indexed paper from the Tanumihardjo vitamin-A laboratory, and formerly at ABS Global.

Hanlin mathematics and data science tutor Tan
Mathematics and data science

Tan

Master's in data science from the University of Sydney after a statistics degree at Simon Fraser University, graduating in the top 5% with repeated chancellor's honours; A-Levels at a Cambridge international school, and formerly a data analyst at Tencent. An AMC-accredited coach, a College Board-accredited AP teacher, and holder of a Math League excellent-teacher award.

Where it is taught

Hanlin learning centres.

Teaching runs from Hanlin's own centres in Shanghai, Shenzhen, Chengdu and Hangzhou, and online for students elsewhere.

Tiered forum space with university pennants at a Hanlin learning centre
The reception area at a Hanlin centre
A training room at a Hanlin learning centre
The student lounge at a Hanlin learning centre
A tutorial room at a Hanlin learning centre
A classroom at a Hanlin learning centre
The Hanlin education building in Shanghai

Talk to an advisor

Everything Hanlin does for MIT Battlecode, in one conversation.

Entry, planning, coaching and the past papers. An advisor will tell you which of these a student actually needs, including when the answer is none of them.

  • Competition entry and planning

    Which competitions suit this student, in what order, and by when - then we handle the registration, including the ones that can only be entered through a school or a centre.

  • Competition coaching

    Taught by full-time subject tutors, on a course tier chosen by placement paper rather than by year group.

  • International curriculum tutoring

    IB, AP, A-Level, IGCSE and the US high school curriculum, taught alongside school and timed around the exam calendar.

  • Competition past papers, free

    A large library of past papers, mark schemes and syllabus breakdowns across every competition on this site. No charge and no enrolment.

WeChat

Scan to add an advisor

Scan to consult on WeChat
Scan to consult on WeChat

Say which competition or course you are asking about. Replies in Chinese or English.

Or call +86 21 6352 6630

FAQ

Battlecode, briefly answered.

What students and families ask before entering.

Can a high-school student compete?

Yes. There is a dedicated High School Tournament for teams made up entirely of high-school students, and its final is held at the main final. Any team can also take part in scrimmages, the rankings and both sprint tournaments.

Can a high-school team enter the main qualifiers?

No. The US Qualifier requires full-time American university students and the International Qualifier requires full-time university students with at least one non-US member.

What language do I write in?

Java. The autonomous player is written in Java.

How big is a team?

One to four people.

When does it run?

Through January. The software and game specification are released at the start of the month, two sprint tournaments follow in the following weeks, the qualifiers run at the end of the month, and the final takes place at MIT in front of a live audience.

What do I need to do to be eligible for a tournament?

By the submission deadline: upload a bot, declare your eligibility correctly on your team profile page, and have every member upload a résumé to their profile. The résumé requirement does not apply to sprint tournaments.

What is Battlecode actually like?

A real-time strategy game in which you write the player rather than playing. Your program commands an army of robots that move, fight, manage resources and communicate, against another team’s program.

What will I learn?

Artificial intelligence, pathfinding, distributed algorithms and communication - the four things the organisers name.

What are the prizes?

Cash awards for the leading teams, plus t-shirts and other prizes for every finalist. The published prize pool is stated two different ways, so confirm the current figure with the organisers.

Can I prepare in advance?

Not for the specific game - the specification is only released in January. What can be prepared is Java, and familiarity with past years’ problems, which recur even as the mechanics change.

Related

Other computing competitions.

What students enter alongside Battlecode.

Battlecode enquiries

One month, one language, and a tournament of your own.

The university qualifiers are closed to school students, but the High School Tournament is not - and the sprints are open to everyone. Tell us what the students program in and an advisor will map the autumn Java work and the January month.

Competition enquiries+86 21 6352 6630 Curriculum & test enquiries+86 21 6352 6628
Service citiesShanghai · Shenzhen · Chengdu · Hangzhou