Castle Arena新闻

开发日志

2026年10月2日

平衡实验室:改动一个数字之前的数千场对局

BALANCE文章 #3
黄昏时的红色城堡围攻战,河谷
黄昏时的红色城堡围攻战,河谷

策略游戏的成败取决于平衡性,而凭感觉去平衡很容易出错。因此我们搭建了一个实验室。模拟在没有图形的情况下运行,速度远超实时,并且可以按我们的要求让 AI 与自己对战任意多次,使用固定的随机种子,这样任何有趣的对局都能被精确重放。

裁判

第一轮大规模测试始于对游戏的三份独立审查:规则、平衡和界面。随后是我们称为"裁判"的环节:它会把各项发现相互权衡,决定哪些进入游戏,并要求每一项改动在新一批 AI 对 AI 对局中经受住考验,才能被保留下来。

平衡审查模拟了大约 1000 场对局,并发现了一个令人意外的现象:城堡几乎无关紧要。一旦城堡跌破 90%,它便会在中位数 0.4 分钟内被摧毁;而增加它的生命值或让它的攻击翻倍,都没有带来任何可测量的变化。对局是由两支停在部队上限处的大军之间的一场巨型战斗决定的。经济运转得太快:建造区域大约在第 18 分钟被填满,还剩下 22000 木材未被使用,赏金占据了全部所得黄金的 31%。

修复方案是一整套组合拳,而非单一数值:提高入门建筑的价格,将赏金削减至原值的 60%,并把部队上限从 110 下调到 90。我们还发现了一个攻城漏洞:依赖攻城建筑的一方胜率达到 75%;将其生成间隔拉长后,这一比例降到了 60%。另外,裁判在测试之后否决了两项为 AI 提出的改动,其中一项会让单一阵营在 17 场城堡胜利中拿下 16 场。

永远不结束的对局

接着,我们遇到了相反的问题。我们在默认设置下让每一组阵营对阵十次,总计 1050 场对局。其中 21% 的对局出现了长达 10 分钟或以上的停滞:城堡没有受到伤害,没有建筑被永久摧毁,前线原地不动;与此同时,双方大军仍在持续生产并互相交换攻击。在一段典型的停滞中,有 547 个部队阵亡。总体来看,18% 的对局打到了 30 分钟的时限;如果取消时限,则有 3.8% 的对局在两小时后仍然平局。其中有一局,足足 114 分钟没有任何进展。

在改动任何东西之前,我们花了 3880 场对局去弄清原因。三个原因格外突出:

  • 作为墙壁的部队上限。 当双方大军都被卡在 90 时,多出来的黄金不再转化为压力。部队峰值超过 150 的对局,有 73% 的情况最终变成了僵局。
  • 只在本方生效的范围伤害。 AI 会把法术建筑放在城堡后方,它们覆盖的只是自己的那半边战场:它们杀死的部队中,有 99% 死在施法者一侧。推进的一方会走出自己的保护范围,进入敌方的保护范围。
  • 一个打不破僵局的 AI。 在许多阵营中,它会把防御性法术建筑堆在它认为是炮兵的位置上。

我们还排除了一些怀疑对象:寻路(不到 2% 的部队曾被卡住)、狭窄地图(一张带瓶颈的测试地图反而是最具决定性的)、治疗以及城堡生命值。

随后,我们把自己的决胜规则拿来接受检验,对那些打到时限的对局取消限制后重新进行。当前规则只有 55% 的时候选出了真正的最终胜者。仅凭收入判定的正确率还不如掷硬币,只有 44%,因为重建一座被摧毁的建筑会再次增加收入,而正在挨打的一方往往反而能赚到更多。留存的救援在决出胜负时的正确率为 76%。按"救援优先,其次是建筑摧毁的净差值,最后是前线"这一顺序,正确率为 68%。

证据、原因、选项

这就是我们遵循的纪律:先看证据,再找原因,然后列出选项,每个选项都要评估其风险。它是否保留了翻盘的可能?是否惩罚了正当的防守?是否抹去了某个阵营的特色?只有通过这些检验,我们才会动数字,而且动得非常谨慎。从零重写 AI 选择建筑的方式让情况变得更糟;而对既有逻辑做一行修改,就把达到时限的对局比例从 18.1% 降到了 11.0%,同时没有打破阵营之间的平衡。

截至我们撰写本文时,这些僵局修复中没有一项已经进入游戏。测量已经完成,选项已经摆上桌面,下一批实验也已确定。平衡永远不会真正完成,但至少我们现在知道该往哪里看。

— Castle Arena 团队