I haven’t read much here about using AI to develop games for playdate. I feel a quite ambivalent about it for many reasons, but at the same time I read stories online of people vibe coding complete phone apps in a day or two and being really enthusiastic about it.
So I decided to give it a go and built a simple puzzle game for playdate usign copilot in VS Code. I recalled seeing some clips online of a UK tv-show where contestants had to pick some numbers and then solve a puzzle using those numbers. So I called the game Math Professor and started vibe coding it based on what I remembered from those clips. Later I looked up more info and found that the show was called Countdown and I applied most of the rules of that show.
This is what it looks like (I know it’s still very rudimentary).
I have to say, I really enjoyed developing a game this way. Just being to able to say what you want and then seeing the result felt magical.
Like I said, the game is very rudimentary still, but if you want to give it a try, you can download it from github here. I made the repo publicly available in case you'd like to see the code the AI produced.
I also added a list of all my instructions to the AI (the bot responses were too verbose, so I omitted those) in case you find that interesting. You can find that here: REQUEST_HISTORY.md
There's also an instructions.md file with things like coding style instructions for the AI.
Some more details:
I used Copilot in VS Code on a Mac
I started out with a basic 'Hello world' template
I used Claude Opus 4.6 as the model most of the time, but at the end I switched to the 'Auto' setting VS Code and let copilot decide which model to use
I set a budget limit in Github to $15 and I've now almost reached that limit
Let me know what you think. Tips, suggestions or questions are welcome.
I've been playing with an LLM-friendly version of the Playdate Lua SDK API definitions. PR link:
The raw Inside Playdate HTML is ~80k tokens (does not include playdate-luacats types). Compactified stub with just functions / types is ~30k tokens. Playdate-luacats types enriched with descriptions from Inside Playdate is ~90-110k tokens-ish
All of those are awfully big to include by-default in your system prompt / AGENTS.md. But the agent doesn't need all the functions all the time, so you can split it into multiple files (75) and then provide an index in your AGENTS.md which is only ~300 tokens.
I copied and pasted relevant docs while I was working on my app (A FOSDEM schedule app), and it worked well, but I will try the docdef in my next project.
I published my LLM transcript along with a blog post about the experience: Making Kurbelfahrplan · Nemo's Home . I wouldn’t call it vibe-coded though, since I had to keep an eye on the code and fix some bugs on my own.
With agentic harnesses, you need a very good feedback loop for good results, and I couldn’t achieve one with the playdate simulator (I didn’t try hard either). There was a bug where the code calculated the font size dynamically, and the font was not visible. No amount of prompting could get the font visible. I had to debug and found out that there is a min size limit on the playdate sdk (iirc) beyond which text doesn’t render.
Using Opus gave me enough confidence to finish the app. Instead of my last attempt, which is still unfinished because of an incomplete refactor.