目前游戏有两种常见的概率控制方式:
第一种:固定概率
以抽卡为例,每一抽抽到SS卡的概率为10%,那么对于整个服务器而言,整体的期望为10次抽卡出现一张SS卡。但是对于每位玩家而言,由于运气的差异性,欧皇和非酋的体验可能就是天壤之别。
以玩家100次抽卡为例,下列A、B、C三种情况出现的概率都是一样的。
A情况:前10次都是SS卡,后90次都不是
B情况:第10/20/30…100次为SS卡
C情况:最后10次都是SS卡
但是A、B、C三种体验确完全不同,作为游戏策划,肯定是不希望出现这种情况的。
这个时候,一般采取的办法就是保底机制,比如如果连续15次抽卡没有出现SS卡,则下一次抽到SS卡的机率为100%,保证了非酋的游戏体验。
第二种:递增概率
每一抽抽到SS卡的概率为P = P0+Pa * n
其中P0为初始抽中SS卡的概率,Pa为递增概率,n表示连续几次没有抽到SS卡。
则抽到SS卡的期望次数 N = 1 * P0 + 2 *(1-P0)*(P0+Pa)+ 3 *(1-P0)*(1-P0-Pa)*(P0+Pa * 2)+ … + n * (1-P0)*(1-P0-Pa)*(1-P0-2Pa)* … *(1-P0-Pa*(n-2))*(P0+Pa * (n-1))
然后根据期望的次数N以及设定的初始概率P0,倒推出递增概率Pa。
固定概率逻辑比较清晰明确,但是会带来两个问题:
1、运气比较好的人,可能1次就抽到了SS卡,然后就不再抽卡了,游戏收益降低
2、运气特别差的人,即使概率是10%,可能抽了几十次依然没有抽到SS卡,导致玩家流失。
即使增加保底机制,可以解决第2个问题,第1个问题依然存在。
递增概率虽然比较复杂,但是能够比较好的解决如上两个问题。
假如一种是固定概率10%,一种是初始1%概率,每次没有抽中SS卡概率增加1.5%,两种情况抽中SS卡的期望值都是10左右,但是分布确完全不同,如下图所示:
蓝色为固定概率,红色为递增概率。
横轴表示第几次才抽到SS卡,纵轴表示1000次试验中出现的次数。
个人的理解是结合递增概率+保底机制,比如抽卡30次之后,概率为46%,加入保底机制改为100%,能够更好的解决此类概率分布问题。
当然游戏中的抽卡常常不只一种类型的卡,那么针对每一种卡都要单独计算概率,然后将这几种概率结合在一起,按照圆桌概率的方法,当概率之和大于1时,先排除优先级最低那一部分的概率,来计算最终的结果。