众所周知,dota2是一款摸奖类竞技游戏
一、关于伪随机
dota2及许多moba类游戏中都有许多关于暴击/眩晕等随机事件,为了平衡游戏的公平性,需要减少这些事件不会连续触发/连续不触发,因此在概率触发上大量应用了伪随机。dota2最早应用伪随机应该是在6.81的斧王改动,不愧是v社亲儿子,之后其他英雄的很多概率触发都改成了伪随机。
dota2维基对伪随机的解释:对于一个伪随机分布事件而言,每次事件发生的概率与上一次事件是否触发(发生)相关联。这个事件的触发概率可以用函数P(N)=C×N表示。
对于C值,V社并没有给出,但是在stack exchange上有老哥估算出了不同概率下的C值:
也就是说,一个pa学习大招(15%概率暴击)后,第一次普攻暴击的概率其实只有3.2%,第二次是6.4%,只要不暴击,就一直累加直到某一次攻击发生暴击,下一次普攻暴击的概率重新回到3.2%,从长时间的期望来看,pa暴击的概率就约为15%。这样可以防止出现
pa砍了十几刀都不爆的情况
出现。
二、伪随机在dota2中的应用
有了以上伪随机的概念,很容易想到大家经常提到的用普攻给暴击进行垫刀的技巧。比如玩pa的时候,如果连续a了野怪/小兵好多下没有暴击,这时候去找对面打架,前几刀就很容易出现暴击的情况。
那么,对这种策略,在实战中究竟有多大价值呢?我们讨论两种结果
1. 连续N次不暴击,之后首次触发暴击所需普攻数
首先,我们比较关心的是,一个pa在
连续a野怪N刀不暴击后去找敌方酱油提款,需要再a几刀才能出发暴击
。因为对pa来说,越快暴击留给对方的反应时间越短,击杀成功率越高,万一还是一直不暴,就被对面反控了。
于是我们以pa为例(15%暴击概率,对应C=3.2%),用程序定义伪随机触发的情况模拟10000次,看需要的普攻数有什么区别
之前连续0次未触发,之后平均需要5.6996次攻击才能触发暴击/眩晕
之前连续1次未触发,之后平均需要4.8261次攻击才能触发暴击/眩晕
之前连续2次未触发,之后平均需要4.1568次攻击才能触发暴击/眩晕
之前连续3次未触发,之后平均需要3.6702次攻击才能触发暴击/眩晕
之前连续4次未触发,之后平均需要3.21次攻击才能触发暴击/眩晕
之前连续5次未触发,之后平均需要2.8265次攻击才能触发暴击/眩晕
之前连续6次未触发,之后平均需要2.4924次攻击才能触发暴击/眩晕
之前连续7次未触发,之后平均需要2.1826次攻击才能触发暴击/眩晕
可以看到:
考虑更极端的情况,计算了下如果 前15次都没有暴击 ,下一次暴击需要的普攻次数:
之前连续15次未触发,之后平均需要0.8384次攻击才能触发暴击/眩晕
可惜啊,枫哥大概率只要再坚持一下就能暴击了。
2. 连续N次不暴击,之后M次普攻平均暴击数
我们进一步思考:尽管垫刀策略能够大大减少触发首次暴击所需的普攻数,但触发暴击后,暴击概率会直接回归C值,也就是说,这种策略对输出的提升其实仅限于前几次普攻暴击概率的提升。因此如果要量化这种策略对输出的提高,我们需要计算
在之后一定次数内,平均能够提高多少的输出
。
考虑一个18级,点了10级+1sB持续时间,假腿暗灭狂战bkb的pa。此时在幻影突袭持续时间内,不考虑走位等因素,基本能普攻7次。
因此我们把之后连续的普攻数M设定为7.
之前连续0次未触发,之后攻击7次,平均触发1.458次暴击
之前连续1次未触发,之后攻击7次,平均触发1.698次暴击
之前连续2次未触发,之后攻击7次,平均触发1.79次暴击
之前连续3次未触发,之后攻击7次,平均触发1.9次暴击
之前连续4次未触发,之后攻击7次,平均触发1.953次暴击
之前连续5次未触发,之后攻击7次,平均触发2.017次暴击
之前连续6次未触发,之后攻击7次,平均触发2.1次暴击
之前连续7次未触发,之后攻击7次,平均触发2.099次暴击
可以看到之后7次普攻:
按pa此时125+144=269攻击力计算,输出分别约为3255.707和3859.2085,相差约600点输出。考虑到敌方的减伤,护甲和走位等因素,实际相差数值应该会再低一些。
因此可以看出,即便考虑的是两种极端情况(N=0和N=7),
对暴击进行垫刀的策略在随后带来的输出提升,也不如缩短暴击所需的普攻数带来的实际意义更大
。
三、总结
以上讨论了两种结果:
- 之前连续N次不暴击,之后首次触发暴击所需普攻数
- 之前连续N次不暴击,之后M次普攻平均暴击数(对总输出的提高)
可以看到,对暴击进行垫刀的战略意义更大,因为随便垫上3-5刀,就可以大大缩短首次暴击出现所用的时间(相差接近2倍),能够在有限的控制时间内秒掉对方关键人物,甚至左右战局。而这种策略带来的输出提升则相对比较有限。
因此,如果对方有关键人物需要秒(如沉默),而己方控制又不容易衔接时(对方有救人/己方控制没跳刀/控制不足),先去a几下野怪,把之后的暴击概率提高,也许会有奇迹发生哦。
本文中只讨论了以pa为例,暴击概率=15%的情况,而dota中还有许多不同概率的暴击/眩晕等,对不同概率的暴击/眩晕,垫刀策略带来的收益应该也是不一样的。
对不同概率下垫刀策略带来的收益进行分析,应该可以得到我们更应该是对低概率的暴击进行垫刀,还是对高概率的暴击进行垫刀,这里就先挖个坑好了。
参考:
50%暴击=4下必暴!科普游戏中的伪随机 - 知乎
https://www.
bilibili.com/video/BV1n
A4y1Q7TQ?t=406.2
随机分布 - Dota 2 Wiki,刀塔百科
真随机分布 - DotA中文维基 - 灰机wiki
伪随机分布 - DotA中文维基 - 灰机wiki
Calculating the constant C in Dota 2 pseudo-random distribution - Arqade