helldivers吧 关注:34,487贴子:568,423

【个人精翻】【机制研究】一部关于巡逻队刷新机制的深度分析

只看楼主收藏回复

说在前面:
原文经过多次编辑,目前已经比较接近一部简短的原创研究。其中虽然包含一些猜测,但结论相对来说比较准确,我也很想分享给各位。
楼主平时阅读中文内容比较少,有些名词会和官中不同(再吐槽一句,做得真的非常差劲),请各位谅解。
关于原帖中提供的图片、表格等内容,我会以楼中楼的方式提供链接,如果被吞,我会努力申请恢复,谢谢大家。
老样子,请不要使用移动设备阅读本文,以获得最好的阅读体验。
目录:
1L喂熊
2L放原文链接
3L以后正文


IP属地:上海1楼2024-03-18 18:48回复
    这里是red上的原文,各位可以对照参考。
    https://new.reddit.com/r/Helldivers/comments/1bdudf3/lets_talk_about_patrols_an_in_depth_analysis_of/


    IP属地:上海2楼2024-03-18 18:49
    回复
      让我们聊聊巡逻队:一部关于巡逻队刷新机制的深度分析
      我们在社群里已经看到了非常多关于那些似乎完全随机,或是不公平的刷怪机制的吐槽和批判。我们分析并记录下来了这个刷怪系统的原理,下面的内容是我们的发现。
      事先说明,这个系统非常复杂,因此这个帖子也会很长。虽然我们也对这个系统有点意见,但这个帖子的目的只在于记录下来刷怪的机制。
      ————————————————————————
      声明:这篇文章所有的内容都只是未完的理论和我们对游戏深层系统的个人理解。这篇文章完全基于对游戏内容的严谨观测,以及在此之后进行控制变量分析以测试假设。这不是源自游戏解包的数据。我们的测试是在1.000.101版本完成的,并在最新版本1.000.102进行了验证。我们对101版本(平衡改动的版本)之前的版本没有数据,这里所有的信息在未来也有可能发生变化。所有的测试都是在电脑端完成的,我们对ps5或是pc-ps5跨平台游玩的情况没有做任何测试。
      ————————————————————————


      IP属地:上海3楼2024-03-18 18:51
      收起回复
        游戏里到底有几种不同的刷怪类型?
        我们根据敌人被加入到游戏中的途径,将敌人分成了四种类型:
        ·固定刷怪。这些是在兴趣点、敌军据点和任务目标(主要和次要都是)周围放置的敌人。
        ·增援。这些是从虫族爆发入侵(Bug Breach)中或是机器人运兵船中刷出的敌人。
        ·制造厂(Fabricator)/巢穴刷怪。这些从巢穴或制造厂里刷出的怪物如果不去吸引仇恨的话就只会待在附近。
        ·巡逻队
        ————————————————————————
        巡逻队是什么?
        巡逻队就是一组以固定间隔刷在地图上的某个位置,然后朝向地图上的另一点前进的敌人。它们的行动路径总是会非常接近玩家所在的位置,甚至会在巡逻队刷出的时候就与玩家所在的位置重合。这些敌人就是凭空刷出的。如果你的准星指向一队巡逻队并且“标记”它,你的角色就会说:“敌军巡逻队”。这些是地图上唯一的会在没有外部因素的影响下走来走去的敌人。巡逻队若是走出地图,或是距离所有玩家都过远,它就会刷没(despawn)。请注意:当前机器人有一个bug就是小机器人(比如步兵和劫掠者)会在刷出来之后走向地图的正中央,并且永远不会刷没。这不算是巡逻队,我们就只打算把这种现象称为bug。


        IP属地:上海4楼2024-03-18 18:51
        回复
          赶上直播,插个眼


          IP属地:四川来自Android客户端5楼2024-03-18 18:52
          回复
            刷怪点数(Spawn Points)和刷新率(Tick Rate)是什么?
            我们关于游戏决定何时刷出巡逻队的机制的未完理论如下所述。服务器有一个“刷新率”,其本质是游戏状态刷新的频率。为了尽量简单些表述,我们假设服务器每秒钟刷新一次,虽然真实的刷新率几乎必然比这高得多。每次刷新都会生成一定数量的刷怪点数,然后把这些点数丢进一个桶(点数池)里。当这个桶里的点数积累到一个阈值的时候,游戏就会刷出一批巡逻队,然后倒空这个桶。每次刷新生成的刷怪点数与/或生成巡逻队的阈值受多种因素影响,下文会对此进行进一步解释。
            ————————————————————————
            构建我们的数据基线(Baseline)
            为了针对一个单变量进行控制变量实验,我们首先需要在没有其它因素影响的情况下构建一个“基线”。
            我们是这么做的:
            1.安装核能雷达(Nuclear Radar)舰船模块
            2.装备一套具有“斥候”(Scout)特性的护甲
            3.带上无人机(UAV)buff
            4.我们在单人的情况下在某个特定难度进行游戏
            5.在地图上找一个不在任何主要任务目标、次要任务目标或是敌军据点的地方
            6.一边观察地图一边等待,看看什么时候刷出巡逻队,然后在下次巡逻队出现时计算时间间隔
            7.多次重复第三步(疑似笔误,应是第六步,译者注),然后根据所用时间计算一个平均值
            8.当“单人”基线被构建完毕后,我们在双人和三人的情况下,在同一难度重复了这个过程(我们只有三个人能参加测试)
            这之后我们在多个不同的难度以及东西战场(机器人/虫族)上重复进行了测试。
            下表描绘了对于单人游戏而言的基线值(单位:秒)
            更多玩家以如下方式影响基线值:
            ·2个玩家:基线值乘以0.8333
            ·3个玩家:基线值乘以0.75
            不幸我们没有能够参加测试的第四个玩家,所以我们无法对4人队的情况做出评价。
            因为控制变量相对容易,我们大部分情况是在难度4的机器人任务中进行测试的,但我们可以确定所有的这些行为(应指的是上文所述乘数,译者注)都与难度、玩家人数还是敌军种族无关。


            IP属地:上海6楼2024-03-18 18:53
            收起回复
              什么东西会影响刷新点数,或是刷新巡逻队所需的阈值?
              下述行为会增加刷新点数生成率或是降低刷新点数阈值,每种行为都有自己的微小差别,并会在它们自己的部分进行详述。几乎所有这些行为的最终结果都会导致*比基线数值更大的*巡逻队刷新频率。我们目前没有发现*任何*能够使刷新点数生成率降低至比基线数值更低的值的行为,除了一个非常依赖天时地利的情况,那就是在非常接近一次巡逻队刷新的时间点的时候发生一次虫族爆发入侵或是一次机器人空投。
              ·玩家位于主要目标、次要目标、敌军据点或是撤离点附近
              ·清除敌军据点(制造厂/巢穴)
              ·完成主要任务
              ·玩家死亡
              这些事件的影响可以互相叠加,并且会在靠近文末的地方单独叙述。
              ————————————————————————
              下面的因素会影响阈值:
              ·任务难度。更难的任务阈值更低。
              ·任务中的玩家数量。玩家更多,阈值更低。
              ·机器人与虫族的区别。机器人的阈值比虫族的更高,意味着虫族巡逻队会刷得更频繁。
              ——————————
              下面的因素*没有*影响
              ·在任务中度过的时间
              ·进入战斗
              ·使用支援(Stratagem)
              ·虫族爆发入侵/机器人空投(除了一个下文会提到的例外)
              ·行星本身
              ·任务种类。这些数据仅对“常规”任务(洲际导弹、破坏军备、打碎虫蛋等等)有效。我们针对消灭任务(Eradication,即1代报复性任务)、闪电战或是疏散平民任务进行了测试。这些任务几乎无法获得干净的数据,也跟我们的研究内容关系不大。
              ·身处兴趣点附近
              ·使用终端机或是与任务目标元素进行互动,诸如拧雷达锅或是装填大炮弹药。
              ·完成次要任务目标(除了一个下述情况)


              IP属地:上海7楼2024-03-18 18:54
              回复
                影响力区域(Areas of Influence)和危机度生成(Heat Generation)是什么东西?
                我们需要对我们创造的一个概念,“影响力区域”进行解释。世界里的某些元素会在它们周围生成一个影响力区域。我们辨别出了会产生这个效果的一些元素,每种都会在下文单独进行说明。
                ·主要目标(如洲际导弹发射台)
                ·主要目标的分目标(如洲际导弹的发射密码、发电机等)
                ·次要目标-如支援干扰塔(心灵信标,译者注)、坠毁的数据舱(就那个上传信息的任务,译者注)、非法广播塔等等
                ·敌军据点(机器人据点/虫族巢穴)。小型据点*没有*影响力区域。只有中大型据点会有。
                ·撤离点
                ——————————
                身处影响力区域内会生成“危机度”(Heat),它的作用就是增加每次刷新(Tick,为易于阅读下文直接保留原文,译者注)累积的刷新点数(比如默认每tick加10点,危机度1就会每tick加11点,类似刷新点数生成率的导数,译者注),意味着更频繁的巡逻队刷新。
                影响力区域的中心就是这个元素在地图上的图标。危机度生成的量与玩家和影响力区域的中心点之间的距离相关。在距离中心50m的距离,危机度生成速度最快,这个生成速度会随距离衰减,最终在150m的位置消失,每远离1m,生成速度减少1%。举例来说,如果你距离图标100m,那么危机度生成速度只有50%的效率。在75m的时候,效率是75%,在125m的时候,效率是25%。
                ————
                这里是一张描述这个概念的图表。
                ————
                能够生成危机度的绝大部分事物的最大效果就是增加50%的巡逻队生成频率。有些情况下,最大生成频率会额外增加10%(总计60%),诸如侦测塔(索伦之眼,译者注)、支援干扰塔或是大型据点。
                影响力区域之间不叠加。如果你身处多个影响力区域内,只有那个会增加最多危机度的影响力区域会起效。
                危机度计算是以每tick进行的,所以所以当你靠近或远离一个能够生成危机度的元素时,每tick生成的刷新点数会不断发生变化。
                举例来说,使用我们的240秒基线数据,如果你在影响力区域外发现了一队刚刷出来的巡逻队,然后移入一个影响力区域中并停留在那里的中心,下一队巡逻队会在158和240秒之间的间隔后刷出来。如果在这之后你持续停留在影响力区域的中心,下一队应该就会在158秒之后刷出来。最后,如果你离开了影响力区域或是阻止了(危机度的)增长,下一队巡逻队就会在158到240秒之间的某个时候刷出来。危机度增长可以被阻止,但阻止的条件随着每种不同的元素而不同,下文会进行详细说明。


                IP属地:上海8楼2024-03-18 18:55
                回复


                  IP属地:上海10楼2024-03-18 18:57
                  回复
                    清除敌军据点有何效果?
                    敌军据点是一种分为小、中、大三种类型的特殊地图元素。据点的数量会随着任务难度的不同而发生变化。摧毁一个据点时会在屏幕上跳出一个“已净空区域”(Area Secured)的信息,同时给予玩家申购点(Requsition Slips)与经验值。只有中大型据点会产生影响力区域,以及生成危机度。小型据点没有影响力区域,或是小到可以忽略不计。摧毁过多的据点会导致巡逻队刷新的阈值降低(和普遍认为的摧毁越多敌人越少的体感完全相反,译者注)。你可能会想,“摧毁据点意味着*更多*敌人?!”唯一正确的答案是“某种意义上来说吧”,因为摧毁敌军据点的同时也会摧毁它的影响力区域,并且从世界上移除它的危机度。这意味着整体刷新频率可能会提升,但身处这些区域里不再会增加危机度。细节如下:
                    ·摧毁*所有*地图上的据点会导致阈值乘以0.85.这意味着巡逻队会以大约17.5%的速度更快地生成。以240秒的基线来计算的话,就会变成204秒。
                    ·你可以安全地摧毁五成据点而不会导致阈值下降。据点的种类(小中大)没有影响。
                    ·一旦你超过了50%,阈值下降的效果就会线性提升。
                    ·阈值下降的效果会持续整场任务。
                    举例来说,如果你进入了一个有8个据点的任务,你可以摧毁四个而不会产生负面效果。当你摧毁第五个的时候,阈值下降的效果就会提升25%,或是刷新间隔缩短4%。当你摧毁第六个据点的时候,效果提升至50%,间隔缩短约8%。


                    IP属地:上海11楼2024-03-18 18:59
                    收起回复
                      完成主要任务会产生什么效果?
                      完成主要任务会造成目前来说最明显的巡逻队刷新率变化。当你完成主要任务的那一刻,阈值就会乘以0.275,意味着巡逻队刷新的频率会变为原本的几乎四倍。使用基线值240秒的话,完成主要目标后就会变成66秒。
                      ————————————————————————
                      身处目标点附近会有什么效果?
                      如上所述,地图上的某些元素会产生影响力区域,身处其中会导致危机度不断生成,从而导致巡逻队刷新速度变快。主要(包括主任务和分任务)任务目标和次要任务目标生成影响力区域的方式有点复杂。当一个目标点周围有固定刷出的怪物,并且目标点的状态是“可用”(Active),这意味着它还没有被完成,并且只要下列条件都被满足就会产生危机度。
                      ·这些固定刷出的怪还活着
                      ·目标点依旧可用
                      如果这两者中的一个条件未被满足,则影响力区域则不存在。和目标点有关的固定刷怪仅限于在“主要”结构内存在的怪物,那些在周边存在的怪物不算在内。
                      如图所示:



                      IP属地:上海12楼2024-03-18 19:01
                      回复
                        如果一个目标点没有伴生的怪物(如坠毁的数据舱或SEAF火炮),则目标点会具有一个影响力区域,直到目标完成。
                        但是,这一法则也存在例外。这可以从侦测塔和支援干扰塔(以及其他次要目标)的行为中得到最好的解释。
                        对于侦测塔和支援干扰塔来说,生成影响力区域的主要物体是里面的制造厂。当制造厂被摧毁后,绝大部分的影响力区域也会跟着消失。然而,侦测塔和支援干扰塔本身也会有一个具有较低危机度增长率的影响力区域。制造厂本身会造成一个刷怪频率增长50%的效果,但任务目标本体则会额外增加10%的刷怪频率(60%)。这些效果会彼此叠加。简单来说,如果你想要进攻目标点,你应该首先选择制造厂为目标。


                        IP属地:上海13楼2024-03-18 19:01
                        回复
                          撤离点有什么效果?
                          撤离点相对来说比较特别,因为它会持续性地制造一个影响力区域,并且没有任何方法可以去除它。即使你一开始就落在撤离点上并且什么事情都不做,你也会身处影响力区域的范围之内。呼叫鹈鹕1号本身不会有什么效果,刷怪频率的增加只是因为身处撤离点里面而已。撤离点所生成的危机度会使刷怪频率增加50%。


                          IP属地:上海14楼2024-03-18 19:02
                          回复
                            如果玩家分头行动会发生什么?
                            我们需要引入一个新的概念,叫做“玩家集”(Player Group)。一个玩家集可以被定义成包含任意数量的,彼此相距75m以内的玩家角色。一个独自一人的玩家也被认为是一个“玩家集”,虽然这个集中只包含1名玩家。每个玩家集拥有它们自己的刷怪点数池,当这个池内的点数累计到阈值后,就会为这个玩家集刷出一批巡逻队。
                            举例来说,如果4个玩家彼此之间都距离75m以上,那么你们实际上就将刷怪频率翻了四倍,因为每个玩家都有属于自己的刷怪点数池。
                            演示图表在此:

                            ————————————————————————————————————————————————
                            每个玩家集都会各自受到影响力区域的效果。在某个影响力区域里的一个玩家集不会使其它玩家集的危机度提升。至于摧毁据点和完成主要任务造成的(提升刷怪率)的效果则是全体效果,影响所有玩家。
                            举个例子,让我们假设一个双人任务(这两个玩家之间距离超过75m)。如果其中一个玩家1进入了一个影响力区域,但另一个玩家2没有,那么玩家1的刷怪点数池就会累积得比玩家2的更快。
                            至于当玩家分开行动时,巡逻队会刷在哪里的问题,我们的测试结果显示,巡逻队的刷新位置*不一定*会在使其刷出的玩家集附近。我们用2个玩家在几个刷怪周期里做了测试,一个玩家那里刷出了两个巡逻队,而另一个玩家那里则一个都没刷出来。我们无法分辨出任何规律或是能造成这种情况的玩家行为,只能认为在刷出巡逻队时,游戏会随机挑选其中一个玩家集进行刷新。
                            当玩家频繁分开又汇合时会发生什么非常难以测试,也很难得到干净的数据。我们也不确定主机和客机的不同身份会造成什么影响。
                            (演示视频链接在楼中楼)


                            IP属地:上海15楼2024-03-18 19:03
                            回复
                              巡逻队的单位组成有什么说法吗?
                              巡逻队有着不同的“模板”,当它刷出的时候会随机选择一个。我们目前还没有发现会影响巡逻队单位构成或密度的因素。
                              ————————————————————————
                              玩家死亡会影响什么呢?
                              单纯的玩家死亡似乎没有特别的效果,但花费一次增援则会在当前的刷怪点数池里增加随机的值。我们通过发现一个新刷出的增援后立刻杀死一个玩家,然后计算下次刷新的时间间隔来确认这个理论。结果并没有显著的规律。有时刷新间隔会极大缩短(大约六倍快),有时刷新间隔几乎完全没有变化。
                              我们主要的结论就是增援死亡的玩家角色*能够*显著导致下次巡逻队刷新的速度变快。因为这个数值的随机性,我们无法确定一次性增援多名死亡角色是否会对刷怪间隔造成其它影响。
                              我们从未观测到刷怪间隔超出预期值,要么刷得更快,要么按时刷出。
                              ————————————————————————
                              机器人空投/虫族爆发入侵有什么效果?
                              似乎触发一次机器人空投/虫族爆发入侵*能够*在下次刷新巡逻队前引入一个延迟。这个延迟只会在即将刷出新的巡逻队前触发空投/入侵时发生。
                              具体数值和例子
                              最长的延迟可以长达大约基线值的六分之一,并且这种延迟只会在至少到达当前刷怪循环(Spawn Cycle)的(进度条的)六分之五处才会发生。
                              举例而言,如果我与刚刷出来的巡逻队进行交战,并且这个巡逻队呼叫了增援,则下次巡逻队会准时抵达,因为敌军呼叫增援呼叫得太早了。使用我们240秒的基线来说,如果我在第195秒的时候触发了一次增援,(或进度条的81.25%处)下次巡逻队刷出的时间不会受到影响。然而,如果我在第235秒的时候触发了增援,那么下次巡逻队会延迟大约40秒才会刷出来。但*下下次*巡逻队会在精准的240秒后刷出,如果没有其它因素影响的话。


                              IP属地:上海16楼2024-03-18 19:05
                              回复