四小時用 Claude Code 做出一款配色小遊戲:The Story of Kael
Categories:

四小時用 Claude Code 做出一款配色小遊戲:The Story of Kael

那天在洗澡的時候,我突然想到一件事:市面上明明有那麼多消除類遊戲——魔法氣泡、俄羅斯方塊、各種塔防——但幾乎沒有人拿「配色」這件事來當核心機制。

色相環、RGB、CMYK,這些每天在設計軟體跟前端 code 裡出現的東西,其實是很好的遊戲題材。你需要判斷、需要組合、需要在時間壓力下做決定,這剛好就是遊戲的三個核心元素。

於是我把想法丟給 Claude Code,四小時後,一款可以玩的 MVP 就上線了。

這篇文章想分享兩件事:一個是這個遊戲怎麼設計的,另一個是用 AI 從零到能玩的實際過程。

遊戲叫 The Story of Kael

先給連結:https://games.02580.me/the-story-of-kael/

你可以現在就開一個分頁玩玩看,大概三十秒就能上手,五分鐘可以打完一輪。

它一開始的名字其實是 Color Palette,因為玩法本質就是用調色盤配色。但做完之後我覺得純技術名字太乾,就給它編了一個世界觀:

某個星球長期被外太空的色塊砲彈攻擊。曾經有一位傳奇砲手叫 Kael,用他的 RGB 三原色砲台守護了星球。玩家是千百年後的後代,透過穿越回到 Kael 的記憶裡,重演那些曾經的戰鬥。

於是遊戲改名叫 The Story of Kael。這個改動看起來只是換個名字,但對後續我想加的道具系統、關卡設計、劇情擴充,開了很多空間。產品在給定義的時候就決定了未來能長成什麼樣子——這是我做完才體會到的一件事。

玩法就三個按鈕

規則超簡單:色塊砲彈從天而降,砲台底下有 R、G、B 三個顏色按鈕。你要用這三個原色組合出正確顏色,然後射擊按鈕按下去消除掉對應的砲彈。

例如掉下來一個黃色,你就按 R + G。掉下來紅色,你就按下 R。然後在射擊就好了。

為什麼是三個按鈕,不是輸入 RGB 數值?

這是我在設計時第一個做的決定,也是最重要的一個。

原本想做的更酷——讓玩家旋轉色相環選色、或直接輸入 RGB 數值。但我很快就否決了自己。

除非是天天在調參數的設計師或前端工程師,一般人根本不可能看到顏色就反推出「這是 (255, 128, 0)」。這種操作在 UX 上是災難,尤其是在色塊快速掉落的壓力下。

三個按鈕看似簡化過頭,但它讓遊戲變成「所有人都能玩」的門檻。這比酷炫重要。

不管在電腦還是手機上都沒辦法快速操作的遊戲,絕對不是好遊戲。這句話我在整個開發過程裡跟自己複誦了很多次。

道具系統是怎麼長出來的

第一版的時候,每個色塊上面會直接顯示「這是 R + G」的提示,玩家看到就知道要按什麼。我測完之後決定隱藏這個提示,讓玩家自己判斷。

結果測試玩家的回饋很直接:隱藏後太難,直接想關掉

我當時面臨兩個選項:把提示放回去(門檻低但太無聊)、還是完全不給(門檻高但玩家會挫折)。想了一下我選第三個路徑——做成一個可以主動使用的道具

於是道具系統就長出來了:顯示提示、全部清除、部分清除。玩家可以在遇到卡關的時候戰略性地使用。這樣既保留了挑戰性,又給了玩家掌控感。

這個決策讓我意識到一件事:測試玩家的回饋不能照單全收,要理解他們卡在哪、然後設計出既解決痛點又不破壞核心體驗的方案。「加提示」跟「做成道具」看起來很像,但玩起來完全是兩款遊戲。

Claude Code 在這個專案裡的角色

先講結論:這個遊戲 100% 是 Claude Code 寫的 code,我唯一動手改的只有參數(掉落速度、分數規則、色塊生成頻率這些)。

我一開始丟給它的 prompt 大概長這樣:

我想要開發一個遊戲,主要內容是顏色 + 類似俄羅斯方塊或者彈幕遊戲那種打由上而下怪物的遊戲(譬如 Space Invaders),但是那些怪物變成是顏色色塊,然後攻擊是用幾個色環合成顏色來攻擊。

譬如空中掉下紅色,那兩個色環就是紅色 + 紅色 + 紅色。如果空中掉下黃色,那就可能是紅色 + 綠色。

色環可以設定成要 RGB 三原色還是顏料顏色之類的,但先從 RGB 三原色做起。

第一版可以有:

  1. 先以 RGB 三原色的排列組合產出各種顏色
  2. 每成功擊潰一個顏色色塊可以得 10 分
  3. miss 掉可以扣 5 分
  4. 全部 0 分遊戲結束
  5. 達到 100 分則過關

可以先從網頁單機版遊戲開始設計。

技術棧選擇是 Claude Code 建議的:純 HTML + JS,沒有後端。我一開始有想過要不要做 Backend 處理排行榜之類的,但 Claude Code 提出「MVP 階段先不要」的建議,我覺得合理就採納了。這是好的 AI 協作——它不只是照做,還會提醒你不要過度工程化。

部署我丟到自己的 Linode VPS 上,接到既有的 nginx 設定,掛個路徑就上了。

最讓我意外的一件事

Claude Code 的繪圖能力遠超我預期。

我請它幫我畫遊戲裡的砲塔,本來以為要花時間反覆調整,或最後還是得找設計素材。結果它直接用 SVG 產出了一個像樣的砲塔造型,一次就過。整個遊戲的視覺元素幾乎都是這樣長出來的。

這也是這個時代做小遊戲門檻大幅降低的關鍵——以前一個人做遊戲最痛的就是美術資源,現在連這個都被解掉了。

自己玩過的觀察

我完整跑過四五次。目前最好玩的地方是速度真的快到有挑戰性,最想關掉的地方也是速度——快到讓不習慣的人一開始就想放棄。這是同一件事的兩面。

給身邊朋友玩之後的統一回饋:太難了。所以掉落速度我來回調了五六次,才落在現在這個版本——對熟練者有挑戰、對新手還能撐住不放棄的甜蜜點。

不過我知道現在還是偏難,這是下一版要處理的問題之一。

下一版想做什麼

主要方向是加挑戰性 + 加變化。目前色塊只是單純掉下來,下一版想加入條件效果——例如色塊在掉落過程中變色、多個色塊組合、關卡限時挑戰、boss 關等等。

道具系統也會擴充,加入更多戰略選項。

目標是讓玩家玩完第一關會想玩第二關。現在的版本比較像是「證明機制可行」,下一版要開始證明「這個機制能持續有趣」。

長期我有考慮把它帶到 App 上,做更完整的商業化——收費版提供更多關卡、更多道具、更完整的世界觀。但這都要等現在這版有實際玩家反饋之後才會決定方向。

給想用 Claude Code 做遊戲的人的一句話

不要太糾結 prompt 怎麼下。除非你要做大型遊戲,不然 Claude Code 有能力接手處理大部分的技術決策。你該花時間的地方是「這個遊戲要解決什麼」「玩家為什麼要花時間玩」「你想要什麼樣的體驗」——這些是 AI 目前還沒辦法替你想的東西。

技術從來不是這個時代做東西的瓶頸,想清楚要做什麼才是

想請你幫我一個忙

如果你玩了,不管好玩、不好玩、玩到哪一關就想關掉——都請告訴我。

我需要真實的反饋來判斷下一版該往哪個方向走。給我建議、給我批評、給我想法都可以,這對現階段的我最有價值。

也歡迎分享給身邊會覺得這個題材有趣的人。

▸ 玩玩看:The Story of Kael
▸ 有想法可以來信: [email protected]
▸ 想看更多用 AI 開發的實戰筆記,歡迎追蹤這個部落格

Comments

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *