首先我们知道,游戏战斗最基础的就是攻防两方。攻击,防御,血量这三个数值。战斗的结果是攻击造成伤害,扣减血量。两种公式的不同就在于防御和攻击这两个变量于伤害的关系。但是伤害只是中间变量,想找到关系,就要找到初始属性之间的关系。
影响实际战斗结果的是攻击和血量,因为血量/攻击=攻击次数,这个才是对战斗最终的影响因素。因此,我们需要将防御消除。而防御,本来目的就是减少伤害,因此,很自然的想到防御就是血量的加成,加成后的血量就是防御方的实际防御能力,定义为有效血量。
定义变量,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 不對內容的準確性、完整性或可靠性作出任何保證,對於基於該內容所採取的任何行為,不承擔任何責任,除非另有書面明確說明。
