Making a game with my son
One morning, my son woke up and came downstairs, deep in thought. He looked up at me and said, “Can we make a game, Mummy?” He’s seven and he’s called Jacob.
He told me his game was called Exploding Kitties. He described the mechanics. Bad guys patrol up and down. If they see the player - a kitty - they laser them with their eyes and the kitty explodes. If the kitty can sneak behind a bad guy, it can scratch and kill him.
I had a little game making kit already. A mobile web app. An update and render loop, game objects.
I showed Jacob how to add game objects to the level. He added some red squares for the baddies and a blue square for the kitty.
I can’t tell you how magic it was to see him use something I made.
I said, shall we make the kitty move? He said yes. I prompted Cursor, “Make it so when the player taps the screen the blue square gradually moves to where they tapped.” Cursor generated the code and applied it. The mobile app, served on localhost and made available over WiFi, refreshed on my phone. Jacob tried tapping the screen and the kitty moved to where he’d tapped.
In the past when we’d made games together, the programming had been too slow for Jacob to stay engaged. Now, with code gen, the feedback loop was fast enough to keep his attention.
I told Cursor to add a prompt input box to the game itself. I wired up a little backend route that could receive the prompt and pipe it through for Claude Code to implement.
The UI for modifying the game was now built into the game itself. Jacob and I could both work on the phone. A shared headspace through a shared device.
Jacob said he wanted to draw proper pictures for the kitty and the bad guys. I typed into the phone, “Create a pixel editor on the game object properties screen. Store the pixel art on the game objects.” Two minutes later, Jacob was poring over the throne, drawing the kitty in the pixel editor, enthralled. It reminded me of when my Dad and I would make icons in ResEdit on the Macintosh.
After Jacob had added the kitty I said I had an idea. I typed in, “Get rid of this prompt box and replace it with a button that records audio. Use OpenAI to transcribe the audio. Send the transcription to the Claude Code backend route as before.”
The record button appeared. I asked Jacob what he wanted to change about the game next. He said, “I want to do bigger drawings.” I said, “Go ahead and tell it yourself”. He tapped the record button and said, “Make the drawings bigger,” and I added, “Like 10 by 10, right?” And he said, “Yeah,” and tapped the button to stop the recording. Half a minute later, he had a bigger canvas, and started drawing the bad guys.
Jacob can type, but slowly. Now he could speak instead of typing and build the game himself.
A fast feedback loop. Software with the edit controls built right in. A shared device. An accessible medium of expression. My son and I, in the same headspace, making something together. Magic.
Subscribe to my newsletter to hear about my latest work