加入收藏 | 设为首页 | 会员中心 | 我要投稿 D游戏网 (https://www.dyouxi.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 游戏资讯 > 国外资讯 > 正文

谈谈战斗力【二】——暴击、穿透与减法公式

发布时间:2020-03-09 20:07:53 所属栏目:国外资讯 来源:新浪游戏
导读:副标题#e# 导语:这次主要接着上一篇文章继续往后谈,涉及暴击、穿透、乘法公式下的防御和减法公式的问题。 下一篇的话,打算试着引入MP和魔法攻击这种。我也不知道自己到底会在哪一步彻底把问题变成我解决不了的程度,姑且现在先往前推动一些吧。 暴击 即

导语:注意到在HADa体系里,一开始的假设即默认“防御低于所受攻击,即攻击必定产生伤害”。在仅有防御的前提下这一问题还不算太突出,因为仅有防御一个限制,在设计时就可以尽量压缩防御值的大小避免这种情况——然而当

  注意到在HADa体系里,一开始的假设即默认“防御低于所受攻击,即攻击必定产生伤害”。在仅有防御的前提下这一问题还不算太突出,因为仅有防御一个限制,在设计时就可以尽量压缩防御值的大小避免这种情况——然而当引入穿透后,事情乱套了:

  如果角色A拥有5点防御,但B拥有10点穿透和10点攻击,按照上面的公式,伤害似乎应该为:

谈谈战斗力【二】——暴击、穿透与减法公式

  然而实际上,10点穿透打在5点防御上,意味着这10点穿透中有5点是溢出的。换言之,实际上的伤害应该为:

谈谈战斗力【二】——暴击、穿透与减法公式

  这便是问题的根源了。

  当然看到这里,这时候有人一定会觉得“那就把穿透也设置得更小,避免这种溢出的情况就可以了嘛”。然而防御值上限已经被压缩的情况下,继续压缩穿透值上限,穿透对玩家的提升就实在太小了。另外还有一个问题——穿透值有溢出的可能而攻击力没有,同样提升的前提下(穿透或攻击增加一点,在不溢出的情况下反映到伤害上都是增加一点伤害),为什么我要去提升穿透呢?直接攻击一路碾过去岂不是更简单粗暴?

  这种情况下,穿透就处在了一个很尴尬的位置,相当鸡肋没有什么重要性,但凭空多的这个数值又会分散玩家的注意力,且投入很可能没有收益(比如穿透数值已经比其他角色的防御高的情况下,再投入穿透并不会增加玩家在实际战斗中的优势),而玩家加点尝试发现穿透的问题后,大概率又要回头来喷策划……

  这便是减法公式和乘法公式的根本问题了……

  当然,这个我会放在下一小节讨论,这里还是先给出考虑穿透情况下的公式:

谈谈战斗力【二】——暴击、穿透与减法公式

  减法、乘法与除法公式,以及乘法公式下的防御

  简而言之,两者最主要的差别在于:

  减法公式很容易产生负数,而乘法公式的本质确保了负数很难出现。

  原因很简单——诸如伤害计算,防御判定等内容如果用减法公式做,就必然会涉及减法,而初中数学已经告诉我们,两个正数相减,结果可以是正,也可以是负。

  负数是一个很烦人的东西。仍然以防御为例——角色A攻击50,角色B防御60,假如我们在一开始的伤害部分偷懒没考虑到溢出的情况,战斗的结果就会变得匪夷所思——A打B,B不仅毫发无伤,随着A的攻击反而一点点奶回来了。这种情况下该怎么写一个稳定的计算公式?毕竟公式不是代码,不可能套几个if或者switch就扔那里不管了。这也是为什么一些策划对减法公式避之不及的原因。

  而假如我们把防御变成“抵消20%的伤害”,A攻击B,伤害则变成了40。如果A的攻击变成了5,依然能造成4点伤害。无论A的攻击有多低,其攻击力也必定大于0。原因就在于两个正数相乘结果必然为正。乘法公式正是靠着这个特性规避了负数的出现。

  另有一种公式,也是我刚才闲着无聊谷歌翻出来的——除法公式,最简单的形式下,它定义伤害为:

谈谈战斗力【二】——暴击、穿透与减法公式

  此时战斗力公式为:

谈谈战斗力【二】——暴击、穿透与减法公式

(编辑:D游戏网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读