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。
- 地名:大稻埕、艋舺、剝皮寮、淡水河、台北城、八里、觀音山都是真實的地方;人物和故事是虛構的。
- 程式、故事、關卡、地圖、角色、音樂:為這款遊戲從零製作。