在游戏数值策划中,伤害计算公式是战斗系统的骨架。传统的“伤害 = 攻击 - 防御”看似直观,却极易导致数值崩坏。本文将探讨如何利用反比例函数构建一个具有“收益递减”特性的伤害公式。
我们先来看原始公式:
最终伤害=原始伤害−防御力 \text{最终伤害} = \text{原始伤害} - \text{防御力} 最终伤害=原始伤害−防御力
在这个模型下,1点防御 = 1点免伤。
该模型为线性模型,实际使用时效果会比较生硬,继续往下看。
反比例函数模型公式结构:
最终伤害=原始伤害×伤害系数 \text{最终伤害} = \text{原始伤害} \times \text{伤害系数} 最终伤害=原始伤害×伤害系数
其中,伤害系数 f(x)f(x)f(x) 是一个关于护甲 xxx 的反比例型函数(有理函数):
f(x)=原始伤害∗K−xK+x f(x) = 原始伤害 * \frac{K - x}{K + x} f(x)=原始伤害∗K+xK−x
公式如图(其中测试K值为10):

x表示护甲,k表示阈值,用该值乘以原始伤害。
假设护甲为0,则伤害不变。假设护甲为5,则遭受大约4/10伤害
进行化简后,可得优化版本:
f(x)=11+xK=KK+x f(x) = \frac{1}{1 + \frac{x}{K}} = \frac{K}{K + x} f(x)=1+Kx1=K+xK
使用反比例函数模型。曲线前半部分比较急,后半部分比较缓,例如0.1的护甲实际效果会被拉到0.3,0.7和0.8的护甲实际效果可能都趋近0.85。
这样对于0.1护甲的脆皮职业,被一刀秒的概率就会低一些,整体游戏数值也会更平缓。

201

被折叠的 条评论
为什么被折叠?



