AI 协作的潜行解谜《添财义贼》:在大稻埕的屋檐下劫富济贫,浏览器直接玩
这次想做一款和台湾历史有关、但不考反应速度的游戏。闯关、格斗这类游戏很看按键手感,用手机触屏玩比较吃亏,所以我们选了回合制的潜行解谜:你走一格,守卫也走一格;你不动,他们就不动,可以慢慢想。
故事发生在日据初期(约 1905 年)的台北大稻埕。十七岁的茶行学徒添财被老板陈金水诬赖偷钱,扣了工钱赶出门。那天晚上,他从后门溜回账房,只拿回自己的三块银元,这是他第一次偷东西。后来他在陈家的柴房里找到一叠借据,上面的画押是假的……“添财”是爸妈盼他发财取的名字。他偷来的银元是留给自己,还是分给街坊,由你决定。
地点是真的:大稻埕、艋舺、剥皮寮、淡水河的码头、台北城、八里和观音山。人物和故事是虚构的。
这款游戏叫《添财义贼》(GENTLE THIEF),是一款怀旧电视游戏机格式的游戏,整个游戏文件 2 MB,有序章、五个章节、三种结局,一共 16 关潜行。故事、规则、程序、关卡、地图、角色、音乐都是 AI 做的。AI 实际工作约 129 分钟,按 API 价格换算约 22 美元。
在浏览器直接玩:aixsfc.app/player/?load=gentlethief。可以免费玩,想分享给朋友,请给他们这个网址。游戏画面使用繁体中文。
章节和地点
| 章 | 地方 | 关卡 |
|---|---|---|
| 序章 被冤枉的那晚 | 大稻埕 | 茶行账房 |
| 第一章 | 大稻埕 | 陈家后院、码头货栈、陈家前厅、陈家内房 |
| 第二到第四章 | 艋舺、淡水河、台北城 | 留给你自己玩 |
| 第五章 | 八里、观音山 | 留给你自己玩 |
每一章有一张可以四处走动的街道地图:和人说话、在摊子买东西、找下一关的入口。
怎么玩




- 你走一格,大家走一格。 方向键走路,A 原地等一回合。B 退一步,想退几步都可以,被发现了也能直接退回去,或从头来。
- 看得到的地方会标出来。 家丁看前方 3 格、巡查看 4 格,墙和布帘挡得住视线。暗处要走到守卫旁边才会被看见,水缸和树丛可以躲。
- 工具。 包子扔到狗身边,它吃饱就睡;鞭炮扔出去两回合后才响,附近的人会转头、愣两回合;朝上锁的门走过去,就用发簪撬开。
- 每章一种新机关。 比如挡住视线、但走得过去的布帘,一踩就响的木板,还有一路追着你跑的人。
- 三颗星。 过关、银元全拿、步数在标准内。
- 银元。 偷来的银元可以在摊子买包子和鞭炮,可以分给街坊,也可以自己留着。这会决定结局。
先做试玩版,再做完
AI 先提了几个方向,选定“劫富济贫的义贼、回合制潜行解谜”之后,写好故事大纲、人物和规则,再开始做。第一轮是试玩版:序章和第一章,5 关。
试玩版做好后,我们在 aixsfc.app 的播放器上试玩,修了一个过关回到街上主角不能动的问题,接着做完第二到第五章,又加了 11 关、新的机关和 5 首歌。完整版再试玩一次,根据试玩的意见让入口更好找,还不能进的门会说下一步该去哪里;银元可以在摊子买道具;菜单去掉用不到的项目,改成看记录。
街道地图沿用我们上一款游戏《无鞘》的地图组件,比如屋顶、庙、摊贩、码头、城墙和树林;潜行的部分和音乐是这次重新做的。
AI 执行的做法
- 规则先写成可以“解题”的程序。 AI 先用 JavaScript 写好潜行规则:一回合里,主角先动,检查有没有被看见,鞭炮倒数,守卫按路线走一步,再检查一次。同一套规则再用 65C816 汇编语言写进游戏,潜行的部分约 2,200 行。
- 每一关都用电脑证明解得开。 用广度优先搜索把每一关所有的走法搜一遍,找出最少步数和银元全拿的走法。再把某个道具拿掉重解一次,确认那一关真的用得到它,比如陈家后院不给包子就过不了。标准步数是银元全拿的最少步数再加 3。
- 退一步。 每走一回合,游戏就把整个关卡的状态(80 个字节)记下来,最多记 190 步,所以 B 可以一路退回去。
- 关卡从文字画成地图。 每一关先用文字画格子(
#是墙、,是暗处、J是水缸、|是布帘……),再自动转成地图。红砖、水缸、布帘、鞭炮、狗这些图是程序一点一点画的。 - 音乐全部重写。 10 首:标题、大稻埕的街、潜入、得手、剧情、艋舺夜市、淡水河、台北城、追逐、观音山的早晨。换歌时,游戏会等音效处理器说“准备好了”才送下一首。
怎么确认游戏能通关
- 游戏和规则程序逐回合比对。 把电脑找到的解法一步一步输入模拟器,每一回合比对主角和每个守卫的位置,要和规则程序完全一样才算通过。16 关全部通过,银元全拿的走法也都拿到三颗星。
- 从头玩到结局。 另一个测试从标题画面开始,像玩家一样走到每一扇门、过完 16 关、看完所有剧情,一直到结局。三种结局都走过一次。
成本
| AI 工作时间 | 约 129 分钟(企划与试玩版约 48 分钟,试玩修正约 11 分钟,第二到第五章约 55 分钟,完整版试玩修正约 15 分钟) |
| 模型 | Claude Opus 5.5,共约 176 条回复 |
| AI 输出 token | 约 28 万 |
| 处理的 token 总数 | 约 6,100 万(大部分是缓存读取) |
| 估计费用 | 约 22 美元(以 2026 年 11 月的 Anthropic API 价格换算;订阅方案计费方式不同) |
| 其他费用 | 0:字体是开放许可,其余都是为这款游戏制作的 |
版本记录
| 版本 | 改了什么 |
|---|---|
| 1.261106.3 | 入口走上去就会问要不要进去;还不能进的门会说下一步去哪里;银元可以在摊子买包子和鞭炮;菜单改成“记录” |
| 1.261106.2 | 完整版:第二到第五章、三种结局;布帘、会响的木板、追人的巡查 |
| 1.261106.1 | 序章过关回到街上不能动,已修复 |
| 1.261106.0 | 试玩版:序章和第一章,5 关 |
还没做的
- 美术都是程序画的,家丁和巡查的样子可以再区分得更清楚。
- 难度目前只靠电脑算出的步数判断,还需要更多人从头玩一遍。
想用 AI 做自己的游戏,在空文件夹运行 npx https://aixsfc.app/skill/aixsfc.tgz 再打开 claude,说明在首页。
来源与许可
- 字体:Cubic 11(俐方体11号),ACh-K,SIL Open Font License 1.1。
- 地名:大稻埕、艋舺、剥皮寮、淡水河、台北城、八里、观音山都是真实的地方;人物和故事是虚构的。
- 程序、故事、关卡、地图、角色、音乐:为这款游戏从零制作。