游戏数值策划 伤害公式选择

伤害公式的选择

这里讲的伤害公式,是和战斗公式存在一点差异的。战斗公式应该包含了造成伤害前的很多判断。
伤害公式通常可分为减法公式乘除法公式两大类。这里我们详细的讨论这两类公式的特点。然后在之后的工作过程中,根据需求选择最合适的战斗公式即可。

减法公式

伤害 = 攻击 -防御

减法公式是那么的清晰易懂。这里我们假设防御为10,看下伤害随攻击的变化。

伤害随攻击变化曲线

但存在一个大问题:当防御>攻击时,攻击毫无意义,极端情况下伤害变为0。这种设计会导致玩家过分堆积防御属性。也就是说防御属性和攻击属性严重的不等价。

早期游戏的解决方法简单粗暴,伤害最小值为1。想象一个场面,多名非R玩家围攻一个超R玩家时,不断产生的1的伤害飘字。不过如果你设计的就是一个以养鲸鱼用户为目的的游戏时未尝不是一种方式。这也是为什么国产页游多采取这种方式的原因。笑~

更进一步改进这个公式:先判断防御是否大于攻击的10%,如果大于则在1%~10%之间浮动,如果不大于则按照减法公式计算。这样就可以保证即使在不破防的前提下依然可以发挥1%~10%攻击力的效果。

上面这部分有很多小伙伴表示看不懂,这里我们以《梦幻西游》的物理伤害计算公式为例来解释。需要注意的是,实际《梦幻西游》的伤害公式还要考虑 修炼等级等一些其他的浮动参数。但这里为了方便理解无视了这些参数:
实际伤害 = 攻击力 - 防御力 + (攻击力*K1)

这里的参数K1作为1个调整系数,实际上就是给与攻击力一个保底值,假设这个参数是0.1,就表示在不破防的情况下依然可以打出10%攻击力的伤害。这在一定程度上保证了攻击力的效用。而K1可以在测试中根据实际情况进行调整。

这里再次提醒小伙伴们的是,公式的设计没有严格的标准答案,一定是按照具体的业务需求进行二次设计的。讲一些合适的参数加入到伤害计算公式中来满足游戏的需求也是数值策划最重要的工作内容之一
可以看出减法公式改进的方向都是针对于不破防的情况。
但是这里不要误会减法公式一无是处。减法公式实际上是我最喜欢的公式,因为数值敏感。设想一下你每增加1点攻击力,(在不会出现不破防前提下)伤害也会随之增加1点。这就是我在前文中说的属性的设计是明显的。
数值敏感性高,反馈明显,这也是很多策略游戏倾向减法公式的原因。

乘法公式

乘数法的公式有几种变种,这里我们主要解释两种。第一种是通过护甲计算出减免系数,第二种是通过攻击和防御一起计算出伤害。我们首先看一下第一种公式:
伤害 = 攻击 * (1-伤害减免百分比)
伤害减免百分比 = 防御/ (防御+人物等级* K1 + K2)
其中K1和K2是调整系数。这里我们按照K1=50,K2 = 200来查看伤害曲线如下图所示:

防御和减免百分比之间的关系

怎么理解这个曲线?随着防御力等比例提升,收益逐渐放缓。伤害减免百分比是无限接近于100%的。这就是为什么应用减法公式的游戏,玩家通常更关注防御力。而应用乘除法公式的游戏,玩家的注意力更多在攻击力上。
那么怎么理解K1和K2这两个参数?如果这两个参数均为0,那么伤害减免百分比就是100%。人物等级*K1实际上是使得人物等级(或者说角色成长)参与到计算公式中来,这实际上是对防御力转化为伤害减免百分比的变相削弱;而K2的作用则在于控制防御转换为伤害减免百分比的一个密度分布,这种在公式中留有控制参数的做法在数值设计工作中很常见。
这套伤害公式的应用以《魔兽世界》为代表。分析这款游戏为何使用这样的伤害公式,结合我们说的伤害公式的特点分析:魔兽世界中并没有非常多的人物战斗能力提升点(就是我们通常说的成长系统),等级和装备是最关键的战斗能力提升点。设计人员不希望游戏中出现所谓的"超级玩家"。魔兽世界希望玩家之间的属性相对公平,不会产生大差距。这里也再次说明了我的观点:采用什么样的伤害公式,要看游戏整体是怎样设计的,想要达到怎样的设计目的。

除法公式

除法公式是在乘法公式的基础上进化得来的。
伤害 = 攻击 * 攻击/(攻击 + 防御)
这里我们依然看一下这个公式的伤害曲线,假设防御力是100保持不变。伤害随着攻击的提升:

伤害随攻击变化曲线

有意思的是,当我们将其和减法公式对比时发现。此公式很好的解决了减法公式很头疼的防御>攻击的情况,并且在攻击力提高时逐渐趋近于减法公式的效果。不过这个公式还是有改良的地方,正如我们上文中所说,我们可以通过加入参数的方式来让这个攻势更灵活。这里就不多说了,读者朋友们可以根据业务需求自行改进。

属性价值

各种属性就好像各国货币一般,要衡量货币的价值,就要找到货币之间的“汇率”。
攻击能力可以抽象为每秒钟造成的伤害数值,简称秒伤DPS;
生存能力则可以抽象成提供多少有效生命值EHP(这里要注意有效生命值和我们通常所说的生命值是有区别的。)
而攻击能力和生存能力的平衡,就是通过我们预期的战斗时长(回合制游戏中的回合次数)T:

EHP = DPS * T

但随着游戏时间推移,属性也在不停成长。但战斗时长实际上是不会发生改变的(或者说不会有大的改变,不会出现1级时打怪需要10秒,60级时打怪需要10分钟的情况)因此,在任何一个时期,都可以说EHP和DPS的对应关系时保持不变的。这是属性价值评定的基础。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页