游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8127|回复: 2

[原创] 乘法战斗公式分析研究:有关防御减伤率与随机变动

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2016-12-23 16:19:17 | 显示全部楼层 |阅读模式
QQ截图20161223161857.jpg

  文/徐明

  刚好在整理一些数值方面的东西,就乘法战斗公式这块我分享一下我整理的文章,仅供参考:

  最基本的公式:攻方伤害=攻方攻击力*系数

  系数包括且不限于以下几个方面的乘积:

  1. 防御减伤率:根据受击方的护甲/防御力而产生的一个减伤的系数

  a) 这个系数设计的基本思路有:

  i. 护甲越高,防御减伤率越高。

  ii. 护甲越高,所带来防御减伤率的边际收益越低。

  iii. 护甲值趋向于无限大的情况下,防御减伤率趋向于小于1的一个定值。

  b) 具体的一些思路/例子:

  i. 基本的反比例函数,构建一个满足上述条件的反比例函数。以DotA普攻为例,这个减 伤率=护甲*0.06/(1+护甲*0.06),在护甲值趋向于无穷大的情况下,减伤率趋向于1,由于游戏特性,这个值一般不会超高100,模拟出来的函数曲线是这样的:

v2-18273cc92ca0ebc013643fca55f58c48_b.png

  ii. 分段函数:对于数值比较大,不断引入新系统投放防御属性的游戏(页游/端游),单纯的一个函数便不能满足需求,这时候需要根据属性投放制定分阶段的防御减伤率函数。下面拿之前项目的公式举个栗子:

  阶段1:当0≤数值防御≤500时

  防御免伤率=1-1/(1+数值防御/4500)

  阶段2:当500<数值防御《7000时

  防御免伤率=1-1/(125/117+数值防御/11700)

  阶段3:当7000<数值防御《30000

  防御免伤率=1-1/(108/69+数值防御/69000)

  阶段4:当数值防御>30000

  防御御免伤率=0.5+0.1*((数值防御-30000)/30000/((数值防御-30000)/30000+1)

  模拟出来的曲线是这样的:

2.png

  2. 随机变动:为了增加战斗的随机性、观赏性抑或不稳定因素,或者是为了增加小属性的投放(数值言中的“挖坑”),往往会引入一些随机因素。主要的随机因素可能有以下一些:

  a) 随机数:纯粹的使得在特定的攻击者和攻击对象的情况下,多次伤害值在较小范围内浮动。产生这个随机数的常用做法有:

  i. 固定伤害值*单纯的在1左右随机,例如:Random(0.9~1.1),一般大数值的游戏常用这种做法。

  ii. 固定伤害值+数字数*骰子面数:DnD规则,后来魔兽争霸也沿用了这个设定,即为特定的单位定义骰子数,骰子面数,最终的值是抛掷骰子数次所得骰子面数的总和。例如使用3D9,即3个9面的骰子,攻击的浮动下限为3,上限为27。这种做法一般用在小数值的游戏里面。

  b) 暴击、格挡、破击、伤害加深/伤害减免等,这些系数的特点是有一个前提判定,如果判定成功,则一个系数生效:例如暴击成立,则伤害*2;格挡成立,则伤害*0.5;破击成立,则伤害*1.5;伤害加深,则伤害*(1+加深系数);受击方伤害减免,则伤害*(1-减免次数)。这些系数一般都是相乘的关系,对于判定的做法一般是这样的:

  • 计算公式为:产生概率 — 抵抗概率 = 理想概率
  • Random(1%—100%)得出实际概率
  • 实际概率 ≤ 理想概率,判定生效
  • 实际概率 > 理想概率,判定无效


  最后,

  • 如果随机数用的是随机系数的话,攻方伤害就是这样的:


  o攻方伤害=攻方攻击力*(1-防御免伤率)*随机数*暴击系数*格挡系数*破击系数*(1+攻方伤害加深)*(1-守方伤害减免)

  • 如果随机数用的是骰子的话,攻方的伤害就是这样的:


  o攻方伤害=攻方攻击力*(1-防御免伤率)*暴击系数*格挡系数*破击系数*(1+攻方伤害加深)*(1-守方伤害减免)+骰子数*骰子面数

  最后要说的是:做数值始于公式与拉表,但好的数值从来都不是表一拉就成了的。

  相关阅读游戏数值设定

0

主题

88

帖子

1488

积分

金牌会员

Rank: 6Rank: 6

积分
1488
发表于 2016-12-23 16:49:11 | 显示全部楼层
翻来覆去就这么点东西

1

主题

85

帖子

558

积分

高级会员

Rank: 4

积分
558
发表于 2016-12-26 10:03:24 | 显示全部楼层
赞,简洁明了,有收获!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-5 18:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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