A cooperative shouting game for the Tildagon badge, built for EMF Camp - and a deliberate experiment in building an entire end-to-end project with AI.
For years, my go-to "we have some downtime, what now?" for a group where the ice still needs to be a bit broken has been Spaceteam. It gets people talking and laughing, is co-operative so there's no feel-bads at the end, and doesn't last too long so even if you have to end early (because, say, the taxi has arrived), no real effort has been lost.
Race Condition is a love letter to Spaceteam. I first came up with the idea of an EMF-based version of it in 2022, where I had the lofty idea of those interested being able to build their own 'boxes' in advance of the festival with switches, dials, and so forth, and having some sort of standardised way for them to interact with each other, negotiate their capabilities and run a game. It would be a lot of effort for people to do in advance for a very specific, and what is best treated as a very casual, game though.
In 2024, the badge team announced the Tildagon badge, which was described as
"A reusable badge with modular components upgraded at each event, and hexpansion slots to fill with your own creations."
which sounded perfect for what I wanted to do. Anyone (with a badge) would have the basic hardware required to play, and extra buttons or widgets could in principle be plugged in ad-hoc for a variety of commands. In 2024, I bought a badge, and also hunted down the SEGA Mega Drive Controller hexpansion with the explicit intention of it being my main 'guinea-pig' hexpansion for a Spaceteam-like game.
The run-up to EMF Camp 2026 has been a bit of a whirlwind for me for various reasons, but I have been determined to get the game at least playable there - and hopefully with support for the new badge and official Keebdeck hexpansion as well once those are available to test with. My intention for EMF 2026 is to locate as many possible hexpansions as possible and add support for them - either in the field, or afterwards for 2028. If I am very lucky and the game is actually enjoyed by others, then my hope is to maybe even receive PRs from hexpansion designers or enthusiastic players to add support for them.
This is absolutely only at-all possible with the decision to make the Tildagon a reusable platform. If I am able to muddle my way through this thanks to that, I cannot wait to see what the actually skilled badge developers come up with.
Potentially controversially, this whole project - i.e. the app that runs on the badge, the server that coordinates rooms and scoring and this website, was built with a lot of help from Claude.
My day job is (quite aggressively) encouraging us to get use AI as much as possible, but I have been reluctant to use it very much on the 'code generation' side of things; I have been using it for reviews (which I will say has been useful - right up until doing so was considered an export risk), but letting it generate code felt like a step too far to do so 'blindly' on an existing codebase.
I therefore thought this project might be a good testbed. A new codebase is obviously vastly easier for experimentation. In addition, Python is certainly not my first language of choice, and I was also curious to see how helpful it could be with what is an esoteric piece of hardware.
The verdict? It definitely helped. I didn't try and 'one-shot' anything, and tried to keep it on tight leash when working on features, which came out mostly as I expected. It even found the odd bug (including one that would only manifest when three badges - one more than I'm currently able to test with - were in a game). And I must admit, I don't think I could have achieved the same results without it (in the required timescale, certainly).
I am expecting AI to be a controversial topic at EMF this year. There are projects like this, which have used it heavily. There are also projects that leave no doubt as to the author's negative opinions on the topic. I just hope that regardless, everyone can continue to carry the incredible vibes that have always permeated EMF.