首先我们知道,游戏战斗最基础的就是攻防两方。攻击,防御,血量这三个数值。战斗的结果是攻击造成伤害,扣减血量。两种公式的不同就在于防御和攻击这两个变量于伤害的关系。但是伤害只是中间变量,想找到关系,就要找到初始属性之间的关系。
影响实际战斗结果的是攻击和血量,因为血量/攻击=攻击次数,这个才是对战斗最终的影响因素。因此,我们需要将防御消除。而防御,本来目的就是减少伤害,因此,很自然的想到防御就是血量的加成,加成后的血量就是防御方的实际防御能力,定义为有效血量。
定义变量,HP,EHP(effective health power),D(damage),AC(护甲),AD(actually damage,护甲计算后的伤害),c(count,打死对面攻击次数),其他小写字母均为常数。
首先,我们有:

1) 减法公式:


图:减法公式D=100时AC对EHP的提升系数
l AC的实际防御能力受到功方攻击力影响。
l AC值在接近D值的过程中(控制D),曲线初期非常平滑,到接近D值时,接近指数函数:AC值越接近D值,边际价值量越来越大,极限为无穷大。
l 在这样的体系下,游戏的数值增长的增量跨度必须越来越大,否则的话此后数值调整将会牵连很大。
2) 除法公式


图:a=100时除法公式AC对EHP的影响系数
l AC和EHP是线性关系。每点AC对EHP的提高量是相等的。在任何时候提高相等的护甲带来的对EHP的提升比例都是同样的,AC就是实际防御能力的体现。
l 攻击属性和防御属性互不影响互相价值,可以保证数值平衡设计时的独立性。
l 由上,除法公式体系下的数值增长,可以做成等差数列。这样可以保证不会因为等级差而出现属性的N倍差值,游戏将会更好做不同等级玩家之间的平衡,很适合PVP。
l AC对EHP的提升系数就是1+AC/a,这对于玩家是非常容易计算的,尤其是a设置合理的话。比如LOL中a=100,有x点护甲,EHP就增加x%,非常直观。
إخلاء المسؤولية: الآراء الواردة هنا تعبر فقط عن رأي الكاتب، ولا تمثل الموقف الرسمي لـ Followme. لا تتحمل Followme مسؤولية دقة أو اكتمال أو موثوقية المعلومات المُقدمة، ولا تتحمل مسؤولية أي إجراءات تُتخذ بناءً على المحتوى، ما لم يُنص على ذلك صراحةً كتابيًا.
