Aircon
技術人,但不只是技術

Drop Merge:18 天用 Claude Code 和 6 歲女兒一起做的合併遊戲

女兒說「爸爸你可以幫我做一個遊戲嗎?」18 天後,5 種主題、50 個角色、14 種語言的合併遊戲上架了。這是一個爸爸和 6 歲女兒用 Claude Code 一起完成的故事。
Drop Merge:18 天用 Claude Code 和 6 歲女兒一起做的合併遊戲

我八歲的女兒晴晴,自從看我用openclaw 做的小噁康後,
他知道AI已經可以幫爸爸做事情,爸爸都偷懶
有一天看我在用 Claude Code 寫程式,
跑來問我:「爸爸你可以讓AI幫我們做一個遊戲嗎?」
我說好啊,什麼遊戲?
「就是那個水果掉下去,碰到一樣的就會變大的!」
她說的是「合成大西瓜」類型的合併遊戲
於是我打開 Claude Code,跟她說:「那我們一起做」
screenshot_full.png
18 天後,Drop Merge: Smash Puzzle(掉落合體消消樂)上架了
5 種主題、50 個角色、14 種語言、300 張角色圖

這不是一個 demo,這是一個爸爸和女兒一起完成的真正的遊戲

女兒的參與

晴晴雖然才八歲,不會寫程式,
但她是這個遊戲最重要的「產品經理」和「創意總監」

她決定了 5 種主題

一開始我只想做水果主題(最經典的合併遊戲就是水果),但晴晴覺得不夠:

  • 🍉 水果模式 — 她的第一個提案,從櫻桃合成到西瓜
  • 🐱 貓咪模式 — 「我要貓咪!」從奶貓進化到貓皇帝
  • 🍜 美食模式 — 台灣小吃版:珍珠 → 蛋塔 → 刈包 → 臭豆腐 → 最後是雞排
  • 🗑️ 垃圾模式 — 環保教育:糖果紙 → 紙團 → 鋁罐 → 寶特瓶 → 最後合成冰箱
  • 🏢 職場模式 — 這個是我加的模式:實習生 → 菜鳥 → 工程師 → 主管 → 經理 → 董事長

每個角色有 6 種表情:開心、生氣、難過、歡呼、側面、背面。
50 個角色 × 6 種表情 = 300 張 PNG 圖片。這是整個專案最花時間的部分

她是首席測試員

每天晚上我寫完一個新功能,就叫晴晴來玩。她的回饋非常直接:

  • 「球掉太快了!」→ 調整重力參數
  • 「這個顏色好醜」→ 換色票
  • 「為什麼沒有聲音?」→ 加入音效合成
  • 「合起來的時候要有煙火!」→ 加入粒子特效
  • 「我想搖手機!」→ 加入搖晃模式(shake-to-unlock 特殊功能)

她不知道什麼是 SpriteKit,什麼是物理引擎,但她知道什麼是「好玩」

18 天開發紀錄

Day 1(2/26):從零到能玩

假日寫了遊戲設計文件,下午就跟 Claude Code 開始 coding
第一天就完成了:物理引擎、掉落機制、合併邏輯、計分系統、Game Over 判定
還修了 8 個關鍵 bug(包括「一開始就 Game Over」的災難性問題)

Day 2-4(3/1):爆發式功能開發

  • 6 種配色主題(星夜紫、深海碧、烈焰紅、極光綠、糖果粉、午夜金)
  • Lv.10 超級爆炸:慢動作 + 四層粒子特效 + 螢幕閃白 + 震動
  • Google AdMob 廣告整合
  • Firebase Analytics
  • 加權隨機掉落系統
  • 主選單大改版
  • 14 種語言在地化
  • 音效合成(純程式產生,沒有用任何音效檔案)
  • 觸覺回饋(Haptic Feedback)

Day 5-7(3/4):打磨

動畫打磨、按鈕重設計、發光效果、版本修正。這個階段最無聊但最重要

Day 18(3/15):角色大改版

characters_group_photo_final.png
最後一個大 milestone:把所有 50 個角色從程式繪製改成 PNG 精靈圖,
加入 6 種表情系統刪掉了約 6,000 行的舊渲染程式碼,
換成 300 張手繪風格的角色圖片
這天晴晴看到她的角色設計在手機上動起來、有表情、會旋轉,開心到跳起來。

技術細節

物理引擎

用 SpriteKit 的物理系統,調了很久的參數:重力、反彈係數(0.3)、摩擦力(0.5)
讓球掉下去的「手感」要對 — 不能太彈也不能太死

音效合成

沒有用任何 MP3 或 WAV 檔案。所有音效都是用 AVAudioEngine 即時合成的
合併時的「叮」、掉落時的「咚」、連擊時的「噹噹噹」,全部是演算法產生

Combo 連擊系統

1.5 秒內連續合併觸發 Combo:

  • ×2:NICE!(1 倍分數)
  • ×3:GREAT!(2 倍分數)
  • ×4:AMAZING!(3 倍分數)
  • ×5+:INCREDIBLE!(4 倍分數封頂)

每次 Combo 文字會彈跳飄上去,配合不同強度的震動回饋。

Lv.10 超級爆炸

當兩顆 Lv.10 合成時的特效是整個遊戲最爽的瞬間:

  • +5,000 分
  • 清空整個容器
  • 慢動作(物理速度降到 0.1)
  • 四層粒子爆炸
  • 螢幕閃白
  • 螢幕震動(最大強度 12)
  • 每個被清除的球位置都有連鎖爆炸

晴晴第一次觸發這個效果時尖叫了。

數字

項目 數據
開發天數 18 天
Git Commits 27 個
程式碼 ~9,348 行 Swift
角色數量 50 個
角色圖片 300 張 PNG
遊戲主題 5 種
配色主題 6 種
支援語言 14 種
測試檔案 17 個

Claude Code 的角色

  • 我和晴晴負責:遊戲方向、主題創意、角色設計、遊戲平衡、測試回饋
  • Claude Code 負責:SpriteKit 實作、物理引擎調校、音效合成、廣告整合、在地化

最特別的是 Day 1 的速度 — 從零到能玩只花了一個下午

為什麼這個專案對我很重要

這不只是一個遊戲

這是我女兒第一次參與「爸爸的工作」
她知道爸爸平常對著電腦在幹嘛了
她知道「寫程式」可以變成她手上玩的遊戲
她知道一個想法可以變成真的東西

她很開心的跟課後班老師說:「這個遊戲是我跟爸爸一起做的喔」
對我來說,這句話比任何 App Store 排名都重要

技術人,但不只是技術。有時候,最好的程式碼是跟你愛的人一起寫的。