游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4522|回复: 9

[讨论] 关于护甲减伤公式的疑问

[复制链接]

8

主题

32

帖子

114

积分

注册会员

Rank: 2

积分
114
发表于 2013-7-23 16:58:16 | 显示全部楼层 |阅读模式
参考了一些游戏的乘法伤害公式,对于其中的一种护甲减伤有所疑问:护甲/(护甲+a),比如dota的护甲减伤:护甲*0.06/(护甲*0.06+1),演算一下变为:护甲/(护甲+17),那么公式中的系数a(dota公式中的17)是如何得出的?个人猜想是根据该游戏护甲的最大上限计算出,比如取护甲上限的50%,还是有其他的方法?在此请教大家。

98

主题

784

帖子

4495

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4495
发表于 2013-7-23 18:47:14 | 显示全部楼层
上限要参考,这个是值域,还要看你观察这个曲线和自己游戏需要的Feeling。

0

主题

74

帖子

318

积分

中级会员

Rank: 3Rank: 3

积分
318
发表于 2013-7-23 19:02:45 | 显示全部楼层
1级锁子甲护甲好像是17,刚好减免1/2伤害??
哈哈哈哈

2

主题

135

帖子

634

积分

高级会员

Rank: 4

积分
634
发表于 2013-7-23 20:35:47 | 显示全部楼层
你的防御每提升1点,对手要提升6%的攻击才能在同样的时间内杀死你。相当于你增加了6%的生命值。调整0.06这个系数,可以控制防御与其他属性的价值比例。

7

主题

371

帖子

2216

积分

金牌会员

Rank: 6Rank: 6

积分
2216
发表于 2013-7-23 20:42:52 | 显示全部楼层
生命值不变的情况下,加一点防御,能让你多活5秒。
加防御的成长性和加生命的成长性是一样的。

加攻击,加攻速,都是同样的成长性。

并不是复利计算的,复利计算收益会越来越高。

2

主题

167

帖子

670

积分

高级会员

Rank: 4

积分
670
发表于 2013-7-23 21:05:36 | 显示全部楼层
护甲*0.06/(护甲*0.06+1)  

意思是为 每提高1护甲 相当于HP提高6%  

比如说,你的HP为100,护甲为1, 当你承受106伤害时会被打死。
             当HP为100 ,护甲为2 ,你可承受   112伤害。

0

主题

114

帖子

753

积分

高级会员

Rank: 4

积分
753
发表于 2013-7-24 09:57:22 | 显示全部楼层
这种公式是以血量恒定,每点防御的有效生命值相等的目的去设计的
DEF*a/(DEF*a+b),每点防御带来的有效生命值增加=生命值*a/b

0

主题

8

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2013-7-24 16:56:09 | 显示全部楼层
首先要谈护甲减伤,先要知道一个另外的名词——生存能力,魔兽争霸的生存能力是这样的 生命*(护甲*系数+1)   以食尸鬼来说 生命为330,护甲为0,那么他的生存能力就是330
换一个兽人来说,生命为700,护甲为1   系数为0.06(具体查看魔兽争霸的地编)  那么他的生存能力就是700*(1*0.06+1)=742   在不考虑护甲类型和被攻击者的攻击类型的时候,兽人就是要比食尸鬼抗揍很多,这就是生存能力,至于护甲减伤,就要来计算具体的伤害了,也就是说,当你的护甲减伤为50%的时候,就是你的生存能力加倍了,用你加倍的生存能力,计算出你的护甲,也就是你需要的护甲点数

0

主题

8

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2013-7-24 16:58:20 | 显示全部楼层
本帖最后由 459587502 于 2013-7-24 17:05 编辑

X*0.06+1=2   我想X应该很好计算  X=16.666667  也就是说魔兽争霸里面,16.6666667的护甲才能达到护甲减伤50%的这个效果。而实际游戏现实的是17,是因为绝大多数的游戏都是计算数值的时候向上取整的


而何时 我们能达到完全减免呢? 这实际上是不可能的 。因为要造成0的伤害,需要的生存能力那就是无穷大,抛开生命的影响,或者说是我们考虑生命为1的情况下,1*(X*0.06+1)=无穷大,这时候,需要的护甲就是无穷大的一个数值。所以实际上是不会出现攻击打死0人的情况(绝对免疫除外),那么实际上我们是能看到攻击没掉血的情况的。这又涉及到一个问题,就是伤害的显示,只要伤害<1 的情况下,就可以向下取整了 如攻击为50,求此时需要多少防御 才能使收到的伤害<1,50/(1+X*0.06)  此时X=816.6667 护甲,显示为817护甲,就是说你需要817护甲才能让自己在50攻击的情况下受到<1的伤害


每小时只能发2个回复,所以还有什么说的都会在这补上

0

主题

7

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2013-7-25 11:36:34 | 显示全部楼层
值得思考,但是上限不是一个定值吧,需要设定护甲减伤的百分比吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-26 15:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表