最基本的公式:攻方伤害=攻方攻击力*系数 系数包括且不限于以下几个方面的乘积: 1. 防御减伤率:根据受击方的护甲/防御力而产生的一个减伤的系数 a) 这个系数设计的基本思路有: i. 护甲越高,防御减伤率越高。 ii. 护甲越高,所带来防御减伤率的边际收益越低。 iii. 护甲值趋向于无限大的情况下,防御减伤率趋向于小于1的一个定值。 b) 具体的一些思路/例子: i. 基本的反比例函数,构建一个满足上述条件的反比例函数。以DotA普攻为例,这个减 伤率=护甲*0.06/(1+护甲*0.06),在护甲值趋向于无穷大的情况下,减伤率趋向于1,由于游戏特性,这个值一般不会超高100,模拟出来的函数曲线是这样的:
1 小时前 上传 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) 模拟出来的曲线是这样的:
1 小时前 上传 2. 随机变动:为了增加战斗的随机性、观赏性抑或不稳定因素,或者是为了增加小属性的投放(数值言中的“挖坑”),往往会引入一些随机因素。主要的随机因素可能有以下一些: a) 随机数:纯粹的使得在特定的攻击者和攻击对象的情况下,多次伤害值在较小范围内浮动。产生这个随机数的常用做法有: i. 固定伤害值*单纯的在1左右随机,例如:Random(0.9~1.1),一般大数值的游戏常用这种做法。 ii. 固定伤害值+数字数*骰子面数:DnD规则,后来魔兽争霸也沿用了这个设定,即为特定的单位定义骰子数,骰子面数,最终的值是抛掷骰子数次所得骰子面数的总和。例如使用3D9,即3个9面的骰子,攻击的浮动下限为3,上限为27。这种做法一般用在小数值的游戏里面。 b) 暴击、格挡、破击、伤害加深/伤害减免等,这些系数的特点是有一个前提判定,如果判定成功,则一个系数生效:例如暴击成立,则伤害*2;格挡成立,则伤害*0.5;破击成立,则伤害*1.5;伤害加深,则伤害*(1+加深系数);受击方伤害减免,则伤害*(1-减免次数)。这些系数一般都是相乘的关系,对于判定的做法一般是这样的:
最后,
o攻方伤害=攻方攻击力*(1-防御免伤率)*随机数*暴击系数*格挡系数*破击系数*(1+攻方伤害加深)*(1-守方伤害减免)
o攻方伤害=攻方攻击力*(1-防御免伤率)*暴击系数*格挡系数*破击系数*(1+攻方伤害加深)*(1-守方伤害减免)+骰子数*骰子面数 最后要说的是:做数值始于公式与拉表,但好的数值从来都不是表一拉就成了的。 相关阅读: |
九四玩·北京开源纵横网络科技有限公司 京ICP备15000695号-3
京公网安备11011202100741 京网文(2018)9972-889号 增值电信业务经营许可证:京B2-20190580
旗下产品:手游平台系统、页游平台系统、H5游戏平台系统、游戏平台三合一版。九四玩致力于游戏平台系统开发、游戏代理、游戏运营指导等服务。
合作&投诉电话:010-85898922、4008699305