新闻新闻

开发日志

2026年10月3日

两个难题

TECH文章 #7
秋之十字路的夜战
秋之十字路的夜战

两个难题消耗的测量工作远超我们的预期:一是不肯战斗的近战部队,二是会飞的部队。

原地踏步的士兵

两支大军相遇时,后排的近战部队会贴着盟友的后背,双腿交替迈步,却原地不动。每个士兵都径直冲向最近的敌人,通常正是前排士兵已经在交战的那个敌人,而防止部队互相重叠的规则,每一步都把它推回来。

在改动之前,我们先做了测量。在开阔地的近战中,部队有 26% 的战斗时间在原地踏步;在狭窄的走廊里是 35%;而在电脑玩家之间的普通对局中,则是 9.7%。

为了找到解决办法,我们搭建了一个实验室:一份模拟的副本,其中只有移动规则可以替换。它设置了四种场景(开阔地、混有弓箭手的大军、宽约四个部队的走廊,以及骷髅群)以及完整对局。如果一个部队走了半秒,却只移动了其速度所允许距离的四分之一以下,我们就把它计为原地踏步。随后,我们尝试了 13 种不同的规则。

失败的尝试教会了我们很多。"如果前方有盟友正在战斗,就停下"这条规则消除了原地踏步,但战斗时间翻了一倍,因为后排的士兵再也到达不了前线。在目标周围寻找空位的做法几乎没有帮助:在战线上,那个圆圈早已被敌人自己的相邻部队占满。真正有效的做法,是挑选一个仍有空闲攻击位的目标,然后绕过那些站着不动的士兵,找到一条通往它的路径。

胜出的是耐心路径:部队规划一条通往最近空闲攻击位的短路径,尝试从盟友之间挤过去;如果被卡住,就在不挤的前提下重新规划,或者等待。原地踏步的比例在开阔地降到 5.6%,在走廊降到 6.8%,在完整对局中降到 1.3%。另一条竞争规则在对局中表现更好(1.0%),但在走廊里,它的部队会整齐地排成一队,造成的命中反而比以前更少。耐心路径会优先推进,而且它看起来更自然。

这会打破平衡吗?

以上任何一条规则都会让近战变得强得多:在双方使用相同部队、只有一方采用新规则的情况下,这一方赢下了 79% 到 100% 的交战。一个训练课程当场就被破坏了,它的全近战波次突然变得过强,因此我们把它的敌方营地从六个削减到了五个。

不过在真实对局中,双方都会获得新规则。于是我们让每个阵营都与其他所有阵营对战,每种移动规则都在相同种子下跑了 1050 场对局。阵营的胜率仍在相近的区间内(修改前为 44% 到 60%,修改后为 42% 到 57%),没有任何阵营超出正常波动。我们第一次运行时用的实验室存在一个小 bug,使得一些对局与真实游戏不一致,因此我们修复之后又把所有内容重新跑了一遍,才相信这个结果。

长翅膀的部队

有些部队会飞,而如今每个阵营都至少有一种。飞行单位会径直飞过森林、水面和城墙,从不会撞上地面部队。真正的问题是谁能打中它。近战和攻城攻击只能命中地面;远程攻击则两者都能命中。专门的防空部队,如神射手和扑翼机,能够命中飞行单位(也能对建筑造成微弱伤害),却无视地面部队。有些单位携带第二种武器,比如钢铁巨人的防空导弹。溅射伤害遵循同样的规则,因此投石车的石弹永远不会误伤飞龙。

飞行改变了一切。各阵营的胜率从 38% 到 58% 之间扩散到了 22% 到 82%。齿轮联盟下降了 34 个百分点,因为其建造数量最多的建筑所产出的部队,此时都变成了防空专家,而其余大部分部队只能打地面。白骨军团当时没有飞行单位,却下降了 20 个百分点。我们自己的建议是,在动任何数字之前先修复这些原因,而这两项修复如今都已落地:火箭堡垒会用弹幕攻击敌方飞行单位,白骨军团则拥有了冰霜巨龙。在我们最近一轮 AI 之间的循环赛中,每个阵营都落在 42% 到 57% 之间。

目前仍属临时性的,是飞行单位的外观。它们悬停在地面之上,翅膀是程序化绘制的(膜翼、羽毛、精灵翅膀或螺旋桨),下方有阴影和队伍光环。我们还没有像样的 3D 飞行生物,这一点很明显。

— Castle Arena 团队