Inspiration
We love competitions like MIT's _ Battle Code _ and Two Sigma's _ Halite _ as platforms for student-created AI bots to compete. Not only are they incredibly exciting competitions, but they provide endless learning experiences to computer science students and enthusiasts that are extremely difficult to reproduce in a classroom environment. We wanted to see these sorts of competitions to grow in number and popularity, so we created mlarena.
What it does
mlarena is a Platform as a Service that provides prospective AI competition hosts a convenient service for creating and running games at a large scale. All that the host has to do is upload the code (as python files, for instance) that runs their game and provides the game API. After that, other users can upload code for their own bots to play this game. In an automated match-scheduling process, the bots are pitted against each other to play the game. A leaderboard displays most successful bots using an elo rating system. Additionally, the competition host can provide an animation script that animates replays of matches directly in the browser.
How we built it
The website and database were built using bootstrap and django. All matches between bots are run through Google Cloud Functions, allowing for many games with high computational overhead to run at a large scale. Our django app was hosted and deployed via Google App Engine.
Challenges we ran into
One challenge that we ran into dealt with the JavaScript files that competition hosts provided in order to animate replays of matches. It was difficult figuring out how to store these files and load then into the animation page.
Accomplishments that we're proud of
We are proud of how much all of us learned throughout the development of this project from Python Django and Google Cloud Platform.
What we learned
For two of our team members, this was our first experience with Python Django. With all of us working with Python Django for this webite, we have more experience with how it works. We also all gained understanding of working with the Google Cloud Platform.
What's next for mlarena
Protecting against cross side scripting (XSS) attacks, because part of our project relies on a javascript injection to function.

Log in or sign up for Devpost to join the conversation.