AI 協作的古風 RPG《無鞘》:從廣州一路北上到錢塘潮,瀏覽器直接玩
這次的題目是一款 90 年代風格的中文回合制 RPG,走古風路線。故事從廣州開始:颱風夜,十五歲的船家少年何遠舟在珠江邊的泥裡撿到一把只剩半截的斷劍。劍裡住著劍靈「無鞘」,教他馭劍。但劍的力量不是白給的,每用一次,都要還。
遠舟和兩位同伴一路北上,經過白雲山、丹霞山、梅關、富春江、臨安、西湖,一直走到錢塘江邊。地名和景點都是真的,人物和故事是原創的。
這款遊戲叫《無鞘》(SHEATHLESS),是一款懷舊電視遊樂器格式的遊戲,整個遊戲檔只有 2 MB,有序章、五章、終章和尾聲,可以從頭玩到「完」。劇情、程式、地圖、角色、敵人、音樂都是 AI 做的。AI 實際工作約 160 分鐘,按 API 牌價換算約 53 美元。
在瀏覽器直接玩:aixsfc.app/player/?load=tidesword。可以免費玩,想分享給朋友,請給他們這個網址。
故事和地圖
| 章 | 地方 | 發生什麼事 |
|---|---|---|
| 序章 颱風夜 | 珠江畔、海珠石 | 撿到斷劍,第一次馭劍 |
| 第一章 廣州 | 廣州城、海寇倉庫、南海神廟 | 救下青漪,追查海寇 |
| 第二到第五章 | 白雲山、丹霞山、梅關、富春江、臨安、西湖、錢塘江 | 留給你自己玩 |
| 終章、尾聲 | ? | 留給你自己玩 |
一共 18 張地圖。地圖分成五組圖塊:廣州、山路、江南水鄉、臨安、錢塘。每組有自己的圖塊和日夜兩套顏色。
怎麼玩






- 走路和對話: 方向鍵走路,A 調查和對話,按住 B 跑步。有些對話要做選擇。
- 戰鬥: 回合制,有攻擊、法術、道具、防禦、逃跑。HP 和 MP、單體和群體法術、補血、解毒、救回倒下的同伴、會心一擊、中毒。
- 隊伍: 遠舟、青漪、鄭九三個人,每人依等級學會不同的招式。遠舟用劍氣攻擊,青漪負責補血和復活,鄭九擋在前面保護同伴。等級上限 20。
- 頭目: 6 場頭目戰,加上一場打輸也會繼續的劇情戰。
- 其他: 商店、客棧、寶箱、選單(狀態、法術、道具、存檔),電池存檔,每章開頭自動存檔。
先做試玩版,再做完
AI 先寫好劇情大綱、人物和景點,討論過結局,再開始做。第一輪先做試玩版:序章和第一章,6 張地圖、8 種敵人、9 首歌,到第一章的頭目為止。
試玩版做好後,我們在 aixsfc.app 的播放器上試玩,AI 依試玩的意見改了幾個地方,例如目標不夠明顯的地圖,把該找的東西畫出來,讓玩家知道要往哪裡走。之後接著把故事做完,又加了 12 張地圖、17 種敵人和 5 首歌。
試玩版的引擎只放得下一個地區的圖,所以做後面章節之前,AI 先改了引擎:
- 每張地圖各自載入圖塊: 進地圖時才把那一區的圖塊、組合方式和顏色送進顯示記憶體。原本全部地圖共用一組,上限 512 個圖塊。
- 每張地圖各自載入人物: 這張地圖用到的人物,打包成 8 KB,進地圖時載入。
- 每場戰鬥各自載入敵人圖: 只載入這場戰鬥會出現的敵人圖和顏色。
全部章節做好後,再實際從頭玩一次,依試玩的意見補上法術和道具的說明、在選單裡用完法術或道具後的結果訊息,也修正了幾個會讓人卡住的地方。
AI 執行的做法
- 劇情: 劇情、地圖、對話都寫成資料,編譯成 38 個指令的事件腳本,由遊戲裡的直譯器執行。地圖也是用程式畫的:放房屋、廟、塔、碼頭、橋等元件。
- 文字框: 用 HDMA 每條掃描線設定視窗,配合色彩運算把框內的畫面變暗,看起來是半透明的深色框。中文字型是 Cubic 11 像素字型,只收遊戲裡用到的字,約 1,100 個字形。
- 美術: 地圖圖塊、角色、敵人都是程式一點一點畫的。角色用 16×16 的 Q 版樣板,再疊上髮髻、斗笠、官帽、頭巾、鬍子等配件。戰鬥背景和標題畫是程式產生的水墨山水。
- 音樂: 14 首,用我們 sfc-make 工具的 MML 寫成。原本的音效驅動程式只能放一首歌,這次加了換歌的指令:讓聲音處理器回到開機時的上傳流程,由遊戲送上下一首。
- 大小: 程式約 8,100 行 65C816 組合語言,產生器和測試工具約 3,000 行 JavaScript。遊戲檔 2 MB,8 KB 電池存檔。
怎麼確認遊戲能玩完
- 劇情: 用沒有畫面的模擬器加上按鍵腳本,從標題一路觸發到「完」:每一章的劇情、頭目戰、終章、尾聲都在畫面上確認過。
- 地圖: 寫了一個檢查工具,從每個入口走遍地圖,確認每個出口、劇情觸發點和人物都走得到。
- 難度: 寫了一個戰鬥模擬器,用和遊戲相同的公式,在預期的等級各打 2000 場。每章結束大約是 12、14、16、18 級,頭目在預期等級的勝率約五到九成。模擬的打法很簡單,真人應該更高。
成本
| AI 工作時間 | 約 160 分鐘(試玩版約 111 分鐘,後面的章節約 33 分鐘,全部做完後試玩修正約 16 分鐘) |
| 模型 | Claude Opus 5.5,共約 420 則回覆 |
| AI 輸出 token | 約 63 萬 |
| 處理的 token 總數 | 約 1.5 億(大部分是快取讀取) |
| 估計費用 | 約 53 美元(以 2026 年 11 月的 Anthropic API 牌價換算;訂閱方案計費方式不同) |
| 其他費用 | 0:字型是開放授權,其餘都是為這款遊戲製作的 |
版本紀錄
| 版本 | 改了什麼 |
|---|---|
| 1.261106.0 | 商店下方「錢」那一行的字不再被說明蓋掉 |
| 1.261105.9 | 走進另一張地圖時自動記錄;戰鬥失敗後從最近的記錄繼續 |
| 1.261105.8 | 標題畫面顯示版本號 |
| 1.261105.7 | 第一章廣州:問到倉庫的消息後,西門的看守馬上離開,不用再換地圖 |
| 1.261105.6 | 升級時解除中毒和昏睡 |
| 1.261105.5 | 在選單裡用完法術或道具會說明結果;戰鬥中中毒,打完仍然中毒,昏睡在戰鬥結束時解除 |
| 1.261105.4 | 修正選單裡的道具效果(例如還魂丹);道具清單可以換頁;法術和道具加上說明 |
| 1.261105.3 | 完整版:第二到第五章、終章、尾聲 |
| 1.261105.2 | 海珠石的目標更清楚;攻擊會打到選中的敵人;修正夜間戰鬥的畫面 |
| 1.261105.1 | 改名為《無鞘》;序章的竹筏更好找 |
| 1.261105.0 | 試玩版:序章和第一章 |
還沒做的
- 美術都是程式畫的,之後可以換成更精緻的主角、頭目和背景。
- 隊友不會在地圖上跟著走,戰鬥中也還沒有我方的人物圖。
- 後面章節的難度只用模擬器調過,還需要更多人從頭玩一次。
想用 AI 做自己的遊戲,在空資料夾執行 npx https://aixsfc.app/skill/aixsfc.tgz 再開 claude,說明在首頁。
來源與授權
- 字型:Cubic 11(俐方體11號),ACh-K,SIL Open Font License 1.1。
- 地名與景點:廣州、白雲山、丹霞山、梅關、富春江、嚴子陵釣台、臨安、西湖、靈隱寺、飛來峰、六和塔、錢塘潮都是真實的地方;人物和故事是虛構的。
- 程式、劇情、地圖、角色、敵人、音樂:為這款遊戲從零製作。