SPA Conference session: Robot Tournament

One-line description:Small teams of programmers will create robots and send them into battle over a series of tournaments. Which team's strategy and skill will win?
 
Session format: Workshop (150 mins) [read about the different session types]
 
Abstract:As agile software people, 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!
 
Audience background:Competence in a programming language that will run on a linux system (e.g. python, perl, ruby, haskell, java, clojure, erlang, possibly C# (under mono) - if we figure out how to support it!

Audience should bring a laptop which can connect to the conference network.
 
Benefits of participating:Have fun finding out who is *the best*, not just at programming, but at steadily delivering valuable working software.
 
Materials provided:A linux server to act as the tournament arena.
 
Process:The audience should form themselves into pairs or small teams.

The session will take two 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
 
Detailed timetable:0-10 mins welcome
10-40 warm-up & registering teams with the tournament server
40-140 10 x battle iterations
140-150 prizegiving and retrospecting
 
Outputs:The tournament server (which we need to write beforehand!) will be open-sourced on Github.
We'll write up the tournament on our blog(s) and post the robot's source code to Github.
Fun.
 
History:We ran the tournament as dojo session after work one evening at Songkick. It was fun, but we realised it would be more fun with a more diverse range of robots written in different languages.
 
Presenters
1. Matt Wynne
Songkick.com Inc.
2. Dan Lucraft
Songkick
3.