一句話,AI 做出一款 SFC 遊戲:《汴河煙雨》2.5D 五子棋
我們在一個空資料夾裡開了全新的 Claude Code(模型 Claude Opus 5.5),只用 npx 裝了 AI x SFC Player 的 skill 與 MCP 工具,然後給了它一句話:
幫我做一個 2.5D 五子棋,背景是清明上河圖,不斷捲動,接著幫我寫一首背景音樂,淡淡輕輕,煙煙雨雨等曲調。 請用 sfc-make,並記錄製作過程報告。
之後沒有再補充任何說明。23 分鐘後,它交回一款可以在超任(SFC)上執行的遊戲,以及一份完整的製作報告。


它做了什麼
- 長卷: 北宋張擇端的《清明上河圖》(12 世紀,公有領域)。它自己在 Wikimedia Commons 找到全卷掃描檔,裁掉裱邊與題跋,縮成 2104×104 的長條,加一點偏冷的雨霧,並把頭尾交叉淡化,讓捲動可以無限循環、看不出接縫。依手卷的傳統由右往左展開,從郊野慢慢走進虹橋與城門。
- 2.5D 棋盤: 用 SFC 的 Mode 7 做透視地面,棋盤像一塊木板漂在河上。畫面上半部(Mode 1)和下半部(Mode 7)在同一個畫面裡,用 HDMA 在地平線那一條掃描線切換。
- 對手: 玩家執黑,對電腦。電腦約 0.7 秒後應手,最後一手有紅點標示,連成五子時棋子會閃光。
- 氣氛: 左上直書題簽「汴河煙雨」,右上顯示「你的回合/電腦思考/你贏了/電腦勝/和局」;12 滴雨絲落到河面時會變成小漣漪。
- 配樂: 原創曲〈煙雨汴河〉,在下面可以直接聽。
長卷:一開始太糊,於是改用「串流」
它先用我們的 convert_image 轉換整條長卷。SFC 一層背景最多只能放 1024 個不同的圖塊,工具把 3419 個圖塊合併成 880 個,結果細節全糊了:

它的判斷是:既然畫面上一次只看得到一小段,就不必把整條長卷同時放進顯示記憶體。於是它自己寫了轉換程式:全卷共用 7 組調色盤,3419 個圖塊原封不動放在 ROM 裡;捲動時每露出新的一欄,就在垂直空白期間用 DMA 把那一欄的 13 個圖塊送進顯示記憶體裡一個 64 欄的環形區域。上面兩張遊戲截圖,就是串流後完整保留細節的樣子。
2.5D 棋盤
它先在電腦上模擬 Mode 7 的透視公式,挑出合適的鏡頭:棋盤遠端約 108 像素寬、近端約 220 像素寬。棋盤、格線、星位、木紋、黑白棋子(含高光與投影)、棋盤側面與水面倒影,全部是程式產生的 Mode 7 圖塊,一共 59 塊。
落子時只要改寫 Mode 7 地圖裡的 4 個位元組,棋子就會自動跟著透視變形。游標(毛筆形的箭頭加一個扁圓環)、最後一手的紅點和勝利的閃光則是精靈,位置從事先算好的「交叉點 → 螢幕座標」表查出來。


配樂〈煙雨汴河〉
E 羽調五聲音階(E G A B D),每分鐘 60 拍。古箏般的撥弦琶音、氣聲較重的簫吹旋律、低音弦、極輕的正弦波霧氣和音,再用高音鈴聲當作零星「雨滴落河」;回音設得較長,營造濕潤的空間感。4 小節前奏加 16 小節循環,大約 80 秒一輪。這是遊戲在模擬器裡實際演奏的錄音:
除錯與試玩
- 畫面全黑: 第一次執行時畫面一片黑。它讀記憶體,發現堆疊被同一個返回位址塞滿,追查到一段結尾停在 16 位元模式的子程序,讓組譯器把下一個常式裡的一道指令組成了錯誤的長度,程式因此跑飛。補上一行模式宣告後就正常了。
- 試玩: 它不只是隨便下幾手。它用
write_memory直接在記憶體裡排出「黑棋四連」「白棋斜向四連」「下到第 168 手」等局面,逐一驗證你贏了、電腦勝、和局、重新開局、游標不出界、不能下在已有棋子的地方,最後連續跑了約 3500 格,確認長卷從郊野經過虹橋、走到城門,再無縫接回開頭。
數字
| 給 AI 的指示 | 1 句話 |
| 總時間 | 約 23 分鐘 |
| 組譯次數 | 4 次(沒有組譯錯誤;1 個執行時的錯誤,自己找出並修好) |
| AI 回覆 | 77 則(Claude Opus 5.5) |
| AI 輸出 token | 102,352 |
| 處理的 token 總數 | 約 1,090 萬(大部分是快取讀取) |
| 估計費用 | 約 5.5 美元(以 2026 年 10 月的 Anthropic API 牌價換算;訂閱方案計費方式不同) |
用了哪些工具
全部來自 AI x SFC Player 的 sfc-make skill 與 MCP 伺服器:自製的 65C816/SPC700 組譯器(build_rom)、MML 作曲與音效驅動(build_sound)、圖片轉換(convert_image)、模擬器裡的試玩與記憶體工具,以及自動記錄每一步的製作報告(start_report、write_report)。長卷串流的轉換程式和棋盤圖塊產生器,是 AI 在過程中自己用 Python 寫的。
想自己試試,在空資料夾執行 npx https://aixsfc.app/skill/aixsfc.tgz 再開 claude 即可,說明在首頁。
關於這款遊戲
這是一次研究示範,遊戲本身(ROM)與原始碼不公開提供。
- 畫作:張擇端《清明上河圖》,12 世紀,公有領域;掃描檔來自 Wikimedia Commons。
- 字型:俐方體11號(Cubic 11),ACh-K 製作,以 SIL Open Font License 授權。
- 程式、棋盤與精靈美術、配樂:由 AI 為這款遊戲從零製作。
- 本作與任天堂無關,亦未獲其背書。