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 not 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 a 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 having knowledge of a JSON library in your chosen language is recommended.

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 manuals 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 in 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 with two PCs running Scientific Linux 6. You should write platform-independent code if you select a language other than Java or Python to ensure compatibility with the competition environment, which usually runs on a Mac Pro. 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 to play a game which will be announced Friday evening. Our API will provide you with information about the current state of the game, as well as allowing 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 year's participants. The competition will begin with the opening ceremony on Friday, October 5th, after which the programming component will immediately start. The competition will end Saturday evening after running for 24 hours. The closing ceremony and awards will occur Sunday afternoon.

Registration

More information about registering for MechMania will become available closer to the date of the event. Be sure to keep checking back for updates.

Footnotes

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.