【数值框架】战斗变量:判定流程分类
战斗变量的判定流程其实在网上也有很多前辈写过文章,写的也很好,但是会稍有遗漏,所以我会在前辈的基础上加上我想到的额外内容,希望能通过一篇更为完整的文章带大家了解战斗的判定流程制作
在此之前先给大家介绍几个名词,其实目前业内知识并没有做到规范化,所以一个人一个说法,我只能说按我的理解先解释一下我将要在本文中提到的名词:
1.战斗变量:暴击、闪避、格挡既可以在属性框架中承载一种属性类型,也可以在战斗流程中承载一种战斗事件,我暂且将这种非普攻类的事件称为战斗变量
2.判定流程:也可称之为判定模型,是为战斗变量的随机提供一定的规则,使其满足战斗需求
市面上常见的判定流程有:
1.瀑布流程
2.圆桌流程
3.双圆桌流程(又称为混合流程)
一、瀑布流程
规则:瀑布流程源自于一种项目开发架构,自上而下按顺序逐层展开,如同瀑布一样循序渐进,每层都需要投掷一次骰子重新判定,会根据判定情况流向不同的结果
当然瀑布流程本身也非常灵活多变,有很多种衍生方式,比如想在触发暴击的同时也触发格挡,可以将流程修改如下
优点:规则容易理解,符合常规判断流程,相对于圆桌流程来说,更少出现属性溢出的情况,有更大的属性投放空间
缺点:属性收益变动较大,位于瀑布越下级的属性概率衰减明显
举例:假如瀑布流程1中,命中=70%,暴击=30%,因为触发闪避后会直接结束流程,不会再进行暴击判定,所以实际暴击概率只有70%*30%=21%
二、圆桌流程
规则:顾名思义,就像是一个圆形的桌子,上面摆满了各种事件,假如桌子的总面积是100,那么初始状态下由100的普攻来铺满桌子,之后在其上每摆放1点其他事件,都会挤掉1点普攻。
桌子上的每个事件都会有其优先级,其优先级决定了被挤掉的顺序,一般被挤掉的优先级为普攻→格挡→闪避→暴击,所以很多游戏会出现暴击堆满不会出现MISS的情况。优先级同时决定了判定的范围值,圆桌与瀑布不同,只进行一次掷骰,假设暴击30,闪避20,格挡10,普攻40,那么掷骰范围值和结果如下:
1~30:暴击
31~50:闪避
51~60:格挡
61~100:普攻
优点:收益稳定,在不溢出的情况下,收益不受其他战斗变量影响
缺点:属性相对于瀑布而言,会容易溢出一些,溢出后的属性完全无效
三、双圆桌流程(又称为混合流程)
规则:双圆桌和圆桌的不同点是将进攻方和防守方的事件放到了两个桌子上,分别判断,需要掷骰两次。
两个桌子上的事件均有优先级,输出时会判断进攻方和防守方的事件优先级,当高优先级遇到低优先级,则高优先级触发,当相同优先级相遇则同时触发,一般优先级为:1.普攻、被普攻 2.暴击、格挡 3.闪避
举例1(优先级不同):当进攻方触发暴击、防守方触发闪避时,只触发闪避
举例2(优先级相同):当进攻方触发暴击、防守方触发格挡时,均触发
优点、缺点:双圆桌的判断流程目前仅在理论层面上见过,还没有在实际项目中遇到过,感觉并没有什么优点,反而晦涩难懂,所以绝对不建议使用本流程
四、总结
综合考虑圆桌流程是最优的选择,不论对玩家的理解成本而言还是对策划的战斗设计而言,都是最为简单和可控的。
所以我觉着直接选择圆桌判定即可,其他的判定流程只需要略微了解一下,可以让自己在设计的时候更从容更有底气,不会觉着有什么没想清楚。