ARPG 伤害公式深度对比
概述
本文对比六款主流 ARPG 的伤害计算体系,从数学本质、乘法堆叠方式、防御模型、设计哲学四个维度进行深度分析。
对比对象: Diablo 2、Diablo 3/4、Path of Exile、原神、Elden Ring、Lost Ark
一、攻击端公式总览
Diablo 2 — 武器基础 × 技能倍率
伤害 = 武器基础伤害 × 技能倍率 × (1 + 力量/100)
- 伤害几乎完全来自武器,属性只提供百分比加成
- 没有复杂的乘法堆叠,Build 多样性来自装备词缀组合
- 命中率独立计算:
命中率 = 100 × AR/(AR+DEF) × 2×ALv/(ALv+DLv)
Diablo 3/4 — 乘法分桶(Damage Buckets)
Diablo 4 的伤害公式:
伤害 = 武器伤害 × 技能% × [加法桶] × [暴击桶] × [易伤桶] × [全局桶]
六个乘法桶:
- 主属性 — 每 10 点 = +1% 伤害(独立乘法)
- 加法桶 — 所有
[+]%加成求和(对精英、远程、中毒等条件加成) - 暴击桶 — 基础 50% 暴击伤害(独立乘法)
- 易伤桶 — 基础 20% 易伤加成(独立乘法)
- 过量伤害 — 基于当前生命 + 坚韧的额外伤害(独立乘法)
- 全局乘数 — 所有
[x]%加成相乘(如传奇特效)
关键:Diablo 4 的加法桶内所有加成递减(越堆越弱),但桶之间是乘法关系(越多桶越强)。Season 2 将暴击/易伤从独立桶改为加法桶,大幅改变了出装策略。^[Diablo 4 Damage Buckets - PureDiablo]
Path of Exile — 增幅(increased)vs 更多(more)
伤害 = (基础伤害 + 附加伤害) × (1 + Σ增幅) × Π(1 + 更多) × 攻速 × 暴击
PoE 的核心设计:
| 术语 | 叠加方式 | 内部ID后缀 |
|---|---|---|
| added(附加) | 加法 | — |
| increased / reduced(增幅/减少) | 加法叠加 | _increment |
| more / less(更多/更少) | 乘法叠加 | _final |
数学表达:
stat_total = Σ(added) × (1 + Σ(increased) - Σ(reduced)) × Π(1 + more) × Π(1 - less)
关键洞察:
- 同为 +100% 加成,“100% increased” vs “100% more” 的差异:
- 已有 200% increased 时:+100% increased → 400% (×1.33)
- 已有 200% increased 时:+100% more → ×2.0 (×2.0)
- “more” 永远等效于一个独立乘法桶,不受递减影响
- “increased” 的边际收益随堆叠递减:100%→200% 从 ×2 变为 ×3(仅 +50%)
PoE 的 increased/more 区分是 ARPG 中最优雅的乘法堆叠设计,让玩家可以精确计算每点收益。^[PoE Wiki - Stat]
原神 — 多层乘法
伤害 = (ATK × 技能倍率 + 附加) × (1 + 伤害加成%) × 暴击 × DEF乘数 × RES乘数 × 增幅反应
- 伤害加成%(元素伤害加成、普攻加成等)加法叠加后独立乘法
- 暴击率 × 暴击伤害 = 期望暴击乘数
- DEF 和 RES 是防御端的独立乘法层
Elden Ring — 分段曲线 + 百分比减伤
伤害 = (1 - 减伤%) × 防御乘数 × ATK × 动作倍率
- 防御乘数由 ATK/DEF 比率查表(五段分段函数)
- 减伤%来自护甲的 Damage Negation
- 没有复杂的乘法堆叠,Build 多样性来自武器选择和动作组合
Lost Ark — 纯乘法链
伤害 = (基础值 + ATK × 系数) × 加成桶 × 全局桶 × 暴击 × 宝石
- 攻击力(ATK)由装等驱动,几乎无法通过属性堆叠
- Build 多样性来自刻印(Engraving)的乘法组合
二、防御端公式对比
防御模型分类
| 游戏 | 物理防御 | 元素防御 | 核心机制 |
|---|---|---|---|
| Diablo 2 | 影响命中率 | 抗性(上限 75%) | DEF 不减伤,只影响命中 |
| Diablo 3/4 | Armor 减伤 | 全抗减伤 | 百分比减伤,等级缩放 |
| Path of Exile | 护甲(伤害相关减伤) | 抗性(上限 75%→90%) | 护甲对大伤害减伤差 |
| 原神 | DEF/(DEF+k×Lv+500) | RES 三段函数 | 等级因子除法 |
| Elden Ring | ATK/DEF 比率查表 | Damage Negation | 10%~90% 伤害区间 |
| Lost Ark | Phy. DR% | Mag. DR% | 百分比减伤 |
深度对比:物理减伤机制
Diablo 3/4 — 标准除法
减伤% = Armor / (Armor + 5 × 敌人等级 × 100)
- 每点 Armor 的减伤效果取决于敌人等级
- 高等级敌人需要更多 Armor 维持同等减伤
- 与魔兽世界的
400+85×Level公式同源
Path of Exile — 伤害相关减伤
减伤% = 护甲 / (护甲 + 5 × 原始伤害)
- 减伤百分比取决于原始伤害大小
- 对小伤害减伤效果好,对大伤害减伤效果差
- 这意味着护甲堆叠者仍然会被大伤害秒杀——创造了”有效生命值”的概念
- 要达到 90% 减伤(上限),需要
护甲 = 45 × 原始伤害
PoE 护甲的独特之处:同一套护甲面对 1000 伤害和 10000 伤害,减伤率完全不同。这迫使玩家同时堆叠 HP 和护甲。^[PoE Wiki - Armour calculations]
Elden Ring — 分段曲线
攻击比 = ATK / DEF
< 0.125: 伤害 = ATK × 0.10
0.125~1: 伤害 = ATK × (10%→40%)
1~2.5: 伤害 = ATK × (40%→70%)
2.5~8: 伤害 = ATK × (70%→90%)
> 8: 伤害 = ATK × 0.90
- 伤害永远在 ATK 的 10%~90% 之间
- 不会出现”不破防为 0”,也不会出现”超过 ATK”
- 每种伤害类型独立计算(物理、魔力、火、雷、圣)
- 减伤后还乘以护甲的 Damage Negation(百分比)
ER 的设计哲学:保留减法的”攻防对抗感”,但用数学曲线避免极端情况。这是一种”软减法”。^[Elden Ring Wiki - Calculating Damage]
三、乘法堆叠策略对比
3.1 递减 vs 恒定
|| 游戏 | 加法层 | 乘法层 | 最优策略 | ||------|-------|-------|---------| || Diablo 3/4 | 伤害词缀求和 | 桶之间相乘 | 均衡分配到多个桶 | || Path of Exile | increased 求和 | more 逐个相乘 | 尽可能获取更多 more | || 原神 | 伤害加成% 求和 | 暴击×DEF×RES | 均衡各层 | || Elden Ring | 无 | 动作倍率×减伤 | 选择高倍率动作 |
2026 年新动态:PoE2 Patch 0.5 的 Runic Ward 系统
PoE2 在 0.5 版本中引入了 Runic Ward——一种被动防御层,存在于所有物品(包括暗金)上。它不是普通的减伤%,而是一种”在致命伤害时保命”的紧急防御机制。更有趣的是,部分技能可以消耗 Runic Ward 代替 mana来施放,且这类技能不受属性和武器限制,所有职业都可使用。这创造了一种全新的”双资源管理”空间:Spirit 保留 buffs + Energy 管理触发 + Runic Ward 作为可再生的紧急资源。^[MMOGAH - PoE2 Patch 0.5 Summary]
Diablo 4 的桶系统实例
基础伤害 1000:
- 加法桶 +25%:1000 × 1.25 = 1250
- 暴击 ×1.5:1250 × 1.5 = 1875
- 易伤 ×1.2:1875 × 1.2 = 2250
- 全局 ×1.3:2250 × 1.3 = 2925
总倍率 = 1.25 × 1.5 × 1.2 × 1.3 = 2.925×
如果所有加成都堆在加法桶(+192.5%):1000 × 2.925 = 2925(相同结果?不——)
实际加法桶内递减:+100% +50% +25% +17.5% = +192.5%,但分散到桶外会更高:
- 加法桶 +100%(仅核心伤害):1000 × 2.0 = 2000
- 暴击 ×1.5:2000 × 1.5 = 3000
- 易伤 ×1.2:3000 × 1.2 = 3600
- 全局 ×1.3:3600 × 1.3 = 4680
同样的总加成数值,分散到多个桶比堆在一个桶强 60%。^[Diablo 4 Damage Buckets - dotesports]
PoE 的 increased vs more 实例
基础伤害 1000,已有 200% increased:
选择 A:+100% increased
- 总 increased = 300%
- 伤害 = 1000 × (1 + 3.0) = 4000
选择 B:+100% more
- 总 increased = 200%,more = 100%
- 伤害 = 1000 × (1 + 2.0) × (1 + 1.0) = 6000
相同的 +100% 数值,more 比 increased 强 50%(在已有 200% increased 的情况下)。^[PoE Forum - Increased vs More]
原神的均衡原则
原神的伤害公式是纯乘法链:基础 × 加成% × 暴击 × DEF × RES
每一层都是独立乘法,所以:
- 已有 80% 水元素加成时,+20% 水元素加成 = ×(1.2/1.8) ≈ +11%
- 已有 50% 暴击率时,+10% 暴击率 = +10% × 暴击伤害
最优策略是均衡分配到各层,而非堆叠单一属性。
四、设计哲学对比
数值范围与公式选择
| 游戏 | 数值范围 | 公式选择 | 原因 |
|---|---|---|---|
| Diablo 2 | 1~数千 | 减法(命中率)+ 百分比 | 数值小,减法可行 |
| Diablo 3/4 | 1~数十亿 | 乘法分桶 | 大数值必须用乘法 |
| Path of Exile | 1~数百万 | 多层乘法 + 伤害相关减伤 | 极端数值范围 |
| 原神 | 1~数万 | 除法(等级因子) | 中等数值范围 |
| Elden Ring | 1~数千 | 分段曲线 | 保留攻防对抗感 |
| Lost Ark | 1~数千万 | 纯乘法链 | 装等驱动的大数值 |
核心洞察
1. 数值范围决定公式类型
- 小数值(< 1000):减法公式可行(FE、ER)
- 中等数值(1000~100万):除法或百分比(原神、WoW)
- 大数值(> 100万):必须用乘法体系(Diablo 3/4、PoE、Lost Ark)
2. 乘法堆叠的两种哲学
- 桶系统(Diablo 4): 将加成分入不同桶,桶内加法递减,桶间乘法无递减。鼓励均衡出装。
- increased/more(PoE): 用术语区分加法层和乘法层,more 永远优于 increased。鼓励精确计算。
3. 防御端的两种极端
- 完全无视 DEF(Diablo 2): DEF 只影响命中率,不影响伤害值。简化计算但削弱防御感。
- DEF 完全影响伤害(PoE 护甲): 护甲对大伤害减伤差,创造”有效生命”概念。增加策略深度。
- 折中方案(ER): 分段曲线保证 10%~90% 伤害区间,既不无敌也不刮痧。
4. 伤害类型的处理
- 单类型(Diablo 2): 简单直接
- 双类型(原神:物理+元素): 增加策略维度
- 多类型(ER:物理/魔力/火/雷/圣): 极大增加 Build 多样性,但每种类型的 ATK 都被稀释
五、横向对比表
| 维度 | Diablo 2 | Diablo 4 | Path of Exile | 原神 | Elden Ring |
|---|---|---|---|---|---|
| 伤害公式 | 武器×技能% | 武器×技能%×桶 | (基础+附加)×increased×more | (ATK×倍率)×加成% | ATK×动作倍率 |
| 加法层 | 无 | 伤害词缀求和 | increased 求和 | 伤害加成% 求和 | 无 |
| 乘法层 | 力量% | 桶间相乘 | more 逐个相乘 | 暴击×DEF×RES | 防御乘数 |
| DEF 作用 | 命中率 | 百分比减伤 | 伤害相关减伤 | 等级因子除法 | ATK/DEF 比率 |
| 元素减伤 | 抗性% | All Res% | 抗性%(上限75→90) | RES 三段函数 | Damage Negation% |
| 暴击 | ×2 | ×1.5 基础 | 可自定义倍率 | 可自定义倍率 | 无暴击系统 |
| Build 多样性来源 | 装备词缀 | 刻印+传奇 | 天赋+宝石+装备 | 角色+武器+圣遗物 | 武器+动作选择 |
| 理论 DPS 上限 | ~10万 | ~数十亿 | ~数十亿 | ~数十万 | ~数千 |
六、设计启示
对 Bevy 游戏开发的参考
- 数值范围决定一切: 先确定 HP/ATK 的数量级范围,再选择公式
- 乘法堆叠是大数值游戏的必选项: 超过 10000 数值范围时,减法公式失效
- 防御端需要”保底伤害”: 任何公式都应该保证 ATK > 0 时伤害 > 0
- increased/more 区分是最优雅的乘法设计: 对开发者和玩家都最透明
- 分段曲线是减法的”优雅修复”: 适合需要攻防对抗感的动作游戏
相关概念
- damage-formulas — 伤害公式体系总览
- damage-subtractive — 减法公式
- damage-percentage — 百分比减伤公式
- damage-division — 除法公式
- damage-exponential — 指数公式
- damage-hybrid-formulas — 混合公式
- arpg-defense-formulas — ARPG 防御端公式对比
- arpg-multiplicative-stacking — 乘法堆叠策略对比
- hit-points — HP 的定义与历史演变
- bevy-game-development — Bevy ECS 中的伤害系统实现
来源
- PoE Wiki — Damage calculation(increased/more 机制)
- PoE Wiki — Armour calculations(伤害相关减伤公式)
- Diablo 4 Wiki — Damage Buckets(分桶系统)
- Genshin Wiki — DEF(等级因子除法公式)
- Elden Ring Wiki — Calculating Damage(五段分段函数)
- MMOGAH — PoE2 Patch 0.5 Announcement Summary(Runic Ward 系统). https://www.mmogah.com/news/path-of-exile-2/poe-2-patch-05-announcement-summary-return-of-the-ancients