什么是 DPS 计算器?
DPS 是 damage per second(每秒伤害) 的缩写——玩家在角色扮演游戏、射击游戏、MMO 和 Roguelike 中比较武器、build 和技能循环时使用的那一个数字。一把伤害很高但挥砍缓慢的武器,很容易输给一把更弱但出手快一倍的武器;而如果暴击几乎从不触发,再大的暴击倍率也价值有限。DPS 把所有这些因素折叠成一个数值,于是比较不再是争论,而变成一道简单的算术题。
这个计算器有意做成与具体游戏无关。它不包含任何武器表、职业数据,也没有任何特定作品的数值——你输入自己游戏里显示的属性,它负责求平均。因此,无论是 MMO 里用表格算出来的 build、装了模组的沙盒游戏、桌面游戏中的伤害估算,还是你自己正在设计的游戏,它都同样适用。
计算器如何工作?
你最多输入五项属性,它返回三个结果。
输入项:
- 每次命中的平均伤害——一次普通(非暴击)命中造成的伤害。如果武器的伤害是一个区间,请取中间值。
- 每秒攻击次数——武器每秒命中的次数。如果你的游戏显示的是攻击间隔(比如每 0.8 秒挥砍一次),取其倒数: 次/秒。
- 暴击几率——命中中触发暴击的百分比。默认 0%。
- 暴击伤害倍率——暴击相对普通命中的伤害倍数。数值为 2 表示双倍伤害。默认 2。
- 命中率——攻击尝试中真正打中的百分比。默认 100%,即从不落空。
输出项:
- 每次命中的平均伤害(含暴击)——把暴击混合进来之后,一次命中平均造成的伤害。
- 每次攻击的有效伤害——计入落空之后的同一数值。这是每次攻击尝试的伤害,而不是每次命中的伤害。
- DPS——有效伤害乘以你的攻击频率。
计算器给出的全部是长期平均值。单独一次挥砍要么暴击要么不暴击,要么命中要么落空;而这套数学描述的是许多次攻击累积下来会发生什么——在两把武器之间做选择时,重要的恰恰是这个。
公式
设普通命中的基础伤害为 ,暴击几率(百分数)为 ,暴击伤害倍率为 ,命中率(百分数)为 ,每秒攻击次数为 。
一次暴击造成 倍的普通伤害,因此额外增加了相当于 次命中的伤害——但这只发生在真正暴击的那 比例的命中上。把这份加成平摊到所有命中上,得到:
落空不造成任何伤害,因此按命中率缩放后得到每次攻击尝试的伤害:
再乘以攻击频率,就把每次攻击的伤害变成了每秒伤害:
合在一起,整体就是一个式子:
注意暴击项在两个极端处的表现。当 时括号塌缩为 1,倍率毫无意义——一把永远不暴击的武器,其暴击倍率再高也恰恰一文不值。当 时括号变成 ,因为每次命中都是暴击。
计算示例
示例 1——25% 暴击几率、双倍伤害
一把武器每次命中造成 100 伤害,每秒攻击 2 次,有 25% 的几率打出 2× 暴击,且从不落空(命中率 100%)。
也就是说,这里的暴击恰好等价于 25% 的伤害提升,武器达到 250 DPS。
示例 2——同一把武器,完全不暴击
其他条件不变,只把暴击几率降到 0%:
武器现在是 200 DPS。把它和示例 1 对比,是给暴击属性定价的最干净的办法:那 25 个百分点的暴击几率,买来了 50 DPS。
示例 3——加入 10% 的落空
回到 25% 暴击的 build,但现在只有 90% 的攻击能打中:
命中率对整体是线性缩放,所以损失 10% 的攻击恰好让你损失 10% 的 DPS:225 DPS,而不是 250。注意,打中的那一击其平均伤害仍是 125——命中率从不改变一击有多重,只改变一击有多常发生。
示例 4——更慢、更重的武器
一把双手武器每次命中造成 250 伤害,但每秒只攻击 1.5 次。它有 40% 的几率打出 2.5× 暴击,命中率为 95%。
570 DPS——虽然出手更少,却轻松领先示例 1 中的快速武器,因为它每次命中的伤害和暴击属性都高得多。
实用提示
- 攻击速度与攻击间隔。 游戏两种表述都有。如果你的游戏给出的是两次攻击之间的秒数,输入前先取倒数——0.5 秒的间隔就是每秒 2 次攻击。
- 伤害区间。 当武器在最小值和最大值之间随机时,请输入两者的平均值。挥砍足够多次之后,你实际拿到的就是中间值。
- 暴击几率和暴击倍率不可互相替代。 二者的贡献是乘积 ,因此当前较小的那一项,通常每投入一点属性能换来更多 DPS。如果你的暴击倍率是 2(即 仅为 1),继续堆倍率往往更划算;如果你几乎从不暴击,那就该堆几率。
- 这个计算器刻意不涵盖的内容。 持续伤害、护甲与抗性减免、有持续时间限制的增益、冷却时间、装填与前摇、命中多个目标的范围伤害,以及技能循环。这些都因游戏而异,每一项都需要本计算器并不假定的规则。如果你的游戏有装填或前摇,一个诚实的变通办法是:用完整的循环时间(含空档)而不是仅用有效窗口,去折算你真实的每秒攻击次数。
- 持续输出与爆发。 由于 DPS 是平均值,它描述的是持续输出。一把把伤害前置的爆发武器,可能赢下一场按 DPS “本该”输掉的短促战斗。
- 百分数就填百分数。 暴击几率和命中率请按百分制整数填写(填 25,而不是 0.25)。若需要在两种形式之间换算,百分比计算器可以代劳。
常见问题
为什么 0% 的暴击几率仍是有效输入?
因为确实有大量武器和 build 根本无法暴击,而 DPS 对它们同样有良好定义——暴击项直接消失,DPS 就变成伤害 × 命中率 × 攻击速度。暴击几率为 0 是一个真实的答案,而不是缺失的数据,所以计算器会照常算出结果,而不是把结果留空。
“每次命中的平均伤害”和“有效伤害”有什么区别?
每次命中的平均伤害,是一击打中时造成的伤害,其中已经混入了暴击。每次攻击的有效伤害,是一次攻击尝试的平均价值,因此还背上了落空的代价。命中率为 100% 时两者相同;低于 100% 时,有效伤害更小。
暴击倍率越高就一定 DPS 越高吗?
只有在你真的会暴击时才成立。暴击的贡献是暴击几率乘以 ,所以在暴击几率为 0% 的 build 上,3× 的倍率什么也加不了。两项属性一起提升,暴击流 build 才真正跑得起来。
我可以用它来做自己设计的游戏吗?
可以,而且这是个很好的用法。由于它不保存任何特定游戏的数据,可以充当数值平衡的合理性检查:把你为两把武器考虑的属性填进去,看看它们的 DPS 是否落在你预期的位置。为沙盒游戏做类似草稿式规划的建造者,或许也会觉得《我的世界》圆形计算器有用。