|
GameRes游资网授权发布 文/道一大大
常规攻防中判断单位A和单位B谁的能力强,就是比谁先杀死谁
如果:A生存能力/B输出能力 > B生存能力/A输出能力
可得:A生存能力*A输出能力 > B生存能力*B输出能力
表示A比B强,所以战斗力 = 生存能力 * 输出能力
思考:
当基础伤害 = 攻击[攻击方]*攻击[攻击方]/(攻击[攻击方]+防御[防御方])时,如何计算各个基础属性的战力值?
因为输出和生存能力需要同时考虑到双方的属性,所以单个的攻击力和防御力其实的价值是不稳定的。所以公式看起来无法成功代入。
但是我们可以换个思路思考,我们可以给予此单位一个标准攻防,我们在这里叫做:标准攻,标准防。
这个标准攻防则需要通过游戏的进程发生改变,且需要精细计算。
根据以上的思路,
那么:生存能力 = 生命值 / (标准攻/(标准攻+防御力)) /(1-闪避率)
输出能力 = 攻击力 * 攻击力/(攻击力+标准防)*(1 + 暴击率*额外暴击伤害)
那么就可以得出,最后的战斗力 = 生存能力 * 输出能力。
这种攻防公式最大的优点:
当双方的数值成等比例上涨,战斗的节奏不会发生变化。
1>如果有两个人A,B。
A击杀B的次数 AB= 生命值[B] / (攻击力[A]*攻击力[A]/(攻击力[A]+防御力[B]));
B击杀A的次数 BA= 生命值[A] / (攻击力[B]*攻击力[B]/(攻击力[B]+防御力[A]));
2>如果A和B的三围都增加K倍,则:
A击杀B的次数 KAB= k*生命值[B] / (k*攻击力[A]*k*攻击力[A]/(k*攻击力[A]+k*防御力[B]));
B击杀A的次数 KBA= k*生命值[A] / (k*攻击力[B]*k*攻击力[B]/(k*攻击力[B]+k*防御力[A]));
我们发现:AB = KAB,BA = KBA。击打次数没有改变,所以节奏没有发生变化。
这种攻防公式最大的缺点:
攻击和防御的价值不对等,需要同时提升生命和防御才能等同于攻击的效果。
1>攻击增长K倍,
输出变成了 k*攻击力[A]*k*攻击力[A]/(k*攻击力[A]+防御力[B]),
对比之前的 攻击力[A]*攻击力[A]/(攻击力[A]+防御力[B]),
每增加K的攻击力输出的增长大于k。
2>防御增加K倍,
受击变成了 攻击力[A]*攻击力[A]/(攻击力[A]+k*防御力[B]),
对比之前的 攻击力[A]*攻击力[A]/(攻击力[A]+防御力[B]),
每增加K的防御里受击的增长小于k。
相关阅读:游戏数值策划属性篇(三):战斗公式的设计
|
|