Gentle Thief: a stealth puzzle made with AI, robbing the rich under the eaves of old Taipei, playable in your browser
This time we wanted a game about Taiwan’s history that doesn’t test your reflexes. Platformers and fighting games depend on how buttons feel, which is hard on a phone’s touch screen. So we made a turn-based stealth puzzle: you take one step, the guards take one step; if you don’t move, nor do they, and you can think it over.
The story is set in Dadaocheng, Taipei, in the early years of Japanese rule (around 1905). Tiancai, a seventeen-year-old apprentice at a tea house, is accused by his master Chen Jinshui of stealing, loses his wages and is thrown out. That night he slips back into the office through the back door and takes only his own three silver dollars: the first thing he has ever stolen. Later, in the Chen family’s woodshed, he finds a stack of IOUs, and the signatures on them are fake… His name, Tiancai, means “more wealth”: his parents hoped he would get rich. Whether he keeps the silver he steals or shares it with his neighbours is up to you.
The places are real: Dadaocheng, Bangka (Wanhua), Bopiliao, the Tamsui River docks, the walled city of Taipei, Bali and Guanyin Mountain. The people and the story are fiction.
The game is called Gentle Thief (添財義賊), made in the format of a retro TV game console. The whole game file is 2 MB, with a prologue, five chapters and three endings: 16 stealth heists in all. The story, rules, code, levels, maps, characters and music were all made by an AI. The AI worked for about 129 minutes, about US$22 at API prices.
Play it in your browser: aixsfc.app/player/?load=gentlethief. It is free; to share it, send your friends that address. The game text is in Chinese (Traditional).
Chapters and places
| Chapter | Places | Heists |
|---|---|---|
| Prologue: The night he was framed | Dadaocheng | The tea house office |
| Chapter 1 | Dadaocheng | The Chens’ back yard, the dock warehouse, the Chens’ front hall, the Chens’ inner rooms |
| Chapters 2 to 4 | Bangka, the Tamsui River, the walled city of Taipei | for you to play |
| Chapter 5 | Bali, Guanyin Mountain | for you to play |
Each chapter has a street map to walk around: talk to people, buy things at the stalls, and find the way into the next heist.
How it plays




- You take a step, everyone takes a step. The arrow keys walk; A waits one turn. B undoes a step, as many as you like, so when you’re seen you can step straight back, or start the level again.
- What the guards can see is marked. Servants see 3 tiles ahead and police 4; walls and curtains block their sight. In the dark a guard only sees you from the next tile, and you can hide in water jars and bushes.
- Tools. Toss a bun next to a dog and it eats and falls asleep. A firecracker goes off two turns after you throw it, and the people nearby turn to look and stand there for two turns. Walk into a locked door and you pick it with a hairpin.
- A new trick every chapter. Curtains you can walk through but not see through, boards that creak when you step on them, someone who chases you all the way.
- Three stars. Clear the level, take every coin, stay within the par steps.
- Silver. You can buy buns and firecrackers at the stalls with the silver you steal, share it with your neighbours, or keep it. That decides the ending.
A demo first, then the rest
The AI suggested a few directions. Once “a gentleman thief who robs the rich, as a turn-based stealth puzzle” was chosen, it wrote the story outline, the characters and the rules before building anything. The first round was a demo: the prologue and chapter 1, 5 heists.
We played the demo in the aixsfc.app player and fixed a bug where the hero couldn’t move after coming back to the street from a heist. Then the AI built chapters 2 to 5, adding 11 heists, new tricks and 5 songs. After another play-through of the whole game, the entrances became easier to find, doors that can’t be entered yet now say where to go next, silver buys tools at the stalls, and the menu lost the entries it didn’t need and gained a record screen.
The street maps reuse the map parts of our previous game, Sheathless (roofs, temples, stalls, docks, city walls, woods); the stealth part and the music were made new.
How the AI built it
- The rules first, as a program that can solve levels. The AI wrote the stealth rules in JavaScript: in one turn the hero moves, the game checks whether he was seen, firecracker fuses count down, every guard takes one step along his route, and the game checks again. The same rules were then written into the game in 65C816 assembly, about 2,200 lines for the stealth part.
- Every level is proved solvable by a computer. A breadth-first search tries every way through each level and finds the fewest steps, and the fewest steps that take every coin. Then each tool is taken away and the level solved again, to show the level really needs it: without a bun, for example, the Chens’ back yard can’t be cleared. The par is the fewest steps that take every coin, plus 3.
- Undo. Every turn the game stores the whole state of the level (80 bytes), up to 190 steps, so B can go all the way back.
- Levels are drawn as text, then turned into maps. Each level starts as a grid of characters (
#wall,,dark,Jwater jar,|curtain…), converted to a map automatically. The red bricks, water jars, curtains, firecrackers and dogs were drawn by code, pixel by pixel. - All-new music. 10 songs: the title, Dadaocheng’s street, sneaking, the clear jingle, story scenes, the Bangka night market, the Tamsui River, the walled city, the chase, and morning on Guanyin Mountain. When the song changes, the game waits for the sound processor to say it’s ready before sending the next one.
How we checked it can be finished
- The game and the rules program agree turn by turn. The solutions the computer found are fed into the emulator one step at a time; every turn the positions of the hero and every guard must match the rules program exactly. All 16 heists pass, and the routes that take every coin all get three stars.
- From the title to the ending. Another test starts at the title screen and plays like a player: it walks to each door, clears all 16 heists, sits through every scene, and reaches the ending. Each of the three endings was played once.
What it cost
| AI working time | about 129 minutes (planning and the demo about 48 minutes, play-test fixes about 11 minutes, chapters 2 to 5 about 55 minutes, fixes after play-testing the full game about 15 minutes) |
| Model | Claude Opus 5.5, about 176 replies |
| AI output tokens | about 280,000 |
| Tokens processed | about 61 million (mostly cache reads) |
| Estimated cost | about US$22 (at Anthropic API prices, November 2026; subscriptions are billed differently) |
| Anything else | nothing: the font is openly licensed, and everything else was made for this game |
Versions
| Version | What changed |
|---|---|
| 1.261106.3 | Stepping onto an entrance asks whether to go in; doors you can’t enter yet say where to go next; silver buys buns and firecrackers at the stalls; the menu has a record screen |
| 1.261106.2 | The full game: chapters 2 to 5 and three endings; curtains, creaking boards, a guard who chases you |
| 1.261106.1 | Fixed: the hero couldn’t move on the street after the prologue |
| 1.261106.0 | The demo: the prologue and chapter 1, 5 heists |
Not done yet
- All the art is drawn by code; the servants and the police could look more different from each other.
- The difficulty has only been judged by the step counts the computer found; it needs more people to play it through.
To make your own game with AI, run npx https://aixsfc.app/skill/aixsfc.tgz in an empty folder and start claude;
see the home page.
Sources and licences
- Font: Cubic 11, ACh-K, SIL Open Font License 1.1.
- Places: Dadaocheng, Bangka, Bopiliao, the Tamsui River, the walled city of Taipei, Bali and Guanyin Mountain are real places; the people and the story are fiction.
- Code, story, levels, maps, characters, music: made from scratch for this game.