四、指数公式(Exponential)
公式
Damage = c^(ATK - DEF)
c 为大于 1 的常数(建议 1.01~1.1)。
数学特性
| 特性 | 表现 |
|---|---|
| 上限 | → ∞(ATK >> DEF 时) |
| 下限 | → 0(DEF >> ATK 时,但永远 > 0) |
| DEF 收益 | 恒定:每点 DEF 总是减少 c^ATK 的固定比例 |
| ATK 收益 | 恒定:每点 ATK 总是增加固定倍率 |
EHP 推导
致死次数 = HP / c^(ATK - DEF)
无 DEF 致死次数 = HP / c^ATK
DEF 增加的致死倍率 = c^DEF
每点 DEF 总是让生存时间乘以 c 倍。如果 c=1.1,每点 DEF = +10% 生存时间,无论当前 DEF 多高。^[yujiri.xyz - Damage Formulas]
核心优势
1. 完美一致性
- 0→1 DEF 的效果 = 100→101 DEF 的效果(相同百分比)
- 不存在”低端无效、高端恐怖”的问题
- 设计师可以精确预测:每点属性 = 固定百分比变化
2. 对称性
ATK 和 DEF 的效果完全对称:每点 ATK 增加 c 倍伤害,每点 DEF 减少 c 倍伤害。
3. 等级差可控
通过控制属性成长速度,可以精确控制等级差带来的战斗力差距。
核心弱点
1. 数值膨胀极快
c=1.1 时:
- ATK-DEF=10 → 伤害 = 2.59× 基础
- ATK-DEF=50 → 伤害 = 117× 基础
- ATK-DEF=100 → 伤害 = 13,780× 基础
需要严格的属性范围控制。
2. 实现复杂度
- 需要浮点运算(整数运算会丢失精度)
- 需要处理 ATK=DEF=0 的 NaN 情况
- 负值输入产生异常结果
- 玩家难以心算预测伤害
3. 暴击/装备系统的整合困难
传统 RPG 的暴击(×2)和装备加成在指数系统中需要重新设计,因为乘法加成在指数系统中效果不同。
真实游戏实现
指数公式在主流商业游戏中极少直接使用,但其思想影响了多个系统:
- DOTA2 的负护甲公式:
增伤 = 2 - 0.94^(-Armor)— 负护甲区间使用指数 - War3 的负护甲公式:
增伤 = 2 - 0.94^(-Armor)— 同上 - 英雄无敌系列的伤害系统: 攻防差值通过查表转换为倍率,本质上是离散化的指数关系
- 部分独立游戏/理论设计: 作为”理想化”公式被讨论
适用场景
- ✅ 竞技游戏需要完美属性对称
- ✅ 数值范围严格可控的系统
- ✅ 设计师愿意投入大量平衡调优
- ❌ 大数值 RPG(膨胀不可控)
- ❌ 需要玩家心算的休闲游戏
- ❌ 需要穿甲/减甲等衍生机制的系统
相关概念
- damage-formulas — 伤害公式体系总览
- damage-subtractive — 减法公式
- damage-percentage — 百分比减伤公式
- damage-division — 除法公式
- damage-hybrid-formulas — 混合公式
- arpg-damage-formulas — ARPG 伤害公式对比