Screeps 夹击战术

Screeps Arena 正式上线一段时间了,笔者主要玩的是SAS模式,这个模式下,地图布满沼泽,高速单位因为能够灵活拉扯,受到很多玩家的欢迎。很多玩家都喜欢出满速的远程单位,通过放风筝消耗来击杀近战单位。本文将详细介绍一种反风筝的方法——夹击,用来终结满速的远程单位,原理来源于Screeps歼灭战战术。战术的实际应用还需要经过适当的战力评估、战场分析,本文不做讨论。本文中使用到的一些参数,并不代表最优解,仅作参考。

名词解释

在开始之前,先对下文中将会频繁使用的一些名词做一下解释:

  1. 满速:move部件数至少是其他部件数的5倍,这种配置的单位,在沼泽上不会产生疲劳,如履平地

  2. 红球:attack(红色)+move组成的单位

  3. 蓝球:ranged_attack(蓝色)+move组成的单位

  4. 一体机:ranged_attack+heal+move组成的单位,一边奶一边打,俗称一体机

  5. 锁定:通过移动己方单位,尽可能让敌方单位保持在我方单位的某个方向上,举个例子:”让己方单位在↑方向锁定敌方单位“,表示通过移动己方单位,让敌方单位始终处于己方单位的↑方向上

    蓝色为己方单位,红色为敌方单位

  6. 代价矩阵:costmatrix,自定义寻路时使用的参数,地图上的每个格子都可以设定不同的代价(cost),代价越高的格子,寻路时越不容易经过他们

应用场景

己方:两个满速的红球(至少不能比敌方慢)

敌方:一个蓝球或一体机

这是最简化的模型,实际战斗中,通过合理的配置,2v2,2v3都是可行的。

战术的最终目标

让己方红球贴住敌方单位,就达成了“反风筝”的目的。

战术细节

先思考一个问题

在什么情况下,己方单位能够确保在n tick内贴住对方?

最直觉的想法:当敌方单位走进死胡同,或者被己方单位包围的时候。

死胡同.png

包围.png

再进一步,为什么我们会觉得这种情况下,能够贴住敌方单位?这种想法的本质是什么?

当敌方单位的“活动空间”被我方单位的“活动空间”完全覆盖时,即敌方单位在n tick内所有的去处,都能被我方单位在n tick及更短的时间内抵达,就可以认为“合围”已经完成了

对付被“合围”的单位,只要锁定+逼近,就能达成贴住对方的目的(一些极端地形除外),详见Screeps歼灭战战术

img

合围机会的嗅探

在实际战场中,随着战斗的推进,合围的机会转瞬即逝,如果能抓住这些机会,取得击杀,那就再好不过了。然而常规方法计算合围机会的复杂度相当高,笔者提供一种O(n)复杂的算法,来嗅探这些机会。

  1. 首先设定一个机会嗅探参数n,这表示n tick内的合围机会
  2. 找出己方所有可以参与合围的单位,给这些单位进行二进制编号:1,2,4,8 ....
  3. 新建一个空的代价矩阵,轮询这些单位
    1. 仿真出该单位n-1tick内所有可抵达的位置(用n-1是增加机会的可靠性)
    2. 在代价矩阵中,将这些位置上的代价加上该单位的编号数值
  4. 找出敌方所有你想合围的单位
  5. 轮询这些单位
    1. 仿真出该单位n tick内所有可抵达的位置
    2. 查询代价矩阵中这些位置的代价值:如果所有位置代价值都>0,说明该单位已经被合围
    3. 如果单位已经被合围,可以通过代价值反查出参与合围的己方单位,比如 3 = 2 + 1, 这就表示该位置,第一个和第二个己方单位都可以抵达

实际运用中,可能会出现互相冲突的机会,这时候需要评估目标的优先级,再决定如何利用这些机会,这里不做展开。

达成合围

1 v 1情况下的合围,基本要依靠对方的走位失误,自己走进死胡同,这种机会一旦出现,就可以嗅探出来并加以利用,但是在大多数情况下,要完成合围,至少需要 2 v 1。像钳子一样,压缩敌人的活动空间,并完成合围,笔者将其称之为夹击战术。

合围过程中的注意点

  1. 条件允许之前,不要和敌方的远程单位靠得太近,尽量不被消耗血量,保持速度

  2. 己方单位尽量分开行动,分开才能更好压缩敌人的活动空间

  3. 如果对方头也不回地逃跑,那也是追不上的

这里需要先介绍一种实用的锁定技巧:通过设置代价矩阵,来引导单位在特定方向上锁定敌人

合围1.png

上图中,蓝色代表己方单位,红色代表敌方单位,如果希望蓝球在←方向上锁定敌方单位,可以这样设置代价矩阵:调高安全边界内,非锁定方向上的cost,让creep寻路时更倾向于找到该方向的路。

合围2.png

当己方单位处于安全边界内,即有受到伤害的风险,也可以用类似的方法,边逃离,边锁定方向。

合围3.png

在掌握了这种技巧之后,接下来讲讲如何确定锁定的方向

确定锁定的方向

首先考虑最简单的情况,敌方单位在我方两个单位的连线附近,这种情况可以近似认为是合围成功,直接按照当前方向锁定并推进即可:

合围4.png

其他的情况,都需要将当前的方向进行适当的旋转,作为锁定的方向。这里推荐是都旋转45度。

合围5.png

值得注意的是:锁定的方向不是固定的,他是根据实际的位置关系旋转后实时计算得来的,相对位置发生变化后,锁定的方向也会跟着变。通过不断旋转锁定的角度,最终促使合围完成。

在己方的单位比较靠近的时候,容易出现这种互相交叉的锁定方向,需要避免这种情况的发生。

合围6.png

如果过程顺利,敌方单位要么提前被嗅探到合围的机会(因为地形的原因),要么处于己方单位的连线中间(两个锁定方向的夹角为180°),形成近似合围。

如果敌方头也不回地逃跑,两个锁定方向的夹角则无法增大到180°,合围也就无法完成。

因此,在实战中,这种战术对付蓝球的效果要比对付农民等非战力单位的效果好,因为前者总是回头想反杀,但这往往会加速合围的过程。

结语

整个战术从灵感发展成可执行的方案是最有意思的部分,而代码的实现和调参相对乏味枯燥(所以也鸽了很久),所以笔者把思考的过程分享出来,希望能对大家有所启发。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335