Lab / 《明日之后》

伤害预测建模

建立基于面板属性的伤害预测模型,量化各变量对实际伤害跳字的影响排名

项目背景

《明日之后》的伤害并不是单纯线性关系。现有测试显示,攻击力与护甲的差值存在保底区间正常增长区间边际递减区间;伤害加成与减免也不是直接相减, 而是以乘法形式共同影响最终伤害。

本项目的核心不是复原某一个具体伤害公式,而是建立一个可用于预测的整体模型:输入攻击力、护甲、火力、 各类加成减免和场景属性后,输出接近真实游戏跳字的伤害值, 并量化每个变量的影响大小,形成可读的变量 ranking。

核心研究问题

1

给定一套角色与目标属性,能否预测真实伤害跳字?

2

火力、攻防差、伤害加成/减免、玩家属性等变量,谁对最终伤害贡献最大?

3

不同场景(夏尔、特训、远星)是否存在独立倍率或隐藏修正?

4

在攻击力、加成、进阶属性之间,哪个变量在当前装备区间内最值得提升?

输入变量

基础攻击

Attack攻击力
Defense目标护甲
Power武器火力

通用伤害

Damage increase伤害加成 %
Damage decrease伤害减免 %

玩家属性

Player increase玩家伤害加成
Player decrease玩家伤害减免

武器 / 部位

Weapon increase/decrease轻型或重型加成/减免
Body increase/decrease躯干/独立加成/减免
Gun increase/decrease远程或近程加成/减免

场景 & 输出

Place夏尔 / 特训 / 远星 等
Damage目标变量:真实伤害跳字

关键机制假设

1. 攻防差分段非线性

攻击力对基础伤害的影响按攻防差(Attack − Defense)分段处理。 以下为初始假设区间,后续数据中持续验证和微调:

攻防差 x基础伤害假设
0 – 1212.12
13 – 3012.12 + 1.01 × (x − 12)
31 – 5030.30 + 0.707 × (x − 30)
51 – 7044.44 + 0.505 × (x − 50)
71 – 10054.54 + 0.303 × (x − 70)
100+63.63 + 0.101 × (x − 100)

2. 加成与减免采用乘法关系

伤害加成与减免不应作为简单差值处理。20% 加成与 20% 减免应为 1.2 × 0.8 = 0.96,而不是 1.0。

Multiplier = (1 + Increase / 100) × (1 − Decrease / 100)

注:部分 Damage decrease 字段数值超过 100,直接代入公式会得到负倍率。 正式模型将同时保留原始字段和工程化倍率字段,让模型学习真实关系。

方法论

特征工程

原始特征

Attack, Defense, Power, 各类 increase/decrease — 保留完整面板信息

差值特征

Attack − Defense — 攻防差,伤害曲线的基础变量

分段特征

attack_bucket, attack_base_piecewise — 将已知攻防曲线注入模型

乘法倍率

(1+加成/100)×(1−减免/100) — 表达加成与减免的乘法关系

交互特征

attack_base × Power, 倍率 × 场景 — 捕捉公式中的乘法结构

类别特征

Place, weapon type, target type — 区分作战环境和目标类型

推荐模型

公式 Baseline

建立最低可用预测线

可解释、可检查机制难覆盖隐藏交互

LightGBM / CatBoost

主预测模型

适合表格非线性数据需要足够干净的数据

XGBoost

备选主模型

稳定、解释工具成熟小数据需防过拟合

GAM / 样条

分析单变量曲线

适合找未知弯曲关系整体预测弱于 GBDT

变量重要性排名方法

S

SHAP Importance

统计每个变量对预测值的平均影响幅度。主 ranking,适合解释单变量影响。

P

Permutation Importance

打乱某变量后观察 MAE 变差多少。验证该变量是否真的影响预测能力。

G

Group Importance

将 Attack/Defense 合并为攻防组,increase/decrease 合并为属性组。更符合玩家决策视角,用于比较装备提升优先级。

评估指标

MAE

主指标:平均预测误差(点数)

RMSE

辅助:对大误差更敏感

±1/±3/±5 命中率

玩家可读:落在真实值附近的比例

分组 MAE

按场景、攻防差区间分别评估

当前数据状态

已收集 104 条测试记录,足够建立初版 pipeline 并验证机制假设, 但尚不足以得到完全稳定的排名(500 条以上才会明显稳定)。

!

火力与伤害相关性很高,若不做分层与控制变量,会掩盖其他属性效果

!

部分行同时改变多个变量,适合训练预测模型,但不适合单独判断某一变量公式

!

场景可能存在独立修正,不能把所有场景简单混为一条曲线

!

Damage decrease 超过 100 的字段需重点确认其真实换算方式