Project1

标题: 设计伤害公式 [打印本页]

作者: 疯狂异形    时间: 2012-5-13 11:24
标题: 设计伤害公式
我们知道RMVA是允许自己设计伤害公式的。
那么这里就是大家集思广益该如何设计伤害公式的帖子了,欢迎发表言论。
我一直认为免费游戏界应该有更多的分享,因为长程目标是业界公司;扯远了……

发布格式:{公式}+【公式的意义、理由】

好,那么我先来发一个。
{伤害=(我方的攻击力*我方的攻击力)/(敌方的防御力*敌方的防御力)*攻击力}
【这个公式的意义是将双方的攻击力、防御力翻倍,然后调查其中的差值,并且乘以攻击力;
  1.你的攻击力高于或低于敌人:此时你们之间的差会翻倍,并且将两者相差的比例乘以攻击力,那么最后的结果就会变成——如果攻防相差2倍,那么最后的伤害就会产生四倍差值,也就是*25%或者*400%,该公式使攻防差异成为一个非常重要的因素,合理运用BUFF会造成有效打击。
  2.平衡的方法可以推简单期望值,然后考虑BUFF和任何数值降低的可能性,和普遍的数值差异。最后形成相关数据体系。】
作者: 迷糊的安安    时间: 2012-5-13 11:30
数学苦手顶锅盖滚过…… 我都担心我的游戏战斗平衡性会出问题……
作者: 判约之轮    时间: 2012-5-13 11:36
{伤害=((我方攻击力*我方MP上限)-(敌方防御力*敌方MP上限))*((我方速度-敌方速度)%+100%)}
【这个公式用于纯能量伤害的场合
1.我觉得现在的防御分类方法有点蛋疼?物理防御能力优秀不代表能量防御能力优秀,对于一般的武侠文化来说,个人认为是由内力决定气劲防御能力的,那么引申到游戏里就是MP,所以才加入了乘以双方MP上限。
2.无论是近战还是远战,很高的速度都有利于避开致命伤害,就算躲不过,也可以用非致命部位抵挡必杀的一击以降低伤害。
3.平衡很简单,只要适当调节最后的百分比值就好了。
4.这样虽然可能反而为敌人加血,但是不是么?一只蚂蚁用腿来踢人类只是挠痒痒令人更舒服而已~】
作者: 疯狂异形    时间: 2012-5-13 11:40
本帖最后由 疯狂异形 于 2012-5-13 03:40 编辑

对了!忘记说RMVA能做到什么了。

首先公式分三层
1.对象:{对敌人的,对己方的}
2.变量:某个变量,你可以设计怒气值、困倦值,喜爱值、空气气味、钱袋里有多少钱、银行欠款多少等等
3.既定变量:已经存在的变量:{当前HP、当前MP、总HP、总MP、幸运L(异常状态免疫力)、攻击力A、防御力D、智力或魔法伤害Z、意志或魔法防御Y、速度或回合行动力S、当前等级LV}
作者: shalicheng2    时间: 2012-5-13 13:08
设定几个天气变量,暴雨天代入水200,夜晚代入暗200

于是水系技能最终伤害*(水变量/100)
火系技能最终伤害/(水变量/100)


然后再来个防御计算公式

最终伤害*(200/(200 防御力))

这个公式效果在于不会出现0伤,防御力转化为按抵抗比率算,防御力越高效率越低
作者: 黑化の鼠标    时间: 2012-5-13 15:56
本帖最后由 黑化の鼠标 于 2012-5-13 15:56 编辑

继续扯到变量的话真的会公式遍地吧.....
例如水系技能如果有“天气”这种设定甚至得弄个变量“空气湿度”(0.5,1,1.5,2,3)等数量较小的值,
变量“温度”(0.5,1,1.5,2,3)
然后就

【固定数值(这个有没有还是得看你到底想不想弄成至少能打去1点血了)+魔力*空气湿度/温度—魔力*(敌方魔法防御/(敌方魔法防御+100,或者更大一些,具体看基础值多少)

这样最悲催的结果就是“打不去血啊!!!!”的这种悲剧,嘛,其实就显示来讲气温高了空气水蒸气会很多,凝结了又蒸腾,最后的结果......好吧,看设定的魔法的逆天程度了
以上公式只是即兴创作,也许很悲剧也说不定
作者: 越前リョーマ    时间: 2012-5-13 16:00
复杂的东西思考不能……我只会去指定一个很简单的公式而已
作者: shalicheng2    时间: 2012-5-13 16:41
其实扩展开来就和脚本有关了,比如人物属性扩展,扩展得属性直接代入某变量…然后就是各种可能性…

比如装备耐久度对攻防的影响…最终伤害x耐久度百分比

比如安安那个破旧的锅盖,如果不去找福格斯修理的话防御力就会低下
作者: Eienshinken    时间: 2012-5-13 17:00
人物攻击-人物防御 或者人物攻击-任人物防御/2
一直遵循最简单的原则
作者: 禾西    时间: 2012-5-13 19:26
攻击×buff% - 防御×buff%
原因?
不會產生天文數字。
作者: 天使喝可乐    时间: 2012-5-13 19:41
伤害={我方的攻击力*(增益状态%-减益状态%+1)*(卡片修正+1)*(技能修正+1)*(地形/气候/阵型/士气/心情/风向修正+1)/敌方的防御力*(1/作用距离)}*属性修正*天赋修正+最终伤害加成
作者: feizhaodan    时间: 2012-5-13 19:55
攻击-防御/2
或者是
攻击*2-防御
就看你哪个属性比较高了。简单点好调整平衡。
作者: tommay    时间: 2012-5-13 22:21
个人觉得吧,重要的不是伤害计算公式如何,只要敌我双方采取相同的伤害计算公式,就满足公平的原则了。
重要的是,如何调整敌我双方的攻击力、防御力等等数值使得玩家在玩游戏时,既不容易被秒,也不觉得太容易。
这就类似于一场比赛,实现制定好一个规则,双方遵守这个规则,这就是个“公平”的游戏。
当对战双方差别过大时,游戏自然失去了乐趣。如果一方长时间处于垄断地位,就有必要修改规则了。
作者: asperta    时间: 2012-5-14 00:15
攻击 + rand(攻击 + 1) - 防御
并指定最低伤害系数为1,除非Miss
既简单随机性又强。。。。。。
作者: 乱糟糟    时间: 2012-5-14 00:39
伤害=[系数A*属性修正*暴击修正*攻击力*Exp-(系数B*防御力)].ceil
类似于魔兽中的护甲概念,防御力用来抵消攻击力的百分比。用幂函数是因为学数学的孩子看着习惯。。。。
作者: jezad    时间: 2012-5-14 09:30
本帖最后由 jezad 于 2012-5-18 00:29 编辑

攻击力* (a.mmp + a.mp)/a.mmp * (100 + a.tp)/100 MP类似气力 TP就是怒气 按百分比加成 防御方面我还没想好……

a.atk*(a.mmp + a.mp)/100*(100+a.tp)/100-b.def*(b.mmp + b.mp)/100*(1+b.tp)/100 我现在写成这样了 类似力气越是消耗 攻就越高防越低 但怒气高的话防也升高类似底力
作者: gonglinyuan    时间: 2012-5-19 15:58
【技能威力】*【己方攻击力】/【敌方防御力】
至于普通攻击,技能威力可以设定为一个较小值
如果己方攻击力与敌方防御力差不多,那么伤害就近似于技能威力。这样便于把握伤害

作者: fxwd    时间: 2012-6-4 13:19
注:HP=兵力
公式:我方兵力*0.1+我方攻击*1-敌方兵力*0.05-敌方防御*1
作者: 小传子    时间: 2012-6-4 16:37
XP.VX ACE都可以自订公式,都挺麻烦
作者: 明特·布兰马修    时间: 2012-6-4 17:35
苦手与数学
默认计算公式都不懂的某人路过
作者: 九夜神尊    时间: 2012-6-7 18:09
啊!
乱写公式是自杀行为(调平衡的时候会感悟的)

首先就是要把命中控制好。老以前我设计命中就是直接用比较敏捷直接加成命中。这是最垃圾的命中设定苦的我啊,但是我调平衡了。其实就是1点敏捷1点命中。
多久不做游戏了,但是建议的一点,技能什么的不要用伤害加成,最好用伤害加值。
意思就是,
不要用类似 攻击力 * 120% - 防御力
要用  攻击力 + 20 - 防御力
用非常简朴的原因解释。这是为了设计出来那种防御特别高的敌人。那种敌人你总能打掉几滴血,但很难给予高伤
以前我喜欢用比例,有的技能居然加到了300%攻击。这样看起来3倍攻击似乎不是很天文。
但是比方说我有1000攻击,敌方防御 900
平时攻击,我能打100,用上技能,能打2100,这样你设计得那个防高的怪物就让你哪都疼(蛋疼的强化版)
所以,有技能既要增加伤害,又不能出现这种效果。所以最好是直接加个值。
但是为什么不建议多倍伤害的伤害公式呢,
比如说 伤害*200% 的技能
这种公式如果遇到那种防高的敌人,本来能打1,技能能打2于是技能效果一点也体现不出来。

设计各种伤害公式,首先就是要注意的是设计那种防御较高的敌人,并且求平衡。
所以 攻击 + 技能威力 - 防御力。不二的选择。
关于 状态呀 ,天气呀,都最好是直接加值。
关于命中嘛。
我方命中/(我方命中+敌方躲闪)+ 修正值
看公式不懂的话,
比方说我方命中160 敌方躲闪 40 ,那么就有 80%几率命中 20%躲避 ,还要算上修正值。

最后说,按照这样设计公式,少有人调不好的平衡
作者: 疯狂异形    时间: 2012-6-7 22:13
本帖最后由 疯狂异形 于 2012-6-13 03:38 编辑
九夜神尊 发表于 2012-6-7 10:09
啊!
乱写公式是自杀行为(调平衡的时候会感悟的)


是的,我看了最近的很多游戏数值,WC3就用的百分比,这个东西真的不是一个人能折腾出来的。
……各种难。


‘‘──疯狂异形于2012-6-13 03:38补充以下内容:

直接加值不得不说有属于自己的局限性……
当然了,这是从不同角度来说的。

首先是暴击的问题,暴击时攻击3倍。
这个完蛋了,补数字没办法。

除非用变量V*K,或者同DOTA的做法,每级跟上一定数值。但这这……倍数和加数两者之间的差距到底怎么补啊?
……看吧,局限性来了
’’

作者: caihuax    时间: 2012-7-22 22:57
难道没人记得FF系列吗?我简单参考了一下FF4的公式
伤害=(攻击力+rand(攻击力/2))*攻击回数-防御力*防御回数




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1