test driven robots with robocode

With all the test driven development I've being doing at work, on personal projects and for fun I have found that although some of it has been challenging, there has been a lot of it that involves honing already existing skills and I've been looking for something to get my teeth into that will stretch me in new ways.

I saw a post from Gojko Adzic earlier this year on Effective exercises for teaching TDD and in there was a link to a little gem called Robocode - a programming game where robot tanks battle with each other in real time.
It is primarily a Java application, but as there is now a .NET integration API, I saw this as a great opportunity to stretch myself and apply my skills to something completely new; coding deterministic strategies and artificial intelligence.

So to get this project started I downloaded Robocode and set up some private subversion repositories and a few TeamCity builds that create robot artifacts ready for use in a real time battle. In the spirit of the Xbots workshops, with a few friends and I developing each week, our plan is that on a regular basis, perhaps once a week, a Robocode battle will commence and each participant will receive points after battling it out against other robots. This will therefore be a case of small iterative development in my spare time and a complete blank slate to work from - should be very interesting.

So I hope to be posting about what I learn - I don't promise that any of my strategies will be the right ones as I know very little about this area, but I think it will definitely be an interesting challenge and a chance to try some new things out.