【帝国数学理论·第一弹】威力值——加攻加血哪个强?
本帖最后由 这只话唠菜鹰是路人 于 2016-11-22 00:43 编辑首先感谢白鹤妹子 @阳明白鹤 提供的数学模型。
本文含有较多有关数学的内容,所以 @W.claudius 先复习再看。
OK,进入正题!
相信大家在设计战役的时候通常会有这样的情况,那就是为玩家提供多种属性加成的选择,让玩家根据自身喜好和具体情况来对主角或军队进行相应的属性提升。最普遍的,莫过于在加攻击和加血上限之间的选择了。为了使这种选择产生意义,设计者就必须考虑在这两者之间取得一个平衡,避免让其一收益过高导致另一个失去存在意义。那么,多少攻增相对应于多少血增才是平衡的呢?或者说,具有相同价值的攻增与血增之比是多少?这就是本文所要探讨的问题。 这个问题相当复杂,在不同情况下会有不同的答案,我们不妨先从最简单的情况入手。
假设两个剑士A和B在平地上单挑,护甲都是0,攻速都是1次/秒,没有高低加成,没有兵种相克,唯一的区别是血量和攻击力不同,那么,谁会获胜?
设剑士A的血量为X,攻击力为a,剑士B的血量为Y,攻击力为b,单挑持续时间为t秒(直到一方死掉),那么: 由于攻速均为1次/秒,所以剑士A在t秒内造成的伤害为at,剑士B在t秒内造成的伤害为bt,则: 假设A获胜,则: A要在t秒内干掉b,就必须有:at≥Y 而B在t秒内无法干掉A,就必须有:bt<X 联立不等式,可得: X/b>t≥Y/a 把没用的t去掉,最后可得: aX>bY 由此可见,谁能获胜,实际上取决于攻击力与血量的乘积。我们不妨把这一乘积称为“威力值”,@weiliqiang 用W表示,即W=aX 在其他属性一样时,单挑的胜负只取决于单位的“威力值”大小,也就是说,一个单位的“威力值”越大,他在面对单个敌人时的胜算也越大。 现在我们再回到一开始的问题:血增与攻增的价值。在这里我们不妨把这个“价值”直接定义成“威力值”的增加。那么,血增与攻增对“威力值”的影响是怎样的呢? 还是那个X血a攻的剑士A,他干掉B之后,系统给了他一次选择奖励的机会,一个选择是加Δa的攻击力,另一个选择是加ΔX的生命上限。玩家甲选择了前者,玩家乙选择了后者,我们来看看选择后二者的威力值变化。 先是玩家甲的剑士: W1=(a+Δa)X 然后是玩家乙的剑士: W2=a(X+ΔX) 那么,在Δa和ΔX分别是多少的时候,变化后的威力值仍相等,即两种选择的“价值”一样? 令W1=W2,则: (a+Δa)X= a(X+ΔX) 化简后得: Δa/ΔX=a/X 多么完美的式子! 它说明了什么?它说明了,具有相同价值的攻增与血增比,恰恰等于单位当前的攻击力与血量之比! 比如,一个攻击力为10,血量为100的剑士,他增加1点攻击力,其价值就相当于加了10点生命值;而一个攻击力为10,血量为1的剑士,他增加10点攻击力,才有增加1点生命值的价值。一般地,对于一个生命值为X,攻击力为a的单位,他增加1点攻击力的价值,就等同于加X/a点生命值。 或者,还有更一般的说法: 若以百分比来表示增量,则攻增与血增价值相同。 什么意思呢?举个例子,一个单位增加了5%的攻击力,其价值就等同于加了5%的生命值。 当然,以上结论均是建立在剑士公平单挑的模型上。而帝国的真实情况比这复杂的多,包括其他属性的影响、各种加成、远程兵种的特性、1vn乃至nvn的情况等,关于这些白鹤妹子正在建立相应的数学模型,我们拭目以待吧。 希望本文的结论能给各战役制作者提供一定的参考。
不能这么算
先说一下最后一个式子HP=1 AT=10 +10AT不见的=+1HP假设2个1HP剑士打架你给他+1000AT也不见得必胜对方。
这个原理必须建立在攻速相同,无加成,无迟钝的状态下成立,不过个人觉得这些因素的误差有的不是很大,但是有的就差的很大,比如骑士主角遇XX这样的情况等。 悠悠闲闲吃桔子ing。。。 枫叶の飘零 发表于 2014-2-24 21:05
不能这么算
先说一下最后一个式子HP=1 AT=10 +10AT不见的=+1HP假设2个1HP剑士打架你给他+1000AT也不见得必 ...
我都说了是在“假设两个剑士A和B在平地上单挑,护甲都是0,攻速都是1次/秒,没有高低加成,没有兵种相克,唯一的区别是血量和攻击力不同”这种情况下啦 Howerds 发表于 2014-2-24 21:09
我都说了是在“假设两个剑士A和B在平地上单挑,护甲都是0,攻速都是1次/秒,没有高低加成,没有兵种相克 ...
字太小,但是就算是这样最后一个式子也不合理,应该在这个贴上加一句仅限单挑 阳明白鹤 发表于 2014-2-24 21:05
悠悠闲闲吃桔子ing。。。
。。。你那些什么金字塔牛吃草统计学概率论呢? 看了一下
大概知道你的意思
感覺你數學應該不錯~~還會特地去計算公式
就算完全去除護甲.地形.兵種相剋...等等
只是先決條件是攻速一樣 才能夠忽略t 也就是時間(攻擊1次所需要的時間)
文章中你所謂的"威力值" 也就是把兩個兵種的攻擊1次的時間 設定一樣 才能成立
但實際上應該會有t1 t2 (兵種不同)
總之是很複雜的
我的想法是與其去計算這些東西
倒不如先去設定一個大概的數值
之後再慢慢去修改 至於要達到完全的平衡應該是不可能的
神乎棋技 发表于 2014-2-24 21:15
看了一下
大概知道你的意思
感覺你數學應該不錯~~還會特地去計算公式
你说的对,这很复杂
但是,“去设定一个大概的数值”,这个“大概”是多少?总不能凭空乱设吧~
我就是在告诉你“大概”是多少,当然测试是必要的 Howerds 发表于 2014-2-24 21:17
你说的对,这很复杂
但是,“去设定一个大概的数值”,这个“大概”是多少?总不能凭空乱设吧~
(嘻嘻)直接回复他,这不需要什么“数学很好”,只要不是蠢蛋就行咯。{:385:} 阳明白鹤 发表于 2014-2-24 21:20
(嘻嘻)直接回复他,这不需要什么“数学很好”,只要不是蠢蛋就行咯。
理解这个模型简单,但建立这个模型了不起{:155:} 完全看不懂 Howerds 发表于 2014-2-24 21:25
理解这个模型简单,但建立这个模型了不起
好了啦。你的战役什么时候做完? 阳明白鹤 发表于 2014-2-24 21:34
好了啦。你的战役什么时候做完?
{:146:}每次被问到这个问题就一阵心虚啊、、、
目前正在努力中,还有两大关的说~~~ 顶一个= = 哎..首先说研究的很不错
别人该说的都说了
我画龙点睛一下,
建立在剑士公平单挑的模型上
所谓的威力值不能说明一切
比如
A攻击10血5,B攻击6血10
B并不比A更厉害
一定要注意有一个数值,那就是'溢出值'(一般来说是指某些无法处理的情况,这种情况的值是-1.但是这里就是指溢出的数值)
很多人打游戏,比如一个RPG,当敌人还剩下最后一丝血时,你会选择普通攻击而不是技能攻击
因为技能攻击会造成更多的溢出值,这些不会改变你的奖励,不如普通攻击减少消耗
所以威力值是难以说明一切的
至于所谓的对打,这也是无法满足的一点
无论如何,哪怕是时间完全一样,玩家1的士兵还是会先一步杀死玩家2
只因为你的玩家1的代码在玩家2的上面,系统优先读取.
当然没有这种时间完全一样.如果你放置两个士兵让他们自动开打,玩家1还是会先造成伤害,
原理一样,优先读取.
另外,如果增加攻血的比例真的和当前的比例一样的话,也不会出现那么多的分配问题了.
抛开别的不说,复杂化是人类的一种思维,越是复杂的数值,越能体现出人和人之间的差距.
所以,不建议你就把属性分配搞的很平衡,
非常典型的,大多数BOSS血都很厚,为什么?因为BOSS没有人的智能!
而另一方面,有很多的游戏,职业之间都是不公平的
这些不公平你不会感觉到,只有开发商知道
因为开发商需要不公平!只有不公平才能让玩家努力的去争取公平.
CF是个很好的例子.
很多CFer想要大显身手,可是敌人往往拥有更好的武器,更酷的外形!
那怎么办?大多数人都选择去买枪充值.变得更强
如果你的战役能做到这一点(现在打联机场景的还是很少啊!而且帝国不是这种类型,所以要另选方案)
那么肯定大家不断的去挑战! 枫叶の飘零 发表于 2014-2-24 21:05
不能这么算
先说一下最后一个式子HP=1 AT=10 +10AT不见的=+1HP假设2个1HP剑士打架你给他+1000AT也不见得必 ...
。。。已经说了攻速一样,和忽略其他好吧。。。 ImTomsony 发表于 2014-2-24 22:21
。。。已经说了攻速一样,和忽略其他好吧。。。
个人感觉,要是想建立远程的话特别麻烦。
毕竟,不仅要考虑远程部队的移动速度,还要考虑敌人的移动速度。 还有,走A,攻击前摇,和取消攻击后摇以及命中率,这四点问题。 个人感觉几乎是很难找到平衡点。 尤其弩炮,弹道速度太慢了,操作好的话更本不会被打。 还有冲车,冲车据说有一点隐藏属性,就是可以吸引远程的火力,就是说,当有骑兵和冲车同时冲来,远程部队会先打冲车。 说以说,很复杂啊。 ImTomsony 发表于 2014-2-24 22:21
。。。已经说了攻速一样,和忽略其他好吧。。。
就算无视攻速那样的话1hp还是只能50% {:164:}换成建筑进行类似修改,十有八九导致游戏弹出… 简单的系数问题,很多游戏都有人对此方面做研究,连我玩的大乐斗都有,。,。。{:167:}
页:
[1]
2