Robot Tournament (Matt Wynne)

As agile software craftspeople, we aspire to early and continuous delivery of valuable software.This hands-on session will test how well you can meet that goal by challenging you to code a simple robot that will have to compete in a series of battles.

You can continue to refine and upgrade your robot though the tournament. The earlier you release your robot, the sooner you will win some battles and start accruing points.This is a great chance to have some fun showing off your coding skills as well as your project management strategies.The audience should form themselves into pairs or small teams.

The session will take three parts. We’ll start with a warm-up, giving participants a chance to spike the technology and process they’ll need to follow to compete in the tournament itself.

This will include writing a simple command-line program in the supported* language of their choice, and copying it onto the tournament server.

Once we’re confident everyone has reached this point and all the technical issues have been ironed out, then the tournament will begin. We will explain the rules of battle (a simple board-game which everyone will know) and the tournament format.

Then we say ‘go!’ and at every 10-minute interval after that, a battle will take place on the tournament server, between whichever team’s robots are ready.

We’ll provide a couple of seed robots to play in the tournament – modest (or quite useless!) players who will give our teams someone to compete with.

Points will be accrued for any wins in each battle, thus rewarding teams who submit simple solutions early, rather than obsessing over the perfect player before releasing anything.

* we’ll do our best to run anything that can run on Ubuntu linux

Session requirements (technical)

Competence in a programming language that will run on a linux system (e.g. python, perl, ruby, haskell, java, clojure, erlang, C# (under mono)Audience should bring a laptop which can connect to the conference networkAudience will find the session much easier with ‘curl’ and ‘zip’ command-line tools installed.

Similarly to other people here, this was my first ever screencast. Please don’t confuse a crap screencast with a crap session.I’d particularly appreciate feedback on how well the screencast sells the session (particularly if you’ve participated in it before, e.g. at SPA2010), so that I can do another iteration of the screencast.