皇家守卫军吧 关注:88,294贴子:1,080,718
  • 4回复贴,共1

高达对单DPS完爆火山?高达DPS模拟测试

取消只看楼主收藏回复

高达之前的DPS计算是有问题的,尤其是认为点了黄蜂导弹会降低DPS这种观点是绝对错误的。导弹会占用普攻时间,但是占用期间DPS是高于普攻的,也就是说应该把导弹看作每隔一段时间触发的一次“强化版普攻”。因此,计算的时候必须用导弹的释放时间而不是冷却时间。
但是很多人矫枉过正,开始各种吹高达DPS100多,甚至对单DPS完爆火山都来了,所以我就打算精确计算一下高达的DPS。开始算了我才发现,为什么这么多年都没人算明白,因为是真的不好算...我研究了一下,没有想出简单的解析解,所以只能用算法模拟一下(模拟下来我觉得应该是会收敛到一个值?懒得研究
首先高达的数据如下:
普通攻击28-61,CD 1s,对群DPS 44.5,对单DPS 61
黄蜂导弹20-80 * 4,CD 7.4s,攻击动作2s,对群100 DPS,对单160 DPS
漏油:CD10.4秒,动作1.4秒
对单我的理解是,只打一个敌人,因此会精确锁定敌人的位置,敌人正好在炮弹中心,爆炸伤害不会衰减,所以直接取最大值。此外,高达会不停的走动,我用视频抽帧了一下,发现大概是4.2秒的时间间隔内有0.5秒在左右走动。最后,CD转好后技能释放顺序对DPS计算是有影响的,我个人的观察是导弹>漏油>左右走动
我随手写了一个脚本来模拟高达攻击过程。计算方式是模拟单位时间内做出的决策,如果CD同时转好则优先级低的延后最后再把伤害相加并➗总时间(为了方便计算我把时间*10),感觉类似一道中低难度LeetCode
二楼的脚本是计算满配高达对群DPS的,把其中逻辑和数字改一下就可以计算诸如裸塔或对单DPS
最后的结果是这样:
- 高达裸塔:39.20
- 高达+导弹:54.78
- 高达+导弹+漏油:49.88
- 高达裸塔(对单):53.74
- 高达+导弹(对单):81.28
- 高达+导弹+漏油(对单):74.57
如果计算有误欢迎指出!
火山比较简单,就不展示具体过程了(易伤按CD换算覆盖率)
火山裸塔对群:43.4 (+4易伤爆炸)
火山裸塔对单:68
火山+熔岩巨人(50%存活时间):68-92(看怪的护甲)
火山+熔岩巨人(100%存活时间):68-115
emm...这个结果怎么说呢,算不算完爆就见仁见智了


IP属地:法国1楼2025-04-21 04:02回复
    length = 10000000
    series = ["n"] * length
    delay_o = 0
    delay_w = 0
    for i in range(length):
    if i % 74 < 20:
    series[i] = 'm'
    if (i - delay_o) % 104 < 14:
    if series[i] == 'm':
    delay_o += 1
    else:
    series[i] = 'o'
    if (i - delay_w) % 42 < 5:
    if series[i] == 'm' or series[i] == 'o':
    delay_w += 1
    else:
    series[i] = 'w'
    damages = 0
    for i in range(length):
    if series[i] == 'n':
    damages += 4.45
    if series[i] == 'm':
    damages += 10
    print(10 * damages / length)


    IP属地:法国2楼2025-04-21 04:05
    回复
      广告
      立即查看
      以防真的有人想看代码 n = normal, m=missile, o=oil, w=walk 问就是懒


      IP属地:法国来自iPhone客户端3楼2025-04-21 04:51
      回复
        这算的还是有点问题。我是按照杨叔百科算的,但是百科似乎没有考虑前线炮塔二级科技。如果算上,高达对群可以再高2-3dps


        IP属地:法国来自iPhone客户端6楼2025-04-21 08:45
        收起回复
          更新:火山不吃10%加伤科技已经修复。裸塔火山对单:48,易伤火山对单:75+4易伤爆炸,熔岩巨人+易伤:75+4-122+4


          IP属地:法国来自iPhone客户端26楼2025-05-01 07:38
          收起回复