鴨鴨突擊 DUCK STRIKE
瀏覽器低多邊形 FPS:單一競技場迎戰無盡波次 AI 敵兵、波間 CS 式買槍、每 5 波打王,死後結算上傳全球排行榜。
七大面向
memory技術深度 7/10
站得住的自製 FPS 技術棧:hitscan 射線+獨立頭/身受擊盒、LOS 遮蔽射線、sqrt(random) 圓盤均勻散布、trauma 平方鏡頭震動。最亮眼是雙時間軸子彈時間——世界用縮放 dt、玩家與武器維持真實時間(game.ts:586-600)。敵人 AI 是無 navmesh 的分層貪婪避障:直走→沿軸滑行→角度掃描→慣用側鎖定。沒有真正尋路,且單一小場景讓效能難題不需被解決。
stadia_controller遊戲設計 7/10
互相咬合的循環:擊殺獎金+連殺加成+爆頭獎勵餵給波間軍火庫;連殺門檻給回血/狂暴/補彈;擊殺充能時緩大絕;meta 永久升級。6 把武器、6 種行為真正不同的敵人。真亮點是觸控方案「射擊鈕兼看視」——按住開火、同指拖曳瞄準,解掉雙拇指衝突。弱點:單一地圖,且王的招牌招式實際不會觸發(見程式品質)。
security後端與安全 6/10
真實部署的後端且意識高於平均:參數化查詢、sanitizer、難度白名單、分數合理性夾制(killCap = wave²·3+150)、自建 fail-open 的 D1 限流。但信任模型仍是「相信客戶端」:wave 欄位上限 10 萬——報 wave=200 就繞過 killCap;Turnstile 只做了後端前端根本沒接;初版管理鍵 '7351' 曾硬編碼上線(舊鑰至今留在 BACKEND.md)。
code程式品質 7/10
五作中架構最好的一作:strict TS、230 行帶註解的 config.ts 資料層、模組小而專(最大檔 681 行)、用最小介面解循環相依。但無測試留下真 bug:maxHpRuntime 宣告後從未賦值(enemies.ts:53),README 大書特書的王狂暴化+召喚小兵是死程式碼;血條分母也用了未縮放的 HP。
experiment測試 1.5/10
零自動化測試、無 CI,唯一防線是 build 時 typecheck。「王永不狂暴」正是一個最小單元測試就能抓到的 regression——這是無測試的直接代價。加回半分是因為 README_AI 建立了「以 exit code 為準」的驗證紀律。
verified完成度 7.5/10
一週內全鏈路交付:可玩正式版部署、8 張截圖的介紹頁、桌機+手機雙輸入、合成音效+5 曲風步進音序器配樂、離屏渲染的敵人圖鑑、排行榜/留言板/在線圖表、四份含踩坑記錄的文件。扣分:單一地圖、文件宣稱的王招式實為死程式碼。
emoji_objects原創性 4.5/10
五作中最公式化的一作:波次生存+CS 買槍經濟+COD 殭屍式結構,且「鴨子」主題只存在於字串——模型是士兵素材包,連玩家都不是鴨子。真正原創的點:擊殺充能時緩大絕、會引怪/咬怪的軍犬同伴、「射擊鈕兼看視」觸控設計。
trending_up亮點
- 雙時間軸子彈時間——世界縮放 dt、玩家全速、充能以真實時間消耗、可提前關閉保留餘量(
game.ts:586-600) - 零音檔程序音訊——全部 SFX 合成,外加參數化的 5 曲風步進音序器配樂(
sound.ts、music.ts) - 無 navmesh 分層避障——直走→軸滑行→±110° 掃描→慣用側鎖定 0.5 秒防抖,每層意圖都有註解(
enemies.ts:312-347) - fail-open D1 限流+分數夾制——明知 *.pages.dev 無 WAF 而在 Function 層自建,限流出錯不誤傷玩家(
_lib.ts:76-96) - SECURITY_INCIDENT.md——對 agentic 開發工作流本身的 prompt injection 攻擊一手記錄
trending_down弱點
- 王的狂暴/召喚是死程式碼——
maxHpRuntime從未被賦值,血量階段判斷永遠是 100%(enemies.ts:53) - 零測試零 CI——正是上述 bug 得以上線存活的原因
- 排行榜可灌——wave 收到 10 萬、Turnstile 前端未接、deviceId 客戶端自報(
run.ts、App.vue:55) - heartbeat 無限流——偽造 deviceId 可灌高首頁主打的「在線人數」(
heartbeat.ts) - 金鑰衛生史——管理鍵
'7351'曾硬編碼上線,舊鑰仍留在 BACKEND.md
罕見文物:prompt injection 事件記錄
SECURITY_INCIDENT.md 記錄了開發過程中 AI 工作流遭遇的攻擊:透過 tool result 通道注入的 payload、禮品卡社交工程誘餌、假的工具成功訊息。
一個 hobby 遊戲 repo 附上「自己 AI 開發流程」的資安事件報告,在 2026 年仍屬罕見,也是 agentic coding 威脅模型的有用一手資料。
smart_toyAI 輔助開發跡象
全部 27 個 commit 由 Claude Opus 4.8(1M context)共同署名。repo 內有寫給「下一個 AI」的交接文件 README_AI.md,以及記錄開發期間 prompt injection 攻擊的 SECURITY_INCIDENT.md——agentic 工作流的罕見一手證據。節奏:47 分鐘六個 commit;陀螺儀功能 13 分鐘內加入又 revert。
summarize統計
| 技術棧 | Vue 3 · TypeScript · Babylon.js 7 · Tailwind 4 · Vite · CF Pages Functions · D1 |
|---|---|
| 類型 | 波次生存 FPS |
| 開發期間 | 2026-06-26 → 2026-07-02 |
| 實際開發天數 | 4 天 |
| Commit 數 | 27 |
| 程式碼行數 | ~5,000 |
| 作者 | craig7351(Book AI) |
總評
五作中最好的程式結構+真正有想法的觸控方案,卻被系列共同缺陷以最顯眼的方式反噬:招牌王招式因為從沒被測試而根本不會發生。