固定值护甲,以及它藏着的难度悬崖
· 阅读约 4 分钟
Briarlight Defense 是一款发生在夜晚森林里的塔防游戏: 五种防御塔,每种有三条升级分支,三十波敌人,路的尽头是一棵 Heart Tree(心之树)。 有两条规则对游戏玩法的影响,比任何一座塔都大。这篇讲的就是这两条规则, 以及其中一条把一次温和的削弱变成一堵墙的那一天。
规则一:护甲是减法
护甲常见的写法有两种。一种是百分比,每次命中都扣掉一定比例: 30% 的护甲意味着每一发只打出 70%。另一种是固定值减免, 每次命中都扣掉一个固定数值,而且一次命中至少造成一点伤害。
Briarlight 用的是固定值。Bramble Brute(荆棘蛮兵)有 6 点护甲。 Firefly Hive(萤火虫巢)在没有任何升级时,射出的是又快又小、每发 5 点伤害的攻击。 打在 Brute 身上,每一发都正好只造成 1 点。 一座撕碎狼群和蜘蛛不在话下的塔,对这个专门用来克制它的敌人几乎毫无办法。
这是有意为之。百分比护甲会让每座塔对 Brute 都弱 30%, 而你该造哪座塔这件事不会有任何变化。 固定值护甲则把塔分成了两类:打得够重、能破甲的,和打不动的。 它还让一种伤害类型变得特殊:持续性毒伤完全无视护甲。 要对付 Brute,Mushroom(蘑菇塔)的孢子就是唯一的办法。 注意到这一点的玩家,弄懂的是这个游戏本身,而不只是某个数字。
规则二:状态加伤害类型,会触发效果
一共正好五种反应,每一种都能用一句话说清:
- Storm(风暴):潮湿的敌人被闪电击中,电流会再跳向三个目标。
- Thornstrike(荆棘打击):被缠住的敌人受到物理攻击时,伤害再加一半。
- Shatter(碎冰):被冻住的敌人受到魔法攻击时,冰层碎裂,并连带掉一大块血。
- Toxic Bloom(毒花绽放):中毒的敌人被火焰击中,毒云被点燃,伤害周围所有敌人。
- Dazzle(眩目):萤火虫很容易锁定被减速的目标。
五种足够让你围绕它们打出一整套构筑,又少到可以在无意中发现。 你会在看着一个数字变大、一个词出现在敌人头上时发现它们,用不着读攻略。
地图也是连招的一部分
在第一张地图 Whispering Woods(低语森林)上,有一条小溪横穿道路。 任何蹚水走过的东西,出来时都是湿的。 所以游戏里最强的反应,潮湿加闪电,是由地图的一部分打开的,而不是由某座塔打开的: 在浅滩旁边放一座走 Spark(火花)分支的 Firefly Hive,它的电流就能横扫整段弯道。
第二张地图 Moonwell Glade(月井林地)一滴水都没有。 撑起了所有早期对局的那套构筑失效了,玩家只好重新去看防御塔列表。 结果,拿走一样东西做出的第二张地图,比加一样新东西更省事,效果也更好。
悬崖
固定值护甲就是在这里反咬了一口。后面的地图复用同样的三十波敌人, 又要比第一张地图更难,而让它们变难最直接的办法,就是把每座塔都削弱一点。
上线之前做了测量。用十二个不同的随机种子跑了十二局,每次都用同一套合理的策略:
- 所有塔伤害为 95% 时,十二局全部打完了三十波。
- 降到 92% 时,十二局里有八局死在了第六波。
第六波正是第一个带护甲的敌人出现的地方。在固定值护甲下, 把每座塔的伤害削掉十分之一,可能会让一发攻击从比 Brute 的护甲高两点变成刚好一点不剩: 一座本来勉强能对付它的塔,现在每次命中只打 1 点。 百分之三的伤害,就是一张公平的地图和一张大多数玩家过不去的地图之间的差别。
更奇怪的是,比这更难的设置反而又变简单了:敌人更多意味着可以花的 essence(精华)更多, 多出来的那座塔扛住了 Brute。一个表现成这样的难度旋钮是没法调的,只会让人被它绊倒。
所以更难的地图改用了三个反应平滑的旋钮:每波更多的敌人; 所有东西更多的生命值(这会让敌人更难杀,却不会碰到护甲的算式); 以及更少的 essence,也就是整局能造的塔更少。 就连这些也是在前八波里逐步加上去的,所以每张地图开局时的节奏, 都和游戏调校时的节奏一样,第六波的那堵墙也留在原处。 游戏里现在的数值是试过的第六组,每一组都是由一个脚本挑出来的: 它在每张地图上用好几个种子跑完整局,然后打印出一个合理的玩家能走到哪里。
说到底
像固定值护甲这样的规则之所以有价值,是因为它制造了硬边界: 这座塔对这个敌人有效,那座塔无效。同样的硬边界也意味着, 在它们附近的小改动并不小。当一个游戏有这样的规则时, 要靠实际运行游戏来测试平衡改动,而不是靠对平均值的推理。
来玩 Briarlight Defense,试试在浅滩旁边走 Spark 分支。
