What is it?
MechMania brings together teams from schools across the midwest to compete in a 24-hour AI programming contest. On Friday evening, we will reveal the game and provide documentation on the API. If you can't make it Friday night, don't worry - you can still compete, but you'll be missing Dropbox's tutorial on Python and REST, two of the underlying technologies in this year's competition. After the programming portion of the competition ends, we will be presenting the final games live. A representative of your team must be present at the closing ceremony for your team to win.
Sponsored by Dropbox
We accept teams of up to three people in two brackets:
Our student competition accepts up to twenty teams and pits them against each other in one final battle. Each member of the first place team will receive an iPad 2 provided by Dropbox as well 150GB of Dropbox space for life. Second place team members will each receive 100GB of Dropbox space for life, and third place team members each will receive 50GB of Dropbox space for life.
Other prizes will also be given out throughout the night, provided by Bungie and the ACM.
The corporate competition is open to teams representing companies. This year, we have already received enough of a response to ensure a corporate game.
What you need to know
We expect competitors to be familiar with a Linux command line (you will have an option between bash, zsh, and csh). Our provided workstations will also give you vim, emacs, and various graphical editors such as Eclipse and gedit. We will also provide compilation tools for Java, a complete Python 2.7 environment, as well as gcc for C, C++ and all the other languages it compiles. Sample game clients will be provided in Python and Java, but you are free to use any language capable of communicating with our API1. The intermediate data description language will be JSON, so be sure to learn a JSON library for your chosen language.
What you don't need to know
No knowledge of graphics programming is required. For the languages we provide sample clients for, no network programming experience is required. Additionally, Dropbox is running a tutorial on REST in Python during the opening ceremony. This is a change from previous years and was requested by numerous contest alumni.
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
The competition starts with an opening ceremony on Friday, October 7th., after which we will give you the night to rest. The labs open and you can start coding on Saturday morning at 9AM. We will stop accepting updates to your submission at 9AM Sunday, for a total of 24 hours of coding time. The final presentation will happen at 1PM on Sunday.
What we'll give you
Teams will be provided with 2 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 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.; we still have the large, fuzzy bat from last year and we will make contact with your skull if necessary.
Registration for MechMania is now closed.
1 ... that compiles and runs 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.