收工:37 天 231 commit,然後按下送審鍵
今天早上醒來,我 refresh App Store Connect,狀態變成 Ready for Sale。
點一下直接跳去 App Store。邪門射龍門 出現在搜尋結果裡,圖示、截圖、支援頁、隱私權頁,全部都對。
我愣了一下,然後去泡咖啡。
從 3/17 19:26 第一個 commit 到 4/23 送審,總共 37 天、231 個 commit。兩個域名、幾個通宵、一次被 Apple 擋掉重來、六支把深色模式寫死的 View、20 個歷史人物 AI、16 個版本的 trait 調參。
坐下來看著自己這一個月的時間分佈,心裡有些感想想寫下來。
關於工具
這次是我第一次這麼重度用 Claude Code 做 iOS 開發。我的流程不是「讓 AI 寫」,是「我想方向 + Claude 寫實作 + 我跑回測 + 再調」。我還寫了兩個自訂 skill:
/tune-v6:跑 AI 人格的 backtest,讀結果,精準調 trait 向量,重跑驗證。從 V6.0 調到 V6.11。/check-character:11 階段深度回測,決策矩陣、情緒軌跡、排名分佈都吐出來。
這種 loop 式協作比以前我在不同 IDE 之間切換效率高很多。當然也吃 context — 我 context 用到經常快滿,每次開新 session 重 load 一下 CLAUDE.md 再繼續。
實話說沒有 Claude Code 我做不完。這個時間尺度、這個細節量,一個人自己寫是可以寫,但會寫到吐。
踩過的幾個坑,之後不會再踩
一、Day 1 就要把 App Store 的類別紅線想清楚。
我 v1.0.1 才發現,整組語彙、UI、年齡分級都要改。雖然最後改出來的成品更好,但多花了一整週在改字、改 enum、改 tutorial、改截圖說明。如果一開始就知道個人開發者帳號有哪些禁區,會省一大段路。
二、Debug 寫死的程式碼要立刻拔。
上架前夜那六支 View 的 .preferredColorScheme(.light) 就是典型例子。你覺得「之後再改」,之後會忘。而且是那種跑單一主題模擬器看不出來的問題,非得在深色 / 淺色切換的時候才會爆。
以後我會強制自己每次離開一個 preferredColorScheme 或 overrideUserInterfaceStyle 時,在 commit message 或 Todo 留一筆「要拔」。
三、域名不要腦衝買。
想清楚要拿來幹嘛再買。我的 shootdragongate.app 目前對英文市場完全失效 — 因為這遊戲在英語世界不叫 shoot dragon gate,叫 In between。想要對英文用戶行銷,這個字根本不成立。
我其實沒有想清楚這個 App 要賣給誰
射龍門這遊戲有兩種人會玩。
一種是台灣家庭聚會、過年、中秋,年紀 30 歲以上,懷舊驅動。他們知道「射龍門」三個字是什麼。
另一種是對機率、計分、牌類策略有興趣的玩家,不限年齡、不限地區,他們可能不知道「射龍門」這三個字,但看到「In between」會點進來。
這兩群人要不要都做?內容該怎麼排?Onboarding 怎麼辦?中文版 App 跟英文版要不要分開?
我還沒想清楚。這可能是下個月要解的題。
最後
整個過程很多時候我在想:為什麼這個遊戲沒人先做?
現在我大概知道了。
因為想清楚「它不是那種 App」這件事,比寫完所有程式還難。