← 開發日誌

從空資料夾開始:用 AI 做一款瀏覽器 Roguelike

這一切從一個空資料夾開始。

沒有美術素材、沒有引擎專案、沒有一行程式碼——只有一個想法:能不能讓 AI 從零做出一款真正可玩、而且「手感好」的動作 Roguelike? 不是技術 demo,而是會讓人想多玩一輪的那種。

為什麼選這個題材

動作 Roguelike(像 Hades、Phantom Tower)是個很好的試金石,因為它同時考驗很多面向:

  • 即時戰鬥手感:攻擊判定、連擊、受擊回饋,差一點點就「鈍」
  • 程序生成:地城要每次都不一樣,又不能爛
  • 系統深度:升級、技能、永久進度要互相咬合
  • 效能:瀏覽器裡同屏幾十隻敵人還要順

任何一塊做不好,整體就垮。這正是拿來測 AI 開發能力的好題目。

技術選型

決策選擇理由
渲染Three.js瀏覽器 3D 的事實標準,生態成熟
物理Rapier(WASM)官方角色控制器處理牆壁滑動、台階
語言TypeScript(strict)型別安全,重構不怕
架構Rogue Engine 風格 Componentawake/start/update/onDestroy,日後好遷移
美術KayKit CC0 資源免費、可商用、風格統一

一條重要的自我約束

整個專案有一條鐵則:開發者不提供任何美術素材

所有 3D 模型、骨骼動畫、地城磚塊,都由 AI 自己去找 CC0 授權的免費資源;音效則完全用 Web Audio API 程式合成,連一個音檔都不下載。這條約束讓「全程 AI」這件事更純粹,也意外地指向一個有趣的未來——當 AI 成為素材的主要使用者,素材庫會長成什麼樣子?(這留到最後一篇談。)

開發藍圖

整個專案切成幾個里程碑,每一個結束都是一個「可以在瀏覽器玩」的版本:

  • M0–M1:引擎骨架、玩家控制器與第三人稱鏡頭
  • M2:戰鬥系統——連擊、hit-stop、命中判定
  • M3:種子化隨機地城
  • M4:升級三選一與永久進度
  • M5:BOSS 戰
  • M6:粒子、音效、螢幕震動等視聽回饋
  • M7:效能優化與打包

接下來的每一篇日誌,會拆解其中一個里程碑——遇到的問題、為什麼這樣設計、AI 怎麼解的。

準備好了嗎?直接開始遊玩 →

看更多開發日誌 →