公式HURT = ATK*ATK/(ATK+DEF)*2 的研究
导读:
研究一下公式 HURT =ATK*ATK/(ATK+DEF)*2。本文仅是拿来看看,笑笑罢了,对项目帮助不大。
1、公式
HURT= ATK*ATK/(ATK+DEF)*2
瞄一眼都晓得这个与加减法不同,但本文想看看具体感觉的差异在哪里。
2、效果一览
1)攻击=防御时,该公式的伤害=攻击
ATK | DEF | H1URT | 倍率 | |
攻击、防御等比例提升 | 1 | 1 | 1 | 1 |
2 | 2 | 2 | 1 | |
3 | 3 | 3 | 1 | |
4 | 4 | 4 | 1 | |
5 | 5 | 5 | 1 |
2)防御不变,攻击提升时,伤害提升的比例较快。
ATK | DEF | HURT | 倍率 | |
攻击提升防御不变 | 1 | 3 | 0.5 | 0.5 |
2 | 3 | 1.6 | 0.8 | |
3 | 3 | 3 | 1 | |
4 | 3 | 4.57 | 1.14 | |
5 | 3 | 6.25 | 1.25 |
3)攻击不变,防御提升时,伤害降低的较慢。
ATK | DEF | HURT | 倍率 | |
防御提升攻击不变 | 3 | 1 | 4.5 | 1.5 |
3 | 2 | 3.6 | 1.2 | |
3 | 3 | 3 | 1 | |
3 | 4 | 2.57 | 0.86 | |
3 | 5 | 2.25 | 0.75 |
4)攻击极大与防御极大的比较,攻击极大占很大的便宜。
ATK | DEF | HURT | 倍率 | |
攻击极大 | 1000 | 10 | 1980 | 1.98 |
防御极大 | 10 | 1000 | 0.198 | 0.0198 |
对比结论:攻击属性收益较大,防御属性受益不明显。
3、假设对比
ATK | DEF | 对敌伤害 | |
玩家1 | 3 | 5 | 3 |
3 | 10 | 3 | |
3 | 15 | 3 |
ATK | DEF | 对敌伤害 | |
玩家2 | 5 | 3 | 5 |
10 | 3 | 10 | |
15 | 3 | 15 |
这里的比较,明显看出加攻击的效果会更好一些。但我更想知道的是,若我方与敌人的伤害是一致的,那么随着敌方攻击变化,我方防御变化的规律,即能不能在这个公式下,找到一个合理的攻击VS防御的比值。
测试方式如下:
ATK | DEF | HURT | 属性总值 | |
玩家1 | 10 | -2.5 | 20 | 7.5 |
玩家2 | 5 | 0 | 20 | 5 |
Excel说明:
ATK | DEF | HURT | 属性总值 | |
玩家1 | 10 | 反推出需要多少防御 | =H42*H42/(I43+H42)*2 | =I42+H42 |
玩家2 | 随意写的 | 0 | =H43*H43/(H43+I42)*2 | =I43+H43 |
“反推出需要多少防御”的公式说明:
设我方伤害为a,对方伤害也为a,则
{ATK*ATK/(ATK+DEF)}*2=a (可变化)
则 ATK*ATK =a*(ATK+DEF)/2
DEF=2/a * ATK*ATK - ATK
这里,ATK指敌方伤害变化,DEF指我方防御随之变化的情况
设ATK=X
则 DEF= 2/a *X*X - X
问题转化为求高中数学二次函数的对称轴和与X轴上的交点。
求解结果罗列如下:
| ATK | DEF |
对称轴 | a | a |
与X轴交点 | a/2 | 0 |
1)当ATK=a时
ATK | DEF | HURT | 属性总值 | |
玩家1 | 49 | 96.04 | 96.04 | 145.04 |
玩家2 | 96.04 | 1 | 96.04 | 97.04 |
即 敌人攻击与我方伤害相同时候,我方防御的最小值是a,不然打不赢。
2)当ATK=a/2时
ATK | DEF | HURT | 属性总值 | |
玩家1 | 70 | 0 | 122.5 | 70 |
玩家2 | 61.25 | 10 | 122.5 | 71.25 |
即 敌人攻击是我方伤害的一半时,我方防御大于0就能干掉他。
4、做个表
下面的内容表示:随着我方攻击变化、敌人攻击变化、敌人防御固定时,约束条件为双方的输出一致,在此情况下,罗列我方的防御力变化情况。
我方ATK | 敌方防御 | hurt(我方造成伤害) | 敌方攻击取值 | |||||||||
1.00 | 2.00 | 3.00 | 4.00 | 5.00 | 6.00 | 7.00 | 8.00 | 9.00 | 10.00 | |||
/下方代表对应的我方防御变化/ | ||||||||||||
1 | 0 | 2 | 0.00 | 2.00 | 6.00 | 12.00 | 20.00 | 30.00 | 42.00 | 56.00 | 72.00 | 90.00 |
2 | 0 | 4 | -- | 0.00 | 1.50 | 4.00 | 7.50 | 12.00 | 17.50 | 24.00 | 31.50 | 40.00 |
3 | 0 | 6 | -- | -- | 0.00 | 1.33 | 3.33 | 6.00 | 9.33 | 13.33 | 18.00 | 23.33 |
4 | 0 | 8 | -- | -- | -- | 0.00 | 1.25 | 3.00 | 5.25 | 8.00 | 11.25 | 15.00 |
5 | 0 | 10 | -- | -- | -- | -- | 0.00 | 1.20 | 2.80 | 4.80 | 7.20 | 10.00 |
6 | 0 | 12 | -- | -- | -- | -- | -- | 0.00 | 1.17 | 2.67 | 4.50 | 6.67 |
7 | 0 | 14 | -- | -- | -- | -- | -- | -- | 0.00 | 1.14 | 2.57 | 4.29 |
8 | 0 | 16 | -- | -- | -- | -- | -- | -- | -- | 0.00 | 1.13 | 2.50 |
9 | 0 | 18 | -- | -- | -- | -- | -- | -- | -- | -- | 0.00 | 1.11 |
10 | 0 | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | 0.00 |
5、投机,取上方表格中"敌方攻击”取值为10的那一列为例
下面的数字是与敌人攻击10的比值,分别为我方防御/敌方攻击、我方攻击/敌方攻击,我方攻击*我方防御/常数。
最后一项由于敌方攻击是预设的定值,所以可以视为常数。可用来判断总属性的多少。
防御 | 攻击 | 总属性 |
相对倍率1 | 相对倍率2 | 前两项积 |
9.00 | 0.2 | 1.8 |
4.00 | 0.4 | 1.6 |
2.33 | 0.6 | 1.4 |
1.50 | 0.8 | 1.2 |
1.00 | 1 | 1 |
0.67 | 1.2 | 0.8 |
0.43 | 1.4 | 0.6 |
0.25 | 1.6 | 0.4 |
0.11 | 1.8 | 0.2 |
0.00 | 2 | 0 |
由上表总结,设我方攻击是副本预设攻击的的X倍,则:
我方防御 | 我方攻击 | 总属性 |
(2-X)/X | X | 2-X |
则对于玩家而言:
若我方攻击只有预定值的50%,则我需要3倍的防御力。
对于属性规划而言:
若最低要求的攻击倍率在0.6(即通过某关卡预设在某等级的最低攻击),则投放的防御属性较攻击值倍率最多不宜超过2.33倍。(仅参考估算)
思路飘一下,这么看这个公式值钱的是攻击,防御可以做成装备强化的坑。咱商店里最合适卖的是攻击力。
6、加减法公式与它的对比
HURT= ATK - DEF
加减法的效果明显,高防御玩家通吃。游戏里攻击价值常远大于防御价值,减法公式则不然,所以需要特别注意防御属性的分配。
这里有个参考投放 攻击10 防御7 生命20(傲视)。
(题外说句,有没有觉得防御这个属性一点儿也不合理?太突兀了。凭什么抵消这么多伤害? HURT=ATK 足够了呀。)
对于HURT =ATK*ATK/(ATK+DEF)*2而言,若防御=攻击,则就是纯粹的0防御的加减法,它规避了防御值收益过高的问题。并且,加减法倾向于追求防御,而它倾向于追求攻击。