收工: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) 就是典型例子。你覺得「之後再改」,之後會忘。而且是那種跑單一主題模擬器看不出來的問題,非得在深色 / 淺色切換的時候才會爆。

以後我會強制自己每次離開一個 preferredColorSchemeoverrideUserInterfaceStyle 時,在 commit message 或 Todo 留一筆「要拔」。

三、域名不要腦衝買。

想清楚要拿來幹嘛再買。我的 shootdragongate.app 目前對英文市場完全失效 — 因為這遊戲在英語世界不叫 shoot dragon gate,叫 In between。想要對英文用戶行銷,這個字根本不成立。

我其實沒有想清楚這個 App 要賣給誰

射龍門這遊戲有兩種人會玩。

一種是台灣家庭聚會、過年、中秋,年紀 30 歲以上,懷舊驅動。他們知道「射龍門」三個字是什麼。

另一種是對機率、計分、牌類策略有興趣的玩家,不限年齡、不限地區,他們可能不知道「射龍門」這三個字,但看到「In between」會點進來。

這兩群人要不要都做?內容該怎麼排?Onboarding 怎麼辦?中文版 App 跟英文版要不要分開?

我還沒想清楚。這可能是下個月要解的題。

最後

整個過程很多時候我在想:為什麼這個遊戲沒人先做?

現在我大概知道了。

因為想清楚「它不是那種 App」這件事,比寫完所有程式還難。


上一篇:4/23 · 加了記牌器,給實體桌上玩的人

下載邪門射龍門