《真不是玄学!_谈谈卡牌游戏的成长、系统与抽卡概率设计》(9)
来源:未知 时间:2019-05-22 11:26
基本抽卡逻辑
首先来说,抽卡肯定是概率的,无论程序员用什么语言,概率肯定是准确的,但是糟糕的时,1%的概率也需要上万次的测试结果才能证明是大致不差的。从玩家基数上来看,概率与期望一致,10000次抽卡会接近100次,但是对于单玩家来说则是各有不同(而且也很少用玩家自己抽上万次证明概率),所以不存在什么玄学。(PS:但不否认欧皇非酋的存在,因为部分游戏的Rand因子除了时间钟也会加上玩家的UID混合计算。)
那么抽卡的概率到底是怎么样实现的?到底是否有暗藏逻辑呢?
基本的抽卡概率设计逻辑是比较简单,一般为双层逻辑:首先根据卡牌的品质实现各自的掉率,从而得出本次抽卡的所有卡牌的品质;再根据对应的品质抽取该品质中具体对应的卡牌(当然也有单层逻辑,将所有卡牌的概率写清楚,混合在一起抽卡,但我个人比较喜欢双层逻辑,这样在调整卡池中不会影响别的卡牌)。
如果有保底时,则会判断本次10连抽中,是否有对应的保底卡牌(包括更高品质),如果没有则会替换其中一个卡牌为高品质的卡牌。
这种逻辑来说相对来说比较简单点,以具体的例子说明:
假设卡池有这些A~G卡,在一次十连抽中,(按照期望)有9张卡会是R卡,另外一张卡可能是SR或者SSR。而一旦是R卡,那么必然在A,B,C中的一张(此时再在每次取卡时Roll下1~150数值,150为所有R卡Roll的总和,1~50为A,51~100为B,101~150为C)。
在这里加了一个Roll,Roll的作用主要是限制同一个品质中不同卡牌的概率,比如在SR品质,可能出现E卡3次,才有可能出现D卡一次,而在SSR中更夸张F卡的概率可能只有G卡的1/9的概率。这样的好处在于,对于同一个品质中,不同优质卡和劣质卡也可以调整概率,而希望一张卡不在卡池中,只需要将Roll设为0就可以(放新卡时如果希望新卡概率高,调整这个Roll也可以实现效果)。
当然除了这种抽卡逻辑以外,也可以采用别的逻辑,比如一次概率,所有卡牌都有一个具体的概率,每次从整个卡池中抽取,或者针对抽取次数,设计出多层掉落卡池,每次从不同的组合卡池选取具体的卡牌。但是我个人比较喜欢上面的双层卡池。
保底设计
之前我们一直在说保底设计,那么什么是保底设计?保底设计准确来说是为运气不好的人提供的一种保障,能够获得自己想要的卡牌。