塔防遊戲原始碼:TypeScript 裡的波次、砲塔與平衡
Barricade Z 把 30 波關卡、12 級砲塔和經濟系統放在三個資料檔裡。對買家來說,這代表什麼?

塔防遊戲原始碼裡,遊戲設計其實寫在資料中:每座砲塔多強、每一波派出哪些敵人、金幣進帳多快。如果這些資料散落在繪圖程式碼中,光是重調一波就得把整個專案讀一遍。我們的合成塔防範本 Barricade Z 把砲塔、波次與平衡集中在三個 TypeScript 檔案,這篇指南帶你找到它們,並說明如何安全地修改。
這個套件的修改分成兩層。網頁標題和存檔名稱,用文字編輯器就能改。其他一切,從砲塔到殭屍波次,都要透過 TypeScript 原始碼並重新建置。買之前先搞清楚哪些屬於哪一層,之後就不會嚇一跳。
以下每個檔名都出自遊戲隨附的圖文買家指南,指南提供與介面相同的 14 種語言。
這套塔防遊戲原始碼有哪些內容
Barricade Z 是一款合成防守遊戲。玩家在備戰區製造砲塔,把兩座同等級的砲塔拖在一起合成下一級,最高到 12 級,再把最強的砲塔移到五個路障位置。30 波的戰役橫跨三種場景,第 10、20、30 波會出現 Boss。手榴彈在第 3 波解鎖,Overdrive(超載)在第 7 波解鎖,Workshop(工坊)販售升級項目。隨著玩家進度推進,還會開放每日挑戰與 Endless(無盡)模式。
- game/:可直接上傳的可玩建置版本,lib/phaser.js 內為 Phaser 3.90,並附 Bungee 與 Barlow Condensed 字型。
- game/barricade-z.config.js:不用重新建置就能修改的兩項設定。
- source/:易讀的 TypeScript 專案,僅供開發者使用。
- documentation/index.html 與根目錄的 DOCUMENTATION.html:買家指南,可離線開啟。
- THIRD-PARTY-LICENSES/:引擎與字型的授權聲明。
介面支援 14 種語言,提供直式與橫式版面,觸控與滑鼠皆可操作。播報員語音只錄了英文版,語言設定只會改變介面文字,不會改變語音。
承載遊戲設計的三個檔案
先打開 source/src/data/。購買原始碼版的理由就在這三個檔案,因為塔防遊戲真正的設計都在這裡。
- towers.ts:12 個砲塔等級、武器屬性與槍口資料。
- waves.ts:30 個戰役波次,以及 Boss 出現的位置。
- balance.ts:經濟、生命值、傷害與成長曲線的調校。
在它們周圍,source/src/i18n/ 存放 14 種語言的字典,source/src/ui/ 存放選單、HUD、工具列、面板與新手教學,source/src/audio/ 負責音效路由與播報員。game/assets/ 中建置後的程式碼檔名帶有雜湊值;請勿手動修改,改用重新建置。
用文字編輯器就能改的部分
打開 game/barricade-z.config.js,改一個值、存檔、重新整理即可,不需要重新建置。這裡只有兩項設定。
- title:瀏覽器分頁標題。它不會取代圖像 Logo。
- storagePrefix:存檔資料的命名空間。修改後會開始另一份獨立存檔,舊的鍵值仍會保留。只能使用英文字母、數字、句點、底線與連字號,最多 64 個字元。
storagePrefix 比外表看起來更實用。同一個網域下的兩份遊戲副本,即使放在不同子資料夾,也會共用存檔。如果代理商在同一個網域下為每位客戶各架一份,請替每份副本設定不同的前綴,玩家進度才不會混在一起。
除了這兩個值以外的所有內容,包括 Logo、圖示、美術、規則、砲塔、波次與文字,都需要原始碼版並重新建置。
真正修改後的重新建置
game/ 資料夾內已是可玩的建置版本,所以架站不需要 Node.js。只有要修改遊戲本身時才需要安裝。
- 安裝 Node.js 20.19 或更新版本。
- 在 source/ 中執行 npm ci。經過測試的工具版本已鎖定在 package-lock.json。
- 完成修改後,執行 npm run typecheck 與 npm test。
- 執行 npm run build,輸出會在 source/dist/。
- 上傳 source/dist/ 的內容取代線上遊戲,方式與上傳 game/ 相同。
另有三個選用指令可幫上忙:npm run dev 啟動本機開發伺服器,npm run preview 提供建置結果供檢查,npm run balance 則在命令列中模擬整場戰役,修改 balance.ts 後特別好用。
買家通常最先修改的地方
- 設定檔中的分頁標題與存檔前綴,讓這份副本從第一次上傳就屬於你。
- 原始碼中的 Logo 與美術。依指南要求,替換圖像時維持原本的比例。
- i18n 字典中的介面文字,你打算上線的每種語言都要處理。
- 難度:先改 waves.ts 的波次組成,再改 balance.ts 的金幣節奏。
- 砲塔最後才改,在 towers.ts 中,因為每一波都是依照砲塔數值調好的。
如果你販售或經營多款合成遊戲,同樣的「備戰區加合成」概念也出現在我們另外兩個範本中,各有自己的主題與規則。
架站、更新與存檔
只把 game/ 的內容上傳到一個空資料夾,例如 public_html/my-game/,再用最新版 Chrome、Edge、Firefox 或 Safari 開啟網址。不需要 npm、PHP、資料庫或帳號,建議使用 HTTPS。在電腦上直接點兩下 index.html 是不會動的。主機必須以 JavaScript 類型傳送 .js、以 CSS 類型傳送 .css,字型與 .mp3 則用一般類型;許多主機的檔名會區分大小寫。
在預設前綴下,存檔會存在玩家瀏覽器的 barricadez.save(戰役與檢查點)與 barricadez.settings(語言、音效、教學、解鎖項目、紀錄)。沒有帳號,也沒有雲端同步。重新整理頁面會讓目前波次從檢查點重新開始。
- 更新方式:備份 game/ 與你改過的設定檔,把新的 game/ 覆蓋上傳,storagePrefix 保持不變,然後重新整理。
- 若仍顯示舊版,請清除快取的圖片與檔案,或按 Ctrl+F5。不要清除網站資料,那會刪掉存檔。
- 遊戲附有 manifest.webmanifest,但指南明確說明,它並未包裝成可安裝的離線 App。
不含原生 App 專案。如果想把遊戲上架 App 商店,包裝與商店頁面是另外的工作,我們可以提供報價。
不包含的項目與授權
此版本沒有廣告 SDK、數據分析、金流服務、線上多人、遠端排行榜或雲端存檔,也不含原生 App、主機代管或客製開發。要加入其中任何一項,都屬於需要你自己帳號的開發工作。
Barricade Z 定價 39 美元,在 2026 年 11 月 30 日前的黑色星期五優惠期間為 33.15 美元;同一筆訂單買兩個以上範本,還能享 5% 至 20% 的組合折扣。授權為永久、非獨家,限用於一個最終產品,可以是你自己的,也可以是一位客戶的。你可以修改程式碼、美術與音效,以你的品牌取代我們的,並免費或搭配廣告提供遊戲。不得單獨轉售範本或其程式碼。內含六個月技術支援,加購延長方案為十二個月;新功能與整合需先報價。
常見問題
這套塔防遊戲原始碼用的是哪個引擎?
Phaser 3.90 搭配 TypeScript。引擎以 MIT 授權內附於 game/lib/phaser.js,不會從 CDN 載入任何東西。
沒有 Node.js 可以改波次和砲塔嗎?
不行。設定檔只能設定分頁標題與存檔前綴。波次、砲塔與平衡都在原始碼裡,需要 Node.js 20.19 或更新版本並重新建置。
播報員語音有翻譯嗎?
沒有。14 種語言涵蓋的是介面。播報員錄音為英文,其他語言沒有旁白。
手機上可以玩嗎?
可以。直式與橫式版面都支援觸控與滑鼠。效能取決於裝置,請在你的玩家常用的手機上測試。
同一個網域下的兩份副本能分開存檔嗎?
可以,只要每份副本在 barricade-z.config.js 中設定各自的 storagePrefix。單靠不同的子資料夾無法分開。
適合哪些人購買
Barricade Z 適合想要一款完成品殭屍防守遊戲的遊戲平台、替單一客戶準備品牌遊戲的接案者或工作室,以及想了解 TypeScript 與 Phaser 塔防如何把設計放在資料裡的開發者。如果你只需要以自己的名義上線,設定檔加上 Logo 就能搞定大部分工作。如果你打算設計新戰役,大部分時間會花在那三個資料檔與 npm run balance 上。
