Put on your bracers, pocket-protectors and white socks and come with me back in time to the 1980s. A time when the only graphics games had were the ones they planted in your brains, with words.
I’ve just put the first version of Planedrift live. With it, you can play classic infocom text adventures - and other text adventures that compile for the v3 infocom Z-machine - in the browser. No ads, no sign-up, no cookies, everything stored in localStorage. It looks nice too. Jump into a story, play for ten minutes and jump out - the game is snapshotted and saved automatically. Feature, feature, marketing spiel, bullet point, bullet point.

My psychological problems with the whole idea of marketing aside, I’m pretty pleased how it turned out and I’ve been able to play through a couple of complete infocom games on my own and with my eleven-year-old. And I’m excited to play more. That’s the best thing.
Like all good things, it came about by accident and then deliberately.
Around 15 years ago I wanted to try and understand the Z-machine, having found a copy of infocom’s Wishbringer at a car boot sale, unopened (and with the original glow-in-the-dark plastic pebble). I started making notes and for a few weekends had the idea of turning that into a book. My attention waned and I forgot all about it. But a couple of months ago I found 80 pages of Z-machine notes in a folder called ‘old_projects_misc’. In the ‘book’ I’d started to implement the z-machine in ruby. I’d just finished a different project in Elm and so I started to make a z-machine in it.
The z-machine led to a terminal client then to a web client then to the idea that I could make it into a whole site. I found one of the many domain names I’ve bought over the years for long-forgotten projects and planedrift started to become a real thing.
I used Claude code heavily while making the z-machine, falling into a pattern where I worked out the spec of a feature with it, allowed it to write the code, while I refactored and prodded and suggested improvements. For Planedrift, I wrote almost all of the code by hand, using Claude as a critic and questioner, as well as keeping track of and prioritising the tasks.
One of the most infuriating things is that it cannot quite understand my mindset in building and releasing this. Part of that is certainly because I don’t really understand it either. I just want it to exist and if it’s going to exist I want it to be carefully done.
It’s continually trying to get me to write marketing plans or push me into thinking about this as a hustle - I guess prompted by the innumerable clickbait articles about launching products that it’s ingested in training.
It’s the most inhuman aspect of Claude I’ve come across - ambiguity of purpose, pure play, sharing as an end in itself are not things it’s comfortable with in this context. To be fair, I’ve had colleagues like this in the past.
One example, I’ve been using it to file away any online comments and it has the weirdest, mechanical responses to them: “That’s exactly the feature I flagged earlier as your closest-to-unique angle. The kind of tidy engineering that’s satisfying when everything else feels heavy. You now have outside confirmation that it’s the thing people latch onto. Worth leaning into that as the headline claim in the blog post.” Huh? You definitely get the sense sometimes that it’s just trying to fill the silence with jargon.
But, I wouldn’t have done it without it and I’ll put up with the occasional left-of-field nonsense about business models to get the productivity improvement from working with it.
Anyway, Planedrift is live now. I’d be really delighted if you try it, even more delighted if you enjoyed playing a game with it and cock-a-hoop if you sent me some feedback. I’d like to get it as ‘finished’ as I can so that I can put it down and move on to something else for a while.