I wasn't familiar with Io, I admitted, but I corrected that soon enough. Friends from ThoughtWorks had asked. I found a lot to like in Steve Dekorte's prototype based language. Io Game was my one big program. website
Rules page for the web based Io Game. Implementation included html and unit test frameworks.
The game set multiple users chasing changing goals as they play cards and draw more at whatever speed they could muster. post
I thought I'd have a chance of winning Steve's competition. My game was styled to fit right into his site. Some shooter or something actually won. I took it ok, mostly.
I developed a testing framework that exploited unevaluated expressions as function arguments. This allowed me to print good messages when tests failed. I also ran all the tests as part of the server boot sequence.
I showed it to Elisabeth Hendrickson once. She warned me that she could find a bug in anything. It took about 6 seconds. I felt cheated though, Steve had changed the language since I'd last run the program.
I hadn't tested everything as Elisabeth showed. I started writing tests only when I felt game coding slowing down. Tests sped it up again. I called it "test accelerated development". The parts Steve changed weren't parts I didn't understand.
Steve even changed his website typography so my complete ripoff wasn't so clear. Humph.