參考

術語速查

分析中反覆出現的技術名詞——從 thin instances 到 prompt injection。

search
Agentic 開發AI
AI agent 在迴圈中編輯、執行、驗證程式碼、人負責指揮的工作流。證據遍布全案:遊戲 commit 近 100% 由 Claude 共同署名、寫給「下一個 AI」的 README、專為無頭 AI 自我驗證設計的 debug 鉤子。
cache-bust tokenOps
附加在資源網址後的版本字串(`?v=1.5.8`),讓 CDN 或瀏覽器無法回舊檔。yakyulife 把它加在每一個 ES module 的 import 指定符上——共 173 個——這保證了模組圖版本一致,但每次發版都得手動更新。
CI(持續整合)Quality
對每次變更自動建置與測試。六個 repo 都沒有任何有意義的 CI——本次體檢所有專案共同的盲點。
Cloudflare Pages FunctionsBackend
掛在靜態 Pages 部署上的 serverless functions——五款遊戲排行榜的後端運行環境。免費額度每日 10 萬請求、帳號共用,這條線逼出了系列中好幾次重新設計。
CSP(內容安全政策)Backend
以 HTTP header 白名單限制頁面可載入/執行的內容——XSS 的堅實第二道防線。憤怒豬/棒球透過 _headers 出貨嚴格的 script-src 'self' CSP。
D1Backend
Cloudflare 的 serverless SQLite 資料庫。本次體檢裡所有排行榜、留言板、在線表都存這裡;也被兼用作限流儲存(代價是 check-then-write 競態)。
Draco 壓縮3D
Google 的 3D 幾何壓縮編碼。大幅縮小 GLB 素材(某專案 24→11MB);這些遊戲把解碼器放在本地以避免 CDN 依賴。
E2E 測試Quality
端對端測試:驅動真實應用(此處為 puppeteer 控制的無頭 Chrome)。憤怒棒球的 smoke bot 真的會打完整場——但沒有斷言,所以是驗證工具而非回歸測試。
God function/god fileQuality
一個函式或檔案持有過多狀態與邏輯(本系列 1,315–3,837 行不等)。能動——直到需要測試、交接或重構的那天。是五款遊戲最一致的程式品質發現。
Hitscan3D
用瞬時射線測試而非模擬彈道實作的 FPS 射擊。DUCK STRIKE 配上獨立頭/身受擊盒做爆頭判定。
InstancedMesh3D
引擎管理的 mesh instancing:每個實例仍是物件(可各自剔除、點選)但共享幾何。fake-whiteout-survival 把樹從 thin instance 改回 InstancedMesh,因為逐棵視錐剔除更省。
Kill switch(_routes.json)Ops
Cloudflare Pages 的路由設定檔,可把路徑排除出 Functions。fake-whiteout 配額事故中被用作可逆斷路器:/api/* 改走靜態、遊戲靠 localStorage 存活、commit 裡寫明回滾方式。
LOD(細節層次)3D
距離遠時換用較簡單的模型以省 GPU。五款遊戲都沒有——是重複出現的「技術天花板」發現之一。
Magnus 力3D
讓旋轉球體轉彎的空氣動力。憤怒棒球每 tick 施加簡化版本,讓變化球真的會變化。
MkDocs(Material)Ops
Python 文件靜態網站產生器。ssd 把它延伸得異常遠:自訂 build hook、12 個模板 override、將第三方資產本地化的 privacy 外掛、llms.txt 輸出。
Navmesh(導航網格)3D
預先計算的可行走面圖,供 AI 尋路。DUCK STRIKE 刻意不用,改用分層貪婪避障——在單一小場景有效,無法擴展。
Prompt injectionAI
把指令夾帶進 AI 讀取的內容(tool 結果、網頁)以攻擊其工作流。DUCK STRIKE 的 SECURITY_INCIDENT.md 是開發期間此類攻擊的罕見一手記錄。
Survivors-like(割草生存)Genre
由 Vampire Survivors(2022)帶紅的自動攻擊怪海生存子類型,如今是有維基百科條目的公認類別。zombie-survivors 是公開承認的 3D 系譜成員。
Thin instances3D
Babylon.js 技術:把原始矩陣 buffer 直接餵給 GPU,用單一 draw call 畫出上千份同一 mesh。最便宜的 instancing——代價是無法逐實例剔除或點選。
Tor onion serviceOps
把網站架在 Tor 網路內提供匿名、抗審查存取。ssd 以 onion 位址提供教材並在每頁送出 onion-location header——身體力行它教的東西。
TurnstileBackend
Cloudflare 的 CAPTCHA 替代方案,證明請求來自真實瀏覽器。DUCK STRIKE 只做了後端、前端從未接上——於是它默默放行一切。
XSS 與 escapeHtmlBackend
跨站腳本攻擊:被注入的內容以程式碼身分執行。防禦是字串進 DOM 前轉義——這些專案一致做到伺服器清洗+客戶端轉義雙層。
參數化查詢Backend
把使用者輸入以綁定參數傳入 SQL 而非字串拼接,根絕 SQL injection。六個專案全部做對、無一例外。
反射型 HTML 注入Backend
當來自網址的值被當成標記(而非文字)寫進頁面時,構造過的連結就能把元素注入到另一位訪客的頁面。yakyulife 未消毒地讀取 `?seed=`,並在引退畫面經由 `innerHTML` 賦值渲染它——正是為分享連結而做的那個功能。
合理性夾制Backend
伺服器端對送分做合理性上限(如 killCap = wave²·3+150)。軟性防作弊:擋得住荒謬值,擋不住在上限內說謊的客戶端。
固定步進3D
物理以固定 tick(如 1/60 秒)搭配 accumulator 運行、與渲染幀率解耦——讓物理跨裝置行為一致的正確做法。
守位調整(positional adjustment)Genre
賽伯計量學的修正:比較球員價值時,替難守的位置(捕手、游擊)加分、替好守的位置(一壘、指定打擊)扣分。yakyulife 以「失分」為單位實作,並依各聯盟真實球季場次縮放,而不是寫死 162 場。
物件池3D
預先配置固定數量的物件(子彈、敵人、粒子)並重複利用,而非運行期建立/銷毀——避免 GC 卡頓。五款遊戲全面採用。
種子化亂數(seeded PRNG)Quality
決定性的偽亂數產生器:整段序列由一個起始字串決定,因此相同種子+相同選擇會重播出完全相同的一輪。兩款人生模擬都以 mulberry32 式產生器這樣使用,讓種子本身成為可分享物——也讓 bug 回報只要附上種子與選擇序列就能重現。
空間雜湊網格3D
把空間切成以座標雜湊為 key 的格子,鄰近查詢只需檢查附近格子而非所有物件——把 O(n²) 的鄰近測試變成近似線性。
蒙地卡羅平衡校準Quality
以模擬上千段完整流程、讀取結果分布的方式調整平衡,而不是靠手感。yakyulife 用這個方法把整條生涯評價階梯重新錨定——目標是「名人堂=全部玩家的 15%」——因為模擬顯示舊門檻高過任何玩家可達到的上限。
限流Backend
限制客戶端打端點的頻率。系列從完全沒有(zombie-survivors)演進到依 IP 的 D1 限流+fail-open 設計(後期作品)——是本次體檢中最清楚的成長曲線之一。