What is it?

MechMania is a 24-hour programming contest in which teams of students from various schools compete to create an AI capable of playing (and winning) a strategy game we have developed for the event.

Registration for MechMania 2012 has closed.

Who's eligible?

We accept teams of up to three people in two brackets: the student competition and the corporate competition.

Student Competition

Our student competition accepts up to twenty teams and pits them against each other in one final battle. Teams do not need to be comprised of all students from the same school, but all participants must be actively enrolled in a college or university.

Corporate Competition

The corporate competition is open to teams representing companies. Be sure to contact us if your company is interested in participating in this year's competition. There are no prizes (other than the joy of winning) for corporate competitors.

What you need to know

At least one, and preferably all, members of each team will need general familiarity with a Linux shell (bash, zsh, and csh are all provided on our workstations). All members should be proficient in the programming language their team intends to use. The API will use JSON messages passed over HTTP, so we recommend having knowledge of a JSON library in your chosen language.

What you don't need to know

No prior knowledge of any specific languages are required1. You won't need a background in artificial intelligence—in previous years, many teams without an AI background have competed and done well, or even won. You also shouldn't need knowledge of network programming beyond HTTP requests.

What you can bring

You can bring any reference manual(s) you wish, whether it be the Art of Computer Programming or the Art of War. But absolutely no outside code. You may, however, bring non-code items like rc files, build scripts, notes, etc. Competitors are allowed to bring their own laptops, though the code you write must be capable of running on our systems.

What we'll give you

Teams will be provided two PCs running Scientific Linux 6. Your code should be platform-independent to ensure compatibility with the competition environment. We will provide a standard Unix environment, as described above. You will have access to the internet throughout the competition and are free to find reference materials, documentation and third party libraries2.

What you'll do

By either starting from scratch or using our provided sample clients, you will build an artificial intelligence client to play a strategy game of our design. Our API will provide you information about the current state of the game, as well as allow you to send commands to play it. You may find previous competition sites useful to get an idea of how MechMania operates.

When it'll happen

This year we have changed the start time for the competition based on feedback from previous years' participants. The competition will begin with the opening ceremony and announcement of the game on Friday, October 5, after which the programming component will commence immediately. The competition will end Saturday evening after running for 24 hours. We will present the closing ceremony and awards Sunday afternoon.


1 You may only use languages and language features that compile and run on our test machine. Note that this means you should avoid Linux-specific C/C++. Pure Unix-targeted code should suffice.

2 Please note that when we say "third-party libraries," we mean third-party--not ones written by you, your team, or your friends. We will try to make sure that PIP is set up for Python users.