竞技游戏通常是拒绝随机性的,因为他干扰了实际水平的考量。但是,应对突发情况也是能力的一种表现。因此,在DotA 2中,有很多随机事件,这些随机事件降低了游戏的可预测性,增加了变数。为了限制这种随机性的影响,伪随机分布应运而生,取代了真随机分布。
定义[]
均匀或真随机分布描述的是那些不会根据之前的结果而有所调整的随机事件的可能性。这意味着每一次"随机"都是独立的。
伪随机分布(pseudo-random distribution,简称PRD)在DotA中用来表示关于一些有一定几率的装备和技能的统计机制[1]。在这种实现中,事件的几率会在每一次没有发生时增加,但作为补偿,第一次的几率较低。这使得效果的触发结果更加一致。
效果在上次成功触发后第N次测试中发生的几率(简称proc)成功触发的几率为。对于每一个没有成功触发的实例来说,PRD系统为下一次效果触发的几率增加一个常数C。该常数也会作为初始几率,比效果说明中的几率要低,并且是不可见的。一旦效果触发,这个计数器就会重置。
技术上,如果以表示第次事件发生,表示事件不发生,伪随机分布使用 对所有。同样地,当时,如果事件一直没有发生,那么在满足中的最小次判定时,该事件必然发生。(N ≥ 1/C)事件必然发生。因此概率分布为。
例子[]
- 对近战英雄, 碎颅锤
的重击有25%几率对目标造成眩晕。那么在第一次攻击时,实际上只有大约8.5%几率触发重击。随后每一次失败的触发会增加大约8.5%触发几率。于是到了第二次攻击,几率就变成大约17%,第三次大约25.5%,以此类推。在一次重击触发后,下一次攻击的触发几率又会重置到大约8.5%。那么经过一段时间之后,这些重击几率的平均值就会接近25%。
基于PRD的效果连续多次触发或多次不触发是非常罕见的。这使得游戏的运气成分大大降低,在Dota 2中一个有那么多带几率的技能的世界中增加了一致性。在游戏中,PRD很难被利用。通过对小兵攻击数次但不触发重击或暴击效果——来提高下一次触发的几率,这在理论上可能,而实践中则近乎不可能。要注意一点的是,如果这个实例根本就不可能触发效果,那么触发几率不会增加,也就是说,一个英雄攻击建筑不会增加他下一次攻击触发的致命一击几率,因为致命一击对建筑无效。触发几率也不会在技能进入冷却时(比如重击)重置/增加。
C值[]
C作为通常几率的函数,其数值如下[2]:
C | 通常几率 | C近似值 |
---|---|---|
0.003801658303553139101756466 | 5% | 0.38% |
0.014745844781072675877050816 | 10% | 1.5% |
0.032220914373087674975117359 | 15% | 3.2% |
0.055704042949781851858398652 | 20% | 5.6% |
0.084744091852316990275274806 | 25% | 8.5% |
0.118949192725403987583755553 | 30% | 12% |
0.157983098125747077557540462 | 35% | 16% |
0.201547413607754017070679639 | 40% | 20% |
0.249306998440163189714677100 | 45% | 25% |
0.302103025348741965169160432 | 50% | 30% |
0.360397850933168697104686803 | 55% | 36% |
0.422649730810374235490851220 | 60% | 42% |
0.481125478337229174401911323 | 65% | 48% |
0.571428571428571428571428572 | 70% | 57% |
0.666666666666666666666666667 | 75% | 67% |
0.750000000000000000000000000 | 80% | 75% |
0.823529411764705882352941177 | 85% | 82% |
0.888888888888888888888888889 | 90% | 89% |
0.947368421052631578947368421 | 95% | 95% |
真随机事件[]
平均分布[]
一些机制会在0到1之间产生一个随机值并在最小值 / 最大值的梯度中平衡,包括
- 重新出现范围:325
选择目标区域内随机一个位置,计算过程可能是极坐标系中0-360°极角和0-325极径为最小/最大梯度 - 最低轰击距离:195
最高轰击距离:785
在四个90°(0°–90°, 90°–180°, 180°–270°, 270°–360°)内的角度可能是随机的
离散分布[]
几个随机事件都具有类似的概率离散状态。
- 阵型中施法者和幻象的位置是随机的
- 攻击范围:300
间隔:0.25秒 - 弹射数量:3/4/5/6
弹射距离:475
尽管会优先选择英雄而不是单位,选择受伤的友军而不是没受伤的,但如果多个单位优先级相同,则会在他们之间随机选择 - 搜索距离:700
恶灵会随机选择他们的目标,一旦选择,他们就会跟着目标直到他们无法再攻击,恶灵优先选择施法者攻击的单位 - 目标数量:2
搜索范围:400 - 影响范围:250/350/450/550
攻击间隔:0.2秒
施法时已经决定了目标。但是攻击顺序是随机的。 - 每秒火箭:10
搜索范围:400
间隔:0.1
持续时间:3 - 弹射数量:4
弹射距离:500
间隔:0.25秒 - 攻击间隔因子:1.7
搜索范围:425
根据主宰的攻击速度斩击敌人 - 阵型中施法者和幻象的位置是随机的
- 阵型中施法者和幻象的位置是随机的
- 多重施法数量:1/2/3
多重施法距离:1400
间隔:0.4秒 - 多重施法数量:1/2/3
搜索范围:700 - 剃刀 - [[剃刀#|]]64px|text-top|link=剃刀#搜索范围:500
存在多个生命值相同的敌人,或在被Lua错误 在Module:Ability_ID的第61行:无法找到"静电连接"的Cargo数据连接了多个敌人时,会在他们之间随机选择
其他[]
伪随机事件[]
除了列出的技能之外,25%上下坡落空几率和中立物品的掉落几率也是用伪随机分布。
英雄和单位技能[]
- 致命一击几率:20%
- 螺旋几率:17%/18%/19%/20%
- 致命一击几率:24%
闪避几率:6%/12%/18%/24%
主动闪避和致命一击几率倍数:3 - 落空几率:30%/40%/50%/60%
- 触发几率:12%/16%/20%/24%
- 触发几率:20%
- 致命一击几率:20%/25%/30%/35%
- 残废几率:20%
- 触发几率:17%
- 触发几率(英雄):40%/45%/50%
触发几率(幻象):8% - 致命一击几率:30%
- 落空几率:25%/35%/45%/55%
- 重击几率:15%
- 减速几率:40%
- 触发几率:20%
- 缠绕几率:14%/16%/18%/20%
- 落空几率:60%
物品技能[]
- 重击几率(近战/远程):25%/10%
- 格挡几率:50%
- 闪避几率:35%
- 格挡几率:50%
- 致命一击几率:30%
- 致命一击几率:30%
- 闪避几率:25%
- 穿刺几率:25%
- 闪电几率:25%
- 闪电几率:25%
- 闪电几率:20%
- 穿刺几率:75%
- 落空几率:17%
- 重击几率(近战/远程):25%/10%
- 闪避几率:15%
- 格挡几率:50%
遗留数据[]
以下表格为从原版WarCraft3 DotA网站上引用的遗留数据。P(T)表示理论几率,P(A)表示实际几率。C是PRD常数。N最大值是根据会超过1的性质得到的最小数字(也就是一定会触发的次数)。N平均值是N的期望值:也就是N×概率的结果之和。SD是N的标准差(standard deviation),一个用来衡量数据的离散程度的值,使用大家熟知的公式得出。标准差越低,几率就越一致。为了作对比,SDt表示真随机分布中N的标准差,使用N = 1到N = 264的样本公式得出。SDt(真随机分布)都比SD(伪随机分布)要高,因此真随机分布的一致性就没那么高了。
P(T) | P(A) | C | N最大值 | N可能性最高的值 | N平均值 | SD | SDt |
---|---|---|---|---|---|---|---|
5% | 5.0% | 0.00380 | 264 | 16 | 20.00 | 10.30 | 19.53 |
10% | 10.0% | 0.01475 | 68 | 8 | 10.00 | 5.06 | 9.50 |
15% | 15.0% | 0.03221 | 32 | 6 | 6.67 | 3.31 | 6.16 |
20% | 20.0% | 0.05570 | 18 | 4 | 5.00 | 2.43 | 4.48 |
25% | 24.9% | 0.08475 | 12 | 3 | 4.02 | 1.90 | 3.49 |
30% | 29.9% | 0.11895 | 9 | 3 | 3.34 | 1.54 | 2.81 |
35% | 33.6% | 0.14628 | 7 | 3 | 2.98 | 1.35 | 2.43 |
40% | 37.7% | 0.18128 | 6 | 2 | 2.65 | 1.17 | 2.10 |
45% | 41.8% | 0.21867 | 5 | 2 | 2.39 | 1.03 | 1.83 |
50% | 45.7% | 0.25701 | 4 | 2 | 2.19 | 0.91 | 1.62 |
55% | 49.3% | 0.29509 | 4 | 2 | 2.03 | 0.83 | 1.45 |
60% | 53.0% | 0.33324 | 4 | 2 | 1.89 | 0.74 | 1.30 |
65% | 56.6% | 0.38109 | 3 | 2 | 1.77 | 0.69 | 1.17 |
70% | 60.1% | 0.42448 | 3 | 2 | 1.66 | 0.63 | 1.05 |
75% | 63.2% | 0.46134 | 3 | 2 | 1.58 | 0.57 | 0.96 |
80% | 66.7% | 0.50276 | 2 | 1 | 1.50 | 0.50 | 0.87 |
版本历史[]
引用[]
|