攻略

塔防游戏源码:TypeScript 中的波次、炮塔与数值平衡

Barricade Z 把 30 个波次、12 级炮塔和经济系统放在三个数据文件里。这对买家意味着什么,看这里。

Barricade Z 宣传图:黄昏时分,一只卡通僵尸跃过木制路障,身后一座黄色炮塔正朝尸群开火。

在塔防游戏源码里,游戏设计其实写在数据中:每座炮塔有多强,每一波派出什么敌人,金币来得多快。如果这些数据散落在渲染代码里,调整一波的难度就得读完整个项目。我们的合成塔防模板 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 种语言,有竖屏和横屏布局,支持触屏和鼠标。解说语音只录制了英文版,语言设置只改变界面文字,不改变语音。

查看 Barricade Z:试玩、指南和价格

承载游戏设计的三个文件

先打开 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。只有修改游戏本身时才需要安装。

  1. 安装 Node.js 20.19 或更高版本。
  2. 在 source/ 中运行 npm ci。经过测试的工具版本已锁定在 package-lock.json 里。
  3. 完成修改后,运行 npm run typecheck 和 npm test。
  4. 运行 npm run build,输出在 source/dist/。
  5. 上传 source/dist/ 的内容替换线上游戏,做法和上传 game/ 一样。

还有三个可选命令能帮上忙:npm run dev 启动本地开发服务器,npm run preview 预览构建结果,npm run balance 在命令行里跑完整场战役模拟,改完 balance.ts 后很方便。

买家通常最先改什么

  1. 配置文件中的标签页标题和存档前缀,让这份副本从第一次上传起就属于你。
  2. 源码中的 Logo 和美术。按照指南要求,替换图像时保持原有比例。
  3. i18n 词典中的界面文本,你计划上线的每种语言都要改。
  4. 难度:先改 waves.ts 中的波次组成,再改 balance.ts 中的金币节奏。
  5. 最后才改 towers.ts 中的炮塔,因为每一波都是按炮塔数值调好的。

如果你销售或运营多款合成类游戏,同样的“储备区加合成”玩法还出现在我们另外两个模板中,各有自己的主题和规则。

Deepforge:合成镐子,把它们送进基于物理的矿井

Plop:11 个等级的水果合成物理益智游戏

部署、更新与存档

只把 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 工程。如果想把游戏上架应用商店,封装和商店页面是另外的工作,我们可以报价。

不包含的内容与授权

此版本没有广告 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 上。

试玩 Barricade Z 并购买授权

需要定制波次、换皮或代理采购?请联系报价