Skip to content
cagooooPublic

About

DEADZONE 能量防線|可切換能量武器的 3D 殭屍塔防遊戲

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEADZONE|能量防線 v1.12.0

v1.12.0:暫停畫面會寫出暫停原因(手動暫停、視窗失去焦點、頁面進入背景或離開頁面),並提醒回到遊戲後按「繼續防守」恢復;已手動暫停時,之後的失焦或離頁不會蓋掉原本的說明。戰報改為精簡版,先看漏怪、核心損失、戰中淨收支與戰術建議,火力來源與收支明細預設收合、可自行展開;淨收支不含開波前的部署花費。準備階段新增「查看上一波戰報」,看完按「返回部署」不會直接開始下一波;窄手機上的準備按鈕重新排列,不再被擠出畫面。76 項程式測試通過,Chrome 以四種模擬尺寸檢查按鈕位置;暫停原因以模擬事件驗證,手機實機鎖屏、連續 20 分鐘前景與真人平衡仍待驗。

v1.11.0:戰報可切換「本局累計」或單一波次,逐波記錄扣血、破盾、擊退、漏怪種類、核心損失/護盾吸收/修復,以及開波能源、收入、出售退款、戰中支出與結束能源。新增規則式戰術建議,每次最多三則,依漏怪種類與數量、核心損失、剩餘能源提出,例如高速敵人突破就建議彎道搭配冰凍塔;資料不足時直接說明,舊存檔沒記錄的波次不會自行推算。已完成波次的戰報隨準備存檔保存。75 項測試通過,並在 Chrome 本機以正常資源實際打第一、二波核對戰報與建議;手機實機與連續前景耐久仍待驗。

v1.10.0:第 5、10 波 Boss 出場時,戰場上方常駐 Boss 血條,顯示剩餘生命與第一/第二階段;冷卻工廠第十波的裂核者半血後會顯示援軍召喚倒數,召喚後提示清除所有敵人才能獲勝。準備階段可展開「下一波情報」,查看敵人種類、數量與克制提示,第十波條件追加的 4 名援軍另外標示。暫停與勝敗結算新增戰況統計,列出各基座防禦塔、各武器與 EMP 的扣血、破盾、擊退,以及漏怪、核心損失、護盾吸收與修復量;統計隨準備存檔保存,舊存檔只統計載入後的戰鬥。離開頁面時也會自動暫停並清除按住的操作。69 項測試通過;Boss 血條與勝利戰報以額外能源建立的第十波測試存檔在 Chrome 驗證,不算正常資源通關;真實背景分頁與手機鎖屏仍待實機驗收。

v1.9.1:完成兩圖各兩套 Chrome 十波驗收,修正反覆重建冰凍塔的幾何累積,新增固定容量效能診斷。詳見 本輪驗收報告,手機實機與受控耐久仍待驗。

v1.9.0:設定可選第二張地圖「冷卻工廠」,兩圖部署各自儲存;新增磁軌狙擊槍(按 5)、衝刺/護盾感染者與第十波雙階段裂核者。四件原創 Blender MCP 素材保留可編輯來源。驗證範圍與待驗項目詳見進度表。

v1.8.0:核心護盾站(180 能源,20 護盾、全場上限 40)與核心修復站(200 能源,清波額外修復 4、全場上限 8)。兩者佔基座、不射擊、不可升級;護盾清波充能,戰鬥中新建不立即充能。四種攻擊塔 Lv.3 各兩條分支,必須選擇並確認付費;舊 Lv.3 存檔保留標準能力。兩件原創 GLB 以 Blender MCP 製作,共 420 三角面、41,876 bytes;保留可編輯 .blend 與 SHA256。

v1.7.0:設定內可下載準備存檔、選檔驗證與預覽、確認匯入及還原匯入前備份。戰鬥中匯出最近準備檢查點;不保存波內進度。新增 E/戰場 EMP 按鈕:半徑 8、傷害 45、減速 2.5 秒、冷卻 45 秒;Boss 效果降低,無目標不耗冷卻,暫停時冷卻停止。

後續四階段詳細開發清單:本批完成存檔搬移與 EMP;護盾/修復站、分支升級、第二地圖與新敵人仍列待開發,Chrome 模擬不等於手機實機驗收。

v1.6.0 R2:選取已建防禦塔後,可切換「最前方/最近/最強」策略,並查看下一級傷害、射程、每秒射擊次數與升級費用。最強以目前生命值排序;策略各塔獨立,準備階段會保存,舊存檔自動採最前方。

v1.5.0 新增電弧抑制槍、裝甲感染者與電弧干擾塔,詳見 素材與玩法說明。電弧攻擊無視裝甲、造成範圍傷害並短暫減速;第 4 波起出現裝甲敵人。

🌐 線上遊玩:DEADZONE|能量防線

繁體中文 3D 能量槍殭屍塔防遊戲,使用 Three.js+Vite+Blender。整合 Quaternius 殭屍、守衛與環境,以及 Kenney 科幻槍械和 Blender 自製 MK2 脈衝槍。

本輪實作 A+B+P1-04+P1-09:可走動人物、斜俯視跟隨、桌機/手機移動射擊、教學、畫質及波次續玩。敵人只攻核心。技術路線已選 G-A,Godot 保留提案。

進度表 · 未來功能候選 · RDQ 已確認規格

v1.3.0 補上實際科幻 BGM〈Urgent〉:首次開始一波啟用,記住手動靜音,設定可獨立調整音樂/音效/環境聲。暫停與切換分頁停止播放、返回戰場續播;音檔載入失敗會提示重試。音樂由本站提供,約 0.91 MB,不依賴外部音樂網站串流。完整離線音樂下載尚未納入。

v1.4.0 完成方案 C 首批:守衛及三把槍各兩款外觀(含原版),新增「極地偵巡」灰白裝甲。準備階段點「裝備外觀」,可旋轉預覽、分別選擇、套用、取消及恢復原版;選擇保存在本機,外觀不影響能力。四個新增 GLB 合計 1,189,008 bytes,按需載入;既有保存外觀會在戰場就緒前恢復,單項最長等候 15 秒後回原版。

方案 C 交付與後續 · RDQ 已確認規格 · Blender MCP 安裝與實測。Blender MCP 已實際讀取場景、修改電漿發光材質、匯出 GLB 與取得視窗截圖;2026-09-08 已確認 Codex 原生 MCP 工具可用,並用於本批三件模型建模/匯出。

v1.4.2 鎖定手機 viewport 為 1 倍(maximum-scale=1、user-scalable=no),並加上雙擊、雙指與 iOS gesture 防護,避免快速連點時遊戲畫面被放大;若瀏覽器已先放大,仍可點上方「恢復原比例」。手機左搖桿控制移動與朝向,右下角點按單發/按住連射,優先命中前方最近敵人。

開始遊玩

Windows 雙擊「啟動遊戲.cmd」,或執行:

npm install
npm run dev

開啟終端顯示的 Local HTTP 網址,預設 http://127.0.0.1:5173/ 。不要以 file:// 開啟原始 index.html;那個入口會顯示啟動指引。需支援 WebGL 2 的瀏覽器。首次套件安裝需網路,模型與貼圖已隨專案保存,字型失敗可使用系統字型。

操作與玩法

操作 桌機 手機
移動 WASD/方向鍵 左搖桿
奔跑 按住 Shift 奔跑按鈕切換
瞄準與連射 滑鼠瞄準、按住左鍵 左搖桿移動/轉向;右下角點按單發、按住朝前方連射,放開停止
換武器 1/2/3/4、武器卡 底部常駐四槍
建造 B/建造按鈕,選塔再點「+」 建造抽屜選塔,收起後點「+」
全圖 C/全圖按鈕 全圖按鈕;建造模式也會顯示全圖
暫停 P/空白鍵/暫停按鈕 暫停按鈕
  • 初始能源 300;四種塔可升至 Lv.3,出售返還實際投入的 70%,向下取整。人物站在基座旁時不能把塔建在自己身上。
  • 脈衝為快速單體攻擊,電漿為範圍傷害,冰霜為減速;射程分別為 26/23/20 世界單位。圓形/六角/菱形準星輔助辨識。
  • 射擊從角色附近發出;主要障礙與已建塔會阻擋玩家移動和射擊。草木與碎石是可通行裝飾。防禦塔沿用自動攻擊規則。
  • 四槍共用熱量,100% 過熱後須降至 22% 才能再次射擊;切槍不能繞過冷卻。
  • 每波結束有能源補給並修復核心 5%;第 5、10 波有巨型敵人,守住 10 波獲勝。殭屍不攻擊玩家。
  • 失焦自動暫停;可切 1×/2×。設定提供音量、減少動態、瞄準輔助與低中高畫質。
  • 戰況資訊:準備階段可展開「下一波情報」看敵人種類、數量與克制提示,打完至少一波後可點「查看上一波戰報」;第 5、10 波 Boss 出場時,戰場上方顯示血條、階段與援軍召喚倒數。
  • 暫停與勝敗結算會顯示戰報,可選本局累計或單一波次,先列漏怪、核心損失、戰中淨收支與最多三則戰術建議,火力來源與收支明細可展開。暫停畫面會註明是手動、失焦、背景或離頁造成;自動暫停後回到遊戲不會自己恢復,要按「繼續防守」。
  • 首次有五步引導,可略過,亦可從設定重看。

保存與續玩

準備階段自動保存目前波次、核心、能源、擊退數、武器、人物位置、塔型及等級。重新開啟同一瀏覽器、同一網址來源時,可選「繼續防守」或「新戰局」。

戰鬥中重整會回到該波開始前的部署,不是逐幀戰鬥存檔。勝敗後清除該戰局檢查點。存檔格式不相容或損毀會提示開新局;儲存不可用時會顯示失敗狀態。清除瀏覽器資料、無痕關閉、變更網域或連接埠,都可能讓原存檔不可用。沒有雲端同步或跨裝置戰局。

開發與驗證

npm test
npm run build
npm run preview
# 另一個終端,使用生產預覽隔離開發 HMR:
$env:GAME_URL='http://127.0.0.1:4173'
node scripts/verify-browser.mjs
node scripts/verify-full-session.mjs
node scripts/verify-third-person.mjs
node scripts/verify-ab-foundation.mjs
node scripts/verify-quality-fallback.mjs

76 項單元測試(npm test);完整瀏覽器 10 波、勝敗重開;另有多指觸控、存檔恢復、模型故障及 BGM 播放測試(node scripts/verify-bgm.mjs)。Edge headless 與觸控模擬報告在 artifacts,詳細結果見驗證紀錄。實體手機、Safari、長時間發熱及真人難度/聽感尚未驗收。

dist 可供靜態部署;已接入 GitHub Pages 自動部署、manifest 與版本更新通知。完整離線下載尚未納入。Three.js 大於 500 kB 的建置提示仍在,建置可成功。

專案結構

路徑 用途
src/game.js、world.js 戰局、武器/塔、敵人、人物移動與共用碰撞
src/scene.js、assets.js 場景、動畫、畫質、特效池、素材載入
src/controls.js、combat.css 桌機/多指輸入、橫直向戰鬥介面
src/save.js、tutorial.js 版本化檢查點與教學
src/battle-ui.js Boss 血條、下一波情報與戰報畫面的顯示
src/battle-report.js 戰況統計:各來源扣血、破盾、擊退與漏怪/核心/修復的記錄與存檔驗證
src/wave-report.js 逐波戰報(傷害與能源收支)的記錄、存檔驗證與規則式戰術建議
src/waves.js 各波敵人組成規則、下一波情報預覽與敵人克制提示
src/lifecycle.js 失焦、背景分頁、離頁時自動暫停,並區分暫停原因
src/main.js、timing.js、audio.js UI、整合、固定步長與音效
public/models/ 遊戲使用的 glTF/GLB/PNG
assets-source/blender/ Blender MK2 可編輯母檔
ASSET_SOURCES.md、asset-manifest.json 素材來源、授權與雜湊
tests/、scripts/、artifacts/ 自動驗證與報告截圖

Blender 素材開發

MK2 已有 .blend、生成腳本與遊戲 GLB。角色採 Idle_Gun/Walk_Gun/Run_Gun;其他角色及殭屍需保留骨架和對應動畫名稱。Kenney 原始槍依賴 Textures/colormap.png,MK2 貼圖已內嵌。匯出後驗證縮放、朝向、槍口和動畫,再打包。

詳見Blender 素材開發流程。完整 SKIN 選擇器、骨骼持握插槽規格與更多外觀仍列 P1-05 候選。使用者已授權開發時主動使用獨立瀏覽器重現、修正與回測 BUG。

v1.2.0 分享與版本更新

favicon/OG、GitHub Pages、SW 更新提示與 chunk 一次性恢復、手機平板 RWD 及阿凱老師頁尾已加入。詳見 部署與版本更新。正式版本更新由 GitHub Actions 自動同步 APP/SW/version.json,玩家確認後重載;可以先完成當波。


🔗 阿凱老師教育工具集

這個專案是阿凱老師教育工具集的 #126 DEADZONE 能量防線:3D 塔防射擊,由桃園市龍潭區石門國民小學阿凱老師開發。

想改造成自己的版本?到上面的教學情境文章,按左下角「複製 AI 開發提示詞」,貼給 ChatGPT、Claude、Gemini 等 AI 助手,就能參考這份原始碼開始規劃。

About

DEADZONE 能量防線|可切換能量武器的 3D 殭屍塔防遊戲

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages