殭屍大逃殺 Zombie Survivors
3D 版 Vampire Survivors-like roguelite——自動開火、撿寶石三選一升級、劇情模式打 7 王破關 + 死鬥模式無盡波數,後端是 Cloudflare D1 全球排行榜。
七大面向
memory技術深度 6.5/10
真材實料但規模不大的效能工程:子彈與經驗寶石用 thin instances + Float32Array SoA matrix buffer(weapon-system.ts、gem-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' 硬編碼在公開 repo(messages.ts)。
code程式品質 6.5/10
TS strict + noUnusedLocals,系統切分乾淨(怪群/武器/寶石/王/音效各司其職)、資料驅動、高密度「為什麼」式註解。致命傷:game.ts 是 1,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 輔助的產物且安全網為零:無測試、防作弊停留在軟驗證,硬編碼密鑰更是不該犯的錯。