当前位置: 华文问答 > 游戏

10%闪避率和10%减伤哪个实战里更强?

2022-06-05游戏

聊一下游戏。

为了避免歧义,我们先定义闪避率和减伤,按最大众化的理解:

10%闪避率=受到伤害时有10%的概率完全规避这次伤害

10%减伤=受到的所有伤害降低10%

结论1:理想模型下,相同初始条件时,两个属性价值相同。

我们先建立最简单的理想模型:

  1. 只考虑有HP(生命值)与ATK(攻击力)两种属性
  2. 每受到一次攻击,被攻击方的HP会减少,即受到伤害,伤害值=攻击方的ATK
  3. 当被攻击方的HP=0时,被击败

在讨论下一步之前,我们还需要引入一个EHP(有效生命)的概念:

EHP=HP归零时累计受到的减免前伤害值(不考虑溢出伤害,就是说刚好受到那么多伤害就死了)

EHP的意义是表示实际击败一个单位需要付出的代价,换句话说也就是,有多抗打。

有了EHP的概念,我们就可以定义怎么叫做『更强』。

与生存相关的一切属性,我们都可以换算成为EHP,闪避率和减伤率也不例外。 如果某个属性能够提升更多的EHP,那我们就可以认为这种属性更强。

首先我们看减伤率与EHP的关系可以表示为:

EHP=HP/(1-减伤率)

当减伤率=0时,EHP=HP,也就是我们上面建立的理想模型。

当减伤率提升时,EHP也随之提升,趋势曲线大致如下:

当减伤率=1时,意味着该角色无敌,EHP无限

从这条曲线可以看到,每提升1%的减伤率,获得的EHP提升是不同的。 初始减伤率越高,提升减伤率的收益就越高

然后我们看闪避率,其实从EHP的角度来说,闪避率与减伤率的计算方式完全一致:

EHP=HP/(1-闪避率)

当闪避率=0时,EHP=HP,回归理想模型。

当闪避率提升时,EHP的提升曲线与减伤率相同:

当闪避率=1时,意味着该角色不可被击中,EHP无限

因此,如果我们考虑一个理想模型下的角色,只有HP没有其他属性,那么此时给他10%的减伤率和10%的闪避率,在EHP上的提升都是相同的。

结论2:大部分情况下,我们更偏好稳定的属性,减伤率更加珍贵。

玩过魔兽世界里坦克的玩家都知道,如果堆血甲可行,那就一定不要去堆闪避。为什么?因为就算你闪避50%,被BOSS一刀打到脸那就等于0,拼脸的事情,大家都不喜欢,除非你觉得自己可以一辈子都投色子出6点。

这就是一个很自然的人性,如果两个东西拥有相同的价值,大部分人会更偏好稳定,大起大落不是每个人都能接受。

减伤率就是一个完全确定的属性,减少多少伤害,白纸黑字,你可以完全估计出来。

闪避率就是一个波动的属性,减少多少伤害取决于概率,而概率这种东西,有时会让你怀疑人生。

但其实某些情况,玩家会更喜欢闪避率这种波动的属性,一个典型的场景就是以小博大。

当对手的攻击属性远超你的防御属性的时候,比如你只有100血而对手有1000攻击力,这时候减伤率的部分提升已经变得完全无用,如果想要取胜,那就只有搏一搏,期待能够闪避掉对手的攻击,从而争取到更多的机会击败对手。

当确定的事情已经是bad ending,那就只有搏一搏,单车变摩托。

结论3:实际游戏设计中,百分比属性的投放都比较谨慎,一般会做一次换算。

实际设计游戏属性的时候,直接投放10%的闪避率和减伤率都是很离谱的,因为他们是非线性的。

原因就像在结论1里的那两幅图,如果一个玩家初始减伤率已经有85%,那你再给他投放10%的减伤,EHP都得飙到天上,一个人打几十个不是梦。而如果他没有初始减伤率,那这10%的减伤就不疼不痒,聊胜于无。

理想情况,我们会希望投放属性对能力的提升是线性的,这样无论玩家的初始属性如何,每提升一点属性,产生的价值都是一致的。

拿减伤率来举例子,我们实际投放的减伤率,会通过一个叫做『护甲』(Def)的中间属性来实现,而一般护甲与减伤率的换算关系如下:

减伤率=Def/(M*Def+N)

其中M和N是常数,我们把这个减伤率带入结论1的EHP公式里,可得:

EHP=HP/(1-减伤率)=HP/(1-(Def/(M*Def+N)

为了方便计算,我们令M=N=1,则可得到:

EHP=HP(1+Def)

假设HP=100,护甲-EHP的提升曲线可以表示为:

此时可以看到,这是一个简单的线性关系,每提升一点护甲,EHP的提升都是恒定的,不依赖于玩家的初始护甲是多少。这样价值恒定的属性投放,就可以有效避免很多问题。

同理,你现在也很少见到百分比闪避率/暴击率的投放,一般都会换算成闪避/暴击等级,这样即使游戏后期属性投放再多,它们的价值也是恒定的,不会发生越过某个节点价值跃升的设计缺陷。

最后聊聊所谓的属性性价比

在游戏里,资源是有限的,属性应该怎么堆性价比才最高?这是很多数值游戏里一个永恒的话题,也是玩家乐此不疲讨论的点。

还是以这个闪避和减伤的属性为例,假设我们投放的是闪避等级和护甲,他们对EHP的提升曲线完全相同,那是不是可以说不管怎么堆叠,性价比都是一样的?

我们还是回到EHP来,当考虑闪避和减伤两个属性后,公式可以写作:

EHP=HP*1/(1-闪避率)*1/(1-减伤率)

按结论3中的简化公式:

闪避率=闪避等级/(1+闪避等级)

减伤率=护甲/(1+护甲)

带入后可得:

EHP=HP*(1+护甲)*(1+闪避等级)

此时,在HP一定的前提下,EHP就相当于以护甲和闪避等级为边围成的矩形的面积。我们都知道边长一定的前提下,正方形的面积最大,因此此时合理的堆叠方式,就是让护甲和闪避等级尽量相等。

这就是我们在聊『性价比』的时候,的一种最简单的设计策略。

实际情况属性会更多,参数价值也各不一致,但从设计意图上,我们需要让每一种属性都有具体的价值。

平衡堆叠多种属性,在不同的时期选择堆叠不同的属性,发掘有限资源下提升最大的属性堆叠方式,才能有游戏的乐趣。