殭屍大逃殺 Zombie Survivors

3D 版 Vampire Survivors-like roguelite——自動開火、撿寶石三選一升級、劇情模式打 7 王破關 + 死鬥模式無盡波數,後端是 Cloudflare D1 全球排行榜。

6.0/10
加權總分
技術深度
6.5
遊戲設計
7
後端與安全
5.5
程式品質
6.5
測試
1.5
完成度
8
原創性
5
逐面向拆解

七大面向

memory技術深度 6.5/10

真材實料但規模不大的效能工程:子彈與經驗寶石用 thin instances + Float32Array SoA matrix bufferweapon-system.tsgem-system.ts CAPACITY=4000)、預建 63 隻骨架動畫殭屍池(zombie-horde.ts)、空間雜湊網格做鄰近查詢(spatial-grid.ts)、GLB 全數 Draco 壓縮+自帶解碼器(省 26MB)。但怪物上限僅約 63 隻,離真正「怪海」有距離;無 LOD、無 worker,演算法都是線性掃描。

stadia_controller遊戲設計 7/10

完整且有自己想法的 VS 循環:8 角色各有 trade-off、25 個有上限的升級、7 王 5 種招式、meta 商店。成熟的設計判斷:跳躍可閃避接觸傷害(VS 沒有的走位維度)、吸血設每秒上限、死鬥等級上限 60 保證 run 必然結束讓排行榜有區別度。弱點:升級多為純數值堆疊,缺武器進化深度。

security後端與安全 5.5/10

有真後端且部分做得聰明——全參數化查詢、合理性驗證(kills ≤ time×25+50、破關 <200 秒拒收)、線上人數改「進場制」僅 ~13% 機率寫 D1 的成本意識設計。但所有 POST 端點零限流,死鬥分數一支 curl 即可偽造(clamp 到 1 億但合法上限約 10 萬),且留言板刪除密鑰 '0501' 硬編碼在公開 repomessages.ts)。

code程式品質 6.5/10

TS strict + noUnusedLocals,系統切分乾淨(怪群/武器/寶石/王/音效各司其職)、資料驅動、高密度「為什麼」式註解。致命傷:game.ts1,315 行的閉包工廠,內含 40+ 個狀態變數的 god function;另有三段幾乎相同的全敵人掃描迴圈重複。

experiment測試 1.5/10

零自動化測試、零 CI。無任何 test/spec 檔、無 vitest/jest、無 workflows——唯一品質關卡是 build 內的 vue-tsc --noEmit。後端 clamp/sanitize 是全案最好測的純函式,卻沒有測試。

verified完成度 8/10

以第一個作品而言打磨得驚人:線上可玩、手寫介紹站、YouTube 影片、11 張截圖、全程序合成音訊(全部音效+4 首附樂理註解的 BGM)、怪物圖鑑、留言板、手刻 SVG 在線人數歷史圖,外加三份詳盡文件(README/GAME.md/BACKEND.md runbook)。

emoji_objects原創性 5/10

公開承認的 Vampire Survivors 複製(README 第一句自稱 VS-like)、美術為 CC0 素材包——但加的東西是真的:3D 化+可旋轉相機、跳躍閃避的機制性差異、突變子死鬥模式、此類型少見的社交層。是「有自己 twist 的類型跟隨作」,不是換皮。

trending_up亮點

  • 殭屍動畫池——7 類型 × 9 隻預建骨架動畫實體,輪流錯開 Run/Walk 動畫打破整齊感(zombie-horde.ts:121-165
  • 成本感知的在線人數——心跳輪詢重構為「進場制」+約 13% 機率性維護,明確為降 Cloudflare Functions/D1 用量(online.ts:20-33
  • 零資產音訊——全部音效+4 首隨進度切換的 BGM 純 Web Audio 合成,含 lookahead scheduler(sound.ts
  • 保證結束的死鬥設計——等級上限 60+後期成長轉陡+接觸致命性放大,三管齊下解「站著不死、排行榜無區別度」(deathmatch.ts
  • thin instance 武器管線——飛刀模型合併後無縫承接既有 matrix buffer,含穿透/暴擊/冰凍修飾鏈(weapon-system.ts:87-118

trending_down弱點

  • 刪除密鑰 '0501' 硬編碼在公開 repo,任何人可刪光留言板(messages.ts:12
  • 死鬥分數可偽造——clamp 上限 1 億 vs 合法上限約 10 萬,無跨欄位一致性驗證(run.ts:26
  • 所有 POST 端點零限流——留言板可被腳本灌爆
  • 1,315 行 god function——createGame 閉包持有全部遊戲狀態,劇情與死鬥邏輯交織(game.ts
  • 零測試零 CI——連最好測的後端驗證純函式都沒測

smart_toyAI 輔助開發跡象

確定且重度:repo 內有 .claude/launch.json;主要 commit 作者是公司 AI 帳號、craig7351 為共同作者。首日從效能原型到部署完 meta 商店的里程碑 1–6 在 100 分鐘內完成(18 commits)。GAME.md 本身就是寫給 AI 工作流的「換皮 playbook」,而遺留的企鵝/狐狸模型顯示本作正是前一款動物遊戲的全面換皮。

summarize統計

技術棧Vue 3 · TypeScript · Babylon.js 9 · Tailwind 4 · Vite · CF Pages Functions · D1
類型Survivors-like 割草 roguelite
開發期間2026-06-12 → 2026-07-12
實際開發天數6 天
Commit 數62
程式碼行數~8,570
作者craig7351(Book AI)

總評

以「第一個作品」而言遠超業餘水準——效能工程、成本意識、設計判斷都紮實。但它是重度 AI 輔助的產物且安全網為零:無測試、防作弊停留在軟驗證,硬編碼密鑰更是不該犯的錯。