深入浅出谈LOL数值设计(四)
一个最简单的原因,LOL版本的好算。在最终人物的有效生命值计算过程中,只有护甲和血量变量会影响到人物的抗击打能力,这对于后续的职业定位以及战斗模拟中都会带来巨大的好处,简单就是美,这个理论在此一样适用。
其次,LOL版本公式是线性成长的,当总HP不变的时候,护甲每成长1%,最终人物的有效生命值就成长1%,不存在收益递减的问题,这也是非常好的一个特性,对于平衡性设计来说,这个模型依然非常讨人喜欢。
第三个方面就比较隐晦,但确实也是平衡性设计中很重要的一块,避免过快的滚雪球效应,在游戏的整个进程中,优势方的策略是“稳定的守住一点点优势,按部就班的慢慢放大优势,最终获得胜利”,劣势方的策略是“保证不再继续失误,积极的寻找对方的失误,争取一发逆转。”但如果这种滚雪球的效果滚得过快的话,那么初期陷入劣势的一方翻盘的难度就会大大的增加,这是非常不利于竞技的。回到公式本身,我这里举了一个非常极端的例子,来说明在攻防双方非常均衡的情况下,两种算法所带来的截然不同的影响。
这里的情况是模拟是2个玩家打一个1000生命值,20护甲的木桩,玩家的初始攻击力都是20,横轴代表人物的攻击力,纵轴代表击杀所需的次数,蓝线代表采用LOL的护甲公式进行计算,红线代表使用直观印象公式进行计算,可以看到,当攻击力从21->22的时候,红线的攻击次数立刻就从1000次降低到了500次,蓝线仅仅从58次降低到了55次,也即是说,红线的表达的含义就是你仅仅获得了1点攻击力,击杀速度就增加了一倍,这在实际游戏中的翻译就是,他就出了一把长剑(最便宜的加攻击道具),本来我和对方有的一拼,现在他主要用一半的血就把我A死了。试问,你能接受么?
好了,本期讨论了护甲/有效生命值的问题,可以看到LOL的护甲免伤公式有着非常优秀的特性,其实这个免伤公式很常见,在不少游戏中都有着这个公式的影子,当你的游戏面临着平衡性问题的时候,不妨也可以考虑使用这个公式哦!如果你的游戏需要护甲在一个非常大的范围的成长性,比如大多数RPG游戏,那么也考虑采用公式
damage= attack*(defense/(defense + c * lv))
这里c是一个常数或者变化的因子,lv是玩家的等级。
下一期,我打算说一点感性的话题,不再是冷冰冰的数值和图标,说一说LOL中的英雄定位以及其战斗过程的设计思路,欢迎拍砖,欢迎一起讨论。