数值模拟告诉你百景图十连到底比单抽厉害多少
修改于2020/11/29836 浏览综合
有小伙伴留言指出了一个重大漏洞:保底机制很有可能是在最后一个抽卡时再检测前面的是否全为卿。如果这个属实的话,相应的十连单次等效出天率会降至 6.04% 左右,也就是说几乎与单抽没有任何区别。感谢指正!
-----------------------
太长不看版:保底侯级机制使得十连约合 7.2% ~ 7.3% 的单次出天率,比单抽6%高了一个多百分点。
本质上讲,我们每次不同的抽卡都可以视为独立同分布的数值采样,我们可以将其简单地视为首先将不同卡片根据其设计好的概率数值摆放在0到1这个区间内,然后每次抽卡则在0到1中随机选取一个数字,根据此前已摆放好的卡片映射得到抽卡结果。
在Python中,random库中的choices函数已经为我们实现好了给定相对概率的采样,从而无需重复造轮子,直接调用即可。
比如,最简单的抽卡游戏:抛硬币正反面

在实际的游戏中,略有不同的地方在于
1. 卡片通常会有一些固定的分类,比如江南百景图中的 天、侯、卿士 三种级别;游戏开发团队可能会需要不定时根据类别进行概率调整,或者调整某一特定类别中一张或多张卡片的概率
2. 为了保障玩家(非酋)的游戏体验,总是会设计一些保底机制防止人类心态爆炸,例如江南百景图中的金卷轴十连必出侯
这两个额外的需求我们可以通过两个设计实现:
1. 单次抽卡分解为两次随机采样,第一次采样决定级别,第二次采样决定该级别内具体角色(类似于ARPG游戏中先染色)
2. 十连首先在保底级别中进行一次抽卡,比如先从 天、侯 级别中抽卡一次,剩下九次进行常规抽卡
按照这个思路,我们可以先简单设计一个只考虑人物等级的精英卡池抽卡模拟器

虽然仍然非常粗糙,这个仍然可以提供给我们许多信息:我们可以用它来测试单抽和十连的不同结果。

根据大数定律,只要重复次数足够多,试验中某事件的频率就会逼近其真实的概率。
据此我们可以尝试用百万十连测试十连的等效单次出天率。

可以看到,百万十连告诉我们十连的等效单次出天率在7%左右(个人经验感觉7.2~7.3这个区间应该也是有效的),比单抽高了一个百分点。
这个故事告诉我们,单抽玄学佬们不用太担心,十次十连预期也就多出一个天,我信仰单抽一发奇迹不就有了(滑稽