Registration
This is my first year to get involved with Battlecode. If you don't know what Battlecode is go and check it out. Basically it is a programming competition held each year by MIT in which coded AI bots fight each other on a virtual map.
Last year I came across Battlecode after they had already started up for the year. I watched along with several of the lectures and I tuned in for most of the competitions.
It looked like a whole lot of fun to me, so this year I decided to sign up for it. I'm not a student, so I can't compete for prizes, but that's okay with me because honestly I have no chance of being a strong competitor anyway.
Goals
You may be wondering, if I have no chance of prize money and no chance of ranking very high (or maybe at all) in the competition, what am I doing signing up?
Simple, I want to learn. I want to expand my coding skills. I'm totally okay taking on a project like this which I may completely fail at. Better to try and fail horribly than to never try at all.
If I had to pinpoint my goals for the competition it would go something like this:
- Get something working, anything, even if it always gets beaten by the other bots and always comes in dead last.
- Think heavily about how machine learning concepts like neural networks and reinforcement learning could come into play.
Summary
Hopefully over the next few weeks as this competition plays out I will be able to accomplish that first goal to simply get a bot working. It may not be the smartest or longest living one, but the real players could always use it as a sparring partner on the scrimmage server.
I really hope that this year one or more of the teams do try to use some machine learning techniques to train their bots and to keep them agile during fights. I will go further into my ideas and thoughts for these concepts as this progresses over the next few weeks. I will try to hash out most of my thoughts here since I have no chance of winning and there is the off chance that something found here could help the real competitors to develop their own strategies.