游戏介绍
塔防 3D 是把 PlayHub 的波次防守游戏用 Three.js 的 WebGL 重做的作品。舞台是一座漂在深色水面上的石台:一条土路五次折返横穿其上,可建造的地面是一格格微微凸起的草方块,边缘挤满松树与巨石。定向阳光为每座塔投下真实的阴影,摄像机采用倾斜的四分之三视角,一眼就能看到整个棋盘 —— 竖屏更陡、桌面更平,任何屏幕上都不会漏掉边角。
第三个维度带来的是剪影。四种塔不再是只能靠颜色分辨的四个方块:弓箭塔是叉开支腿的木制望楼,顶上架着弩;冰霜塔是被漂浮晶片环绕的锥形方尖碑;炮台是围着雉堞的矮壮石堡;狙击塔则是全场最高的细长尖塔。每座塔开火前都会把炮管转向目标,箭矢和炮弹划出弧线飞行,狙击则以瞬发的曳光线作答。而在这一切之下运行的模拟,与本站的 2D 塔防逐个数字完全一致 —— 同样的地图、同样的数值表、同样的确定性波次表,所以在那边学到的打法在这里照样管用。
操作方法
- 在棋盘下方的工具栏里选一种塔,再点绿色格子即可建造。建造模式会保持开启,所以整条防线可以连点铺完。
- 点击已建造的塔会打开面板:升级、按投入金币的 70% 出售,或用 ✕ 关闭。
- 键盘:1~4 选塔,空格提前开始下一波,U 升级,X 出售,F 切换倍速,Esc 取消选择。
- 1× / 2× 按钮把时钟加倍。塔防最漫长的就是波次之间的等待,战线稳住就赶紧开。
- 游戏结束后按空格或回车开始新的一局。暂停会冻结一切,包括建造倒计时。
- 点 ⛶ 进入全屏,3D 棋盘会放大到整个屏幕,工具栏仍留在下方。
游戏规则
- 开局 200 金币、20 点生命,第 1 波前有 22 秒、波与波之间有 11 秒建造时间。提前开波,每跳过 1 秒建造时间就奖励 2 金币。
- 分数就是你守住的波数。走出红色大门的敌人会扣生命:多数扣 1,坦克扣 2,Boss 扣 6。生命归零即结束。
- 塔只能建在凸起的草地格上。道路以及石台四周的岩石与水域都不能建造,一格只放一座塔。
- 弓箭 50 金:攻击 9,每秒 1.9 发,射程 108 —— 便宜的单体持续输出。冰霜 70 金:攻击只有 4,但命中后减速 45%、持续 1.6 秒。
- 炮台 95 金:攻击 16,每秒 0.72 发,半径 39 溅射 60% 伤害 —— 应对虫群的唯一正解。狙击 130 金:攻击 46,射程 208,直线穿透两个目标并完全无视护甲。
- 每次升级攻击 ×1.7、射速 ×1.15、射程 ×1.12,最高 3 级。出售返还投入金币的 70%(向下取整),所以挪位置总要付出代价。
- 敌人血量为 24 × 1.155^(波次−1),赏金每波只涨 6%。收入被刻意设计成追不上血量,所以每一局终会结束,问题只是撑到第几波。
- 护甲从每次命中中固定扣除,但伤害不会低于 1。坦克 4 点、Boss 7 点,每十波再增加 60%。只有狙击无视护甲。
- 难度一次只加一个新概念:第 3 波出快速兵,第 5 波坦克,第 7 波虫群,第 10 波首个 Boss,之后每五波一个 Boss。波次表没有随机数,所有人面对的第 17 波都一样。
- 塔总是攻击射程内沿路走得最远的敌人,并且开火前会把炮管转过去。冰霜的减速是刷新持续时间,而不是叠加。
策略与技巧
先在第一个弯道放两座弓箭塔,别的都往后排
两座弓箭塔要花掉开局 200 金币里的 100,而它们合起来能覆盖整段第一个折返。仅凭这一点就能零掉血通过第 1~4 波,而后面的一切都靠这笔本钱。第 1 波就摆一座狙击塔看着威风,却会从它覆盖不到的弯道漏掉小兵。
建在弯道内侧,不要贴着直路
这条路一共折返五次。建在折返内凹处的塔,射程圆上有两到三面压着道路,敌人待在圈里的时间是走直路的两三倍。选中塔时出现的射程圆就是判断工具 —— 要看它覆盖了多少路,而不是它有多大。
冰霜不是输出塔,而是伤害倍率
冰霜方尖碑的攻击只有 4。它真正做的是让内凹处的敌人多停留 45%,重叠在同一片区域的弓箭和炮台的总伤害也就同比例上升。三四座输出塔里配一座冰霜,价值远高于第四座弓箭;而同一处放两座冰霜几乎没用,因为减速是刷新而不是叠加。
虫群用炮台、护甲用狙击 —— 下一波会告诉你答案
虫群从第 7 波开始出现,二十来只 30% 血量的小东西首尾相接地涌来;一发炮弹能抹掉半个虫群,而弓箭塔只能一只一只点。坦克和 Boss 的护甲会吃掉弓箭伤害的大半,而无视护甲的只有狙击。要看下一波由什么组成,而不是看什么最便宜。
提前开波 —— 奖励相当于一座塔
整整跳过 11 秒的建造间隙可得 22 金币,连续十波这样做就超过两座弓箭塔。防线开始轻松扛住之后,金币一花完就按空格。同时打开 2× 倍速,打到第 20 波所花的真实时间会少得多。
先升级,再铺开
每次升级攻击涨 70%,射程却只涨 12%,所以一座位置好的 3 级弓箭塔强过三座位置一般的 1 级塔,而且更省钱。只有当波次超出你的覆盖范围时 —— 比如虫群开始从单个凹处溜过去 —— 才铺开,其余时间都应该集中。
常见问题
这是真正的 3D,还是看起来像 3D 的 2D?
是真正的 3D。场景通过 Three.js 运行在 WebGL 上,使用透视摄像机、写入阴影贴图的定向阳光、半球补光、距离雾和手绘天空穹顶。没有任何预渲染,也不下载任何文件 —— 塔、敌人、箭矢、岩石全都在页面加载时由代码用长方体、圆柱、圆锥、球体和八面体生成。
它和本站的 2D 塔防是同一个游戏吗?
规则和数值完全一致:同样的 8×10 棋盘、同样的道路、同样的四种塔数值表、同样的升级倍率、同样的 70% 返还、同样的确定性波次表和同样的护甲算法。改变的只有表现形式。两个游戏各自保存最高分和排行榜,所以在这里的成绩不会覆盖你的 2D 纪录。
开局该先建哪种塔?
两座覆盖第一个折返的弓箭塔。它们是全场性价比最高的输出,而开局几波全是没有护甲的普通兵,更花哨的选择都是浪费。第 4 波前后在同一个凹处补一座冰霜,虫群开始的第 7 波之前准备炮台,首个 Boss 到来的第 10 波之前准备狙击。
明明看起来在射程内,塔却不开火?
塔总是瞄准射程圆内沿路走得最远的敌人,而且开火前要把炮管转过去。如果两个敌人都在射程内,它会继续打更靠近大门的那个 —— 通常这正是你想要的。如果它完全不开火,多半是射程圆只压到了敌人旁边的格子而没压到道路本身。选中这座塔,看看圆到底在哪里穿过道路。
需要下载或安装什么吗?
不需要。整个游戏就是一个 ES 模块,它加载本站的 Three.js 本地副本。没有插件、没有应用商店、不用账号 —— 直接在浏览器标签页里运行,页面缓存之后还能离线游玩。
浏览器提示无法运行游戏,或者手机看起来没有电脑清晰。
这个游戏需要 WebGL;如果看到的是提示文字而不是 3D 棋盘,请升级到较新的 Chrome、Edge、Firefox 或 Safari,或者打开硬件加速。在小屏幕上会关闭抗锯齿、把阴影贴图减半并精简周边装饰 —— 所有规则和数值完全不变,改变的只是绘制预算。如果无法使用 WebGL,可以玩本站的 2D 塔防。