iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Vibe Coding

從 Vibe Coding 到系統架構:Gemini x Claude Code 雙 AI 協同開發 Godot 2D Roguelike 卡牌遊戲實戰 系列

用一款極簡 Roguelike 卡牌遊戲《異世界救援》當載體:構築牌組,決戰魔王。遊戲是載體,不是目的,真正要交付的是「怎麼在 AI 身邊偷師」的方法。

聊方向用 Gemini,動手寫程式用 Claude Code。我會記錄 AI 協作中真實發生的問題:AI 說的限制其實是自己設的參數、AI 一本正經講錯話還找舊文章佐證、數值改動要跑對照實驗驗證而不是憑感覺。

內容涵蓋 Claude Code 指令攔截、資料驅動設計、自動化驗證(smoke test)、抓蟲、Web/Android/iOS 三平台上線,到上線後才浮現的架構債。遊戲最後真的做完並上線,方法留給讀者帶走。

參賽天數 26 天 | 共 26 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11:【工程配置】同一專案資料夾,如何切出公私雙 Repo?

這 30 天,我一邊開發遊戲,一邊也在寫開發日誌、學習筆記和文章草稿。一開始,我直接把這些東西放在遊戲專案裡。這樣最方便,寫程式和寫筆記都在同一個地方。 但遊...

2026-09-24 ‧ 由 Jason Hung 分享
DAY 12

Day 12:【程式碼驗證】程式能跑,真的就沒問題嗎?

Claude Code 寫完《異世界救援》的第一版戰鬥腳本後,我照著實際流程跑了一遍。出牌、防禦、魔王行動,三種情況都正常。遊戲也沒有報錯。乍看之下,這段程式...

2026-09-25 ‧ 由 Jason Hung 分享
DAY 13

Day 13:【Godot 實作】明確設定 mouse_filter 的預設值

前幾天開發《異世界救援》時,我在畫面上遇到過幾次很像的問題:卡片明明顯示正常,卻點不到。 後來加血條,又遇到一次。再加上魔王頭像,同樣的問題又出現一次。 最後我...

2026-09-26 ‧ 由 Jason Hung 分享
DAY 14

Day 14:【程式碼理解】同樣是 duplicate(true),保護的東西完全不同?

Claude Code 在《異世界救援》的程式碼裡,前後兩次用了 duplicate(true)。 一次在 CardDatabase.gd,一次在 Battl...

2026-09-27 ‧ 由 Jason Hung 分享
DAY 15

Day 15:【事件系統】RewardScene 三選一:9 關構築牌組的最小實作

Day 14 講完 CardDatabase 怎麼把卡牌資料從程式邏輯裡搬出來,變成一份受保護的靜態資料。今天就來看這些資料怎麼真正被用起來。 《異世界救援》...

2026-09-28 ‧ 由 Jason Hung 分享
DAY 16

Day 16:【AI 判斷】AI 說「這個做不到」,真的做不到嗎?

美術素材導入到一半,我遇到一個很小、卻很煩的問題。遊戲畫面上的: ⚔ 🛡 💀 ⚡ 🏆 這幾個 emoji,在 Godot 編輯器裡看起來正常,匯出成網頁版之後...

2026-09-29 ‧ 由 Jason Hung 分享
DAY 17

Day 17:【UI 設計】AI 聲稱的「天花板」,可能是他自己設的。

Day 16 講的是 AI 說「沒有」的時候,要確認它到底查了多少。那次的「沒有」,是找不到合適的素材。 今天遇到的「沒有」換了一種形式:不是「找不到」,而是「...

2026-09-30 ‧ 由 Jason Hung 分享
DAY 18

Day 18:【除錯實戰】AI 連續三次診斷都錯,靠架設對照組環境才拆穿

Day 17 講的是 AI 把自己設定的條件當成了「天花板」。這次遇到的是另一種錯。 AI 是真的相信每一次診斷,而且每一次都能講出一套聽起來合理的原因。問題是...

2026-10-01 ‧ 由 Jason Hung 分享
DAY 19

Day 19:【部署驗證】Godot 跨平台實機驗證:Web、Android、iOS 部署流程與六個踩坑紀錄

線上實測與發布產物: 專案已成功部署至 itch.io,可在瀏覽器中直接運行實測:https://jasonhung.itch.io/obsidiantrial...

2026-10-02 ‧ 由 Jason Hung 分享
DAY 20

Day 20:【真人測試】同一顆按鈕,兩次「看得到卻按不到」的原因完全不同

美術跟打磨告一段落後,我開始把遊戲拿給真人試玩。這次記錄到三件非常值得分享的事: 第一次玩的人一句話,讓我重新檢查整個獎勵畫面的回饋。 iPhone 坑一:按...

2026-10-03 ‧ 由 Jason Hung 分享