如何让玩家打的“爽”?十分钟快速了解伤害计算常用公式

作者:李磊

发布时间:2020-08-21 17:20:46

现如今游戏策划的分工越来越细化,数值策划的主要职责就是进行数值的平衡和制定、游戏中各种公式的设计,以及整个经济系统的搭建、整个战斗系统的设计等。如果一个团队缺少了一个好的数值策划可能就会产生职业技能不够平衡,战斗节奏不够紧凑等等的问题,而腾讯游戏学院的专家可以针对这些问题提供一些解决方法和思路。

 

 

获得2018年创意大赛银奖的作品《元素地牢》是一款来自独立游戏团队Combo Travellers的roguelike手游,玩家可以使用不同的自然元素组成上百种魔法进行地牢探险。仅有5名研发成员去做这样一款创新型游戏本身就有一定难度,而团队在缺乏数值经验的情况下,有时就要凭借主观判断和频繁的实际验证来对技能的设计进行修改。在参赛后,来自腾讯游戏学院的数值专家李磊进行了专项指导,使得开发团队在之后的数值设计上明确了自己的设计方向,和整体的数值平衡体系,游戏的留存情况也有了明显提升。

 

01

控制战斗节奏和用户体验

 

最初在设计时,开发团队在测试时发现怪物生存时间太长,节奏会有些拖沓。但还不是很明确应该使用哪种方法来调整。甚至因为击杀时间太久,而盲目的设计新功能来辅助,非常浪费成本。在与专家的交流中,很快便认识了TTK(Time to kill)这一重要概念。

 

 

通过调整基础的技能DPS与怪物的血量,分析击杀时间,以此作为战斗节奏的基础。《元素地牢》团队最终将TTK的时间控制在7秒左右,以此在战斗中能保证一定的击杀快感,又有一定的策略性

 

02

权衡技能攻击力

 

在《元素地牢》中有着丰富的技能,不同的技能也有着各自的伤害计算方式,除开简单的单次伤害,还有各种类型的延迟伤害,DOT类型的伤害,伤害浮动范围,范围伤害,蓄力增强,高难度命中,法力消耗,施法难度等等伤害手段。因此,一张详细且基本能覆盖所有法术性能的数值计算表尤为重要。

 

 

专家为《元素地牢》开发团队设计了一张基础的技能伤害计算实例表。在梳理消化之后,团队也能根据自身需求,整理出一份符合设计需求的数值设计计算表。无论是对于初始的数值预设,还是将最终的数据导入,都提供了很大的帮助,大大的提高了工作效率。

 

那么很多人就会问了,到底在伤害计算的时候有没有什么便捷的方法和公式呢?这里也为大家分享专家李磊的一些经验。

 

03

伤害计算常用公式

 

专家李磊撰写的《平衡掌控者:游戏数值战斗设计》一书中提到,在伤害计算时有几种比较常见的公式,这里分别为大家列举分析。

 

1.伤害计算公式(减法):伤害=攻击-防御,减法公式非常容易看懂,关联系数也相对较少。虽然在减法公式体系中,攻防并不是看上去的那么等价,特别是防御属性大于等于攻击时,攻击几乎毫无作用。但这种公式的优点在于数值敏感性高,反馈明显,玩家每增加1点攻击,在不会出现不破防的情况下,伤害也会加1点,玩家会有所得即所见的感觉。

 

2.伤害计算公式(乘除法):主要分为两种,第一种是通过护甲计算出减免系数。伤害=攻击×(1-伤害减免),伤害减免百分比=护甲/(护甲+人物等级×K1+K2)。为什么会设置K1和K2这两个值呢?人物等级×K1其实是加入了一个随着等级成长对护甲转换伤害减免百分比的变相削弱(变相地让玩家追求更高等级的装备)。而K2的作用在于控制防御转换成伤害减免百分比的一个密度分布。目前运用此类型的游戏以《魔兽世界》为代表,这种游戏没有非常多的系统去提升玩家的属性,等级和装备是最关键的人物战斗能力提升点。

 

第二种是通过攻击和防御一起计算出伤害:伤害=攻击×攻击/(攻击+防御),而这个公式随着游戏的发展,目前比较流行的版本调整为:伤害=(攻击×参数1+参数2)/(攻击+防御×参数3+参数4)。这样设计可以通过4个参数形成多种不同的变化曲线,其可扩展能力是非常强的。

 

乘除法公式的两种思路终其根本反映了两个方向的设计,第一种是将防御换算为固定减免率,这样衡量属性价值会更容易计算。第二种则是强调游戏攻击属性的重要程度。

 

3.暴击伤害计算公式:暴击伤害=普通伤害×(1+伤害暴击系数+特殊效果系数)+暴击后附加伤害。前面计算的伤害为普通伤害,当我们暴击之后,要计算的是暴击伤害。暴击系数在早些年游戏中等于1,近些年的游戏慢慢演变为0.5,这样的目的可能是为了让玩家获得比之前更多的游戏暴击次数,但单次伤害降低,维持输出总量的平衡。特殊效果系数这里泛指技能、装备以及其他可能影响暴击伤害倍率的系数。暴击后附加伤害是暴击之后直接附加的伤害,这是无视防御的。如果你想计算防御,那就把这个影响加在之前计算伤害的公式中并额外说明。

 

4.其他公式:除了上述介绍的公式之外,还有一些独特的计算公式,比如格挡、招架、抵抗等。其实设计的原理都是相同的,可以用设计暴击和闪避的思路去思考。除此之外,还有一些特殊技能带来的自己独特的计算方式。比如《DotA》中有一位英雄的伤害计算方式如下:伤害=(我方智力-敌方智力)×8(根据技能等级有所提升)。又比如《英雄联盟》中的技能:伤害=175+对方英雄每少3.5生命值×1

 

 

我们之前的流程计算出的伤害公式都是简单的只面对攻防属性的基础公式模型。一般游戏在计算伤害的时候还会有两个系数,一个是伤害加成系数,一个是最终伤害减免系统。最终公式:最终伤害=伤害×(1+伤害加成系数)×(1-最终伤害减免系数)。诸如此类的公式不胜枚举,我们设计公式的最终目的都是为设计服务器,可以根据自己项目的具体情况来选择适合自己的公式原型然后去细化。

 

对于像《元素地牢》这样技能丰富的roguelike游戏来说,如何让技能更加丰富的同时又保证技能间的平衡和游戏的节奏是非常重要的。在解决了一些数值方面的问题之后,元素地牢的制作团队也表示,对于像他们这样缺少立项经验的独立团队来说,尽可能少走弯路,提高研发效率,减少可能遇到的各种风险,是非常重要的。而腾讯游戏学院的专家对于缺乏设计经验的他们来说,无疑是提供了最好的支持与帮助。