開發日誌 做了什麼 · 試過什麼 · 否決了什麼 · 留下了什麼
階段總結 super-reversi2 2026-W27+2026-W34 裁決 · 待驗證

內心已經有整個世界了,規格反而是枷鎖

610 commits 3b13ec3..15c310b

一代是規格先行,二代我一份規格都沒寫。這篇講那個轉變,以及五十二天六百多個 commit 之後,第一階段為什麼算完成了。

AbstractThe first version started from a spec. This one started from a README and nothing else. Here is why that inversion happened, and why after 52 days and 610 commits I consider phase one done.

時間區間 2026-07-03 → 2026-08-23
涵蓋切片 2026-W27 到 2026-W34
commit 610(不含 merge)

兩代都還跑在線上,可以直接點進去比:

其實光看瀏覽器分頁上的標題就差不多了。一代叫 Super Reversi - Advanced AI Reversi Game,二代叫 Super Reversi 2 黑白江湖。一個在講它有多強,一個在講它是哪裡。

這段時間發生了什麼

一代是規格先行。我讓 spec-kit 生了六份文件、一千多行,才開始寫程式。

二代開工的時候,整個專案只有一個 README。

規格驅動似乎是許多軟體開發的首選,可是這次我沒有那樣做。我自己把二代這種方式叫做沉浸式開發。

它的前提是你內心已經有整個世界了。在那個前提下,紙面上的制式規格反而會變成負面限制的枷鎖。這種做法更像是畫家慢慢在白紙上把世界畫出來。再加上費氏係數的開發習慣,走兩步停一步回頭整理,自然會找到一個正向循環的平衡點。

所以二代的文件是後來才長出來的。現在 docs/ 有二十幾份,那些是畫完之後才描上去的線。

至於驗收標準,這次我心裡的目標是構築一個以下棋為主的江湖世界,再增加一點肉鴿小遊戲的元素。

那個目標,第一階段已經完成了。

留下來的

一代收攤的時候有三件事沒做成,現在的狀況是這樣。

血條歸零算勝負那個二重判斷,做到肉鴿小遊戲那邊去了。特殊棋子跟玩家自製特效,各做了一半,還在概念階段,沒有開放。

三個棋類、五六個模式,範圍確實太大。不過我會留著,那些本來就是想做的事,而且回頭看都是有意義的。收斂總得有些取捨。

真正最大的收穫不是這些東西本身,是我對整個前端遊戲專案的規劃跟開發流程,有了一套自己的工作流。

一代之後回爐重造,那是量子躍遷式的巨大進步。一方面是工具進步了,一方面是沉澱了一代的經驗。有了這兩樣才走得到今天這一步。

還沒做完的

自製技能編輯器。

我想讓玩家自己編排技能招式,然後在對戰的時候讓對手看到。那個東西還沒開發完,也還沒開放。

這條線從一代就在了。一代的時候它叫「玩家自製招式特效」,當時的 AI 做不出來。現在它有名字、有規劃,但還沒站起來。

現在的樣子

有幾件事是這次才有辦法做的。

Fable 5 在編碼、測試、設計、規劃上全方位更強。Codex 比較適合常規的小任務,例如修 bug。兩者消耗的 token 也是天差地別,可是對於極力避免返工的我來說,我寧願選 Fable 5。

另外那五份實測數據的 JSON,疊棋塔高、圍棋棋風勝率、墨潮平衡那些,其實是我讓 AI 去跑的。我想看看它能不能跑出人工抓不到的問題。

至於 commit 訊息從一代的三成沒內容變成現在的零,還有 PR 從三十個變成九個,那也不是我立的規矩。我沒有特別去規定這方面的慣例,專案也沒有大到需要那個。

那是工具變了。