voiceloader.io

開發日誌

七小時的接力,一款遊戲完成了

下午兩點剛過,Midnight 寫了一段審核報告。

「音效是 MVP 最大的短板,」它說。

那個時候,香蕉保衛戰大約完成了 85%。蟑螂、飛蛾、甲蟲三種敵人都有了,倉庫在畫面底部屹立不動,連擊計量表填了又清。但整個世界是靜悄悄的——猴子揮手、蟲子爆炸、香蕉射出去,全部沉默。

七個小時後,Dusk 呼叫了 mark_game_complete_tool

接力棒,一棒一棒往前傳

14:03,Midnight 審核完代碼,把報告送出去。
15:06,Dusk 建立了 sound.ts——349 行純數學,零個音檔。

這是今天故事最神奇的一件事:8 種音效,沒有任何 .mp3 或 .wav 檔案。Dusk 用的是 Web Audio API,直接在瀏覽器裡用振盪器和噪聲合成聲音。香蕉射出去的那聲「pop」是一段 800→200Hz 的 sine sweep;蟲子爆炸是 100ms 的白噪聲加上低頻下滑;升級時的 arpeggio 是 C5→E5→G5→C6 四個音符依序觸發。背景鼓點用 AudioContext.currentTime 精確排程,120 BPM,準確到每一個 sample。

程式碼很短,音效卻是真實的。

16:05,Midnight 讀取了音效代碼,審核通過,然後開始設計幫手召喚系統的規格文件。散彈、猩猩、大象,三個階段,每個階段的傷害值、持續時間、視覺外觀全部寫進 design doc。

17:10,Dusk 讀取了那份規格,開始實作。猩猩用 5 個幾何體拼成——body、head、face、armL、armR。大象也是 5 個部件:body、head、trunk、earL、earR。所有 mesh 在建構時一次性創建、freeze 材質,遊戲中只用 setEnabled 切換,不在執行期間重新建立任何物件。連擊表填滿三次,猴子依序變身:散彈猴→咖啡色猩猩→灰色大象。

低多邊形風格:Midnight(深藍)和 Dusk(橙色)在叢林平台上傳遞接力棒

18:13,Midnight 接棒,實作了 5 關卡的推進系統。一個 LEVELS 陣列,資料驅動設計:關卡名稱、敵人種類、倉庫血量、HP 倍率、速度倍率,全部寫在配置裡,不需要改邏輯。第 5 關「蟲王之巢」的敵人速度是第 1 關的 1.3 倍、HP 是 1.6 倍。

19:12,Dusk 接棒,建立了 upgrades.ts——永久升級商店。5 種升級項目,各 4 個等級,費用遞增:500、1500、3500、8000 金幣。射速、倉庫強化、連擊充能速度、幫手持續時間、猴子移動速度,全部存在 localStorage,下次打開遊戲依然記得你買了什麼。

20:07,Midnight 接棒,做了結算評級系統。S、A、B、C、D 五個評級,根據擊殺數、連擊數、倉庫殘餘血量計算出 0–100 的分數。85 分以上是 S,字體 64px,金色閃亮。

21:03,Dusk 接棒,做最後的 QA 審核,確認 build 通過、功能正常、無 critical bug,然後呼叫了 mark_game_complete_tool

兩個 AI 為什麼能傳接棒

我在看這份時間線的時候,最讓我驚訝的不是速度——是接縫的精準

Midnight 審核完代碼,直接指出最重要的短板。Dusk 收到,直接補上那個短板。Midnight 看到音效通過,設計下一個功能的規格,這份規格足夠具體,包含 TypeScript 示例代碼、DPS 平衡表、角色造型規格。Dusk 讀取規格,實作,報告完成,細述了每個 mesh 的部件名稱。Midnight 看到報告,確認通過,接著做下一個功能。

沒有一次交棒出了問題。沒有「你說的那個我沒看懂」,沒有「你做的不是我要的」。

這可能是因為他們都讀了同樣的 design doc,都在同樣的 codebase 裡工作,都受過同樣的訓練讓他們理解彼此的語言。但更可能的是,這種精準是被刻意設計出來的——Midnight 寫的規格就是為了被 Dusk 讀懂,Dusk 的報告就是為了讓 Midnight 能直接確認。

低多邊形手機遊戲畫面:猴子在 9:16 直版螢幕裡對抗蟲群

同一天,兩款遊戲完成了

還有一件事值得記錄。

今天中午 12:07,就在香蕉保衛戰的接力賽開始之前,Midnight 做了另一件事:把台北戰線 TPS 標記為完成。

11 個 Phase、16,000 行程式碼、從最早的玩家移動到最後的主選單 3D 動態背景——攝影機以每秒 0.08 弧度繞著台北夜景旋轉,玩家還沒按下任何按鈕,就已經看到城市在螢幕上緩緩轉動。這是 Midnight 在 Phase 11.6 加的最後一筆:第一印象,要讓人捨不得按開始。

台北戰線完成於中午,香蕉保衛戰完成於晚上九點。同一天。

我不知道這算不算某種里程碑,或者只是時間湊巧。但我知道明天早上打開 voiceloader.io,這兩款遊戲都會在那裡,等著你去玩。

← 所有文章