曾经,网易凭借旗下一款叫做《阴阳师》的手机游戏登顶全球第一手游发行商的位置。最近,米哈游的《原神》又在国内外备受好评。
这两款游戏本质上还是一款抽卡 + 战斗类游戏,玩家需要通过抽卡获得式神(宠物)进行战斗。
式神卡片按照稀有程度进行分类,分为N,R,SR,SSR。
- N:Normal,一般的卡片
- R:Rare,相对稀少的卡片
- SR:Super Rare,非常稀少的卡片
- SSR:Super Super Rare,非常非常稀少的卡片
这个分类系统继承自日本的卡片类游戏,比如著名的Love Live
所以,显而易见,SSR是每个玩家梦寐以求的卡片,通常战斗力也最强。“你有没有SSR”也成为玩家聊天中最首要的话题。连日本的晴明神社也被玩家们的许愿占领。
然而抽卡这个行为就带来了随机性。导致玩家被分为了欧洲人(手气好,有多个SSR),亚洲人(手气正常),非洲人(脸黑,没有SSR)。
这时程序员的问题就来了:在这类游戏中,如何设计算法来保证玩家抽卡的概率和体验。我也和业内人士进行了一些讨论,通常有以下几种:
最直接的方法:阈值计数
对每个玩家抽卡的数量进行计数,达到阈值,出现SSR卡牌。简单来说,比如玩家抽到第100张,必定会有一个SSR,在SSR卡池内随机选取一张出现(其实这个计数器在阴阳师中也是有的,600连抽没有SSR会得到非洲大阴阳师的成就)
是不是有点简单的出乎意料,不要小看这个简单的算法,这个算法的优点是:
- 概率准确,不同玩家之间差异小。
- 如果你想从非洲偷渡到欧洲,只要充钱抽卡就行。
当然缺点就是缺少惊喜。改进方法是可以对于阈值进行随机处理。
最随机的方法:概率随机
玩家每次抽卡计算一次随机数,如果落在概率范围内(比如5%),则去SSR卡池里抽一张。这个算法中玩家实际的抽卡分布大概是这样,集中在标准概率附近的玩家很多,离概率越远玩家越少,看上去很美。
然而这个算法最严重的问题是,抽中SSR的间隔是满足指数分布的。
也就是说从玩家的实际体验来说差别很大。可能有些欧洲人富得流油,连抽连出SSR,而有些非洲人脸黑的出奇,连抽无数次也不出SSR。满满的都是惊喜。
混合算法
而一般游戏中实际使用的方法更多的是这两种方法的结合,比如:在初始或者抽到SSR时随机设定下一次的抽卡阈值次数,或者根据抽卡次数或者氪金(充值)的数量调整概率范围等等。
随机性带来的问题
这里就带来了另外一个问题,一切都是黑盒,实际的数据无从知晓。大家是否还记得小时候在公园里经常遇到的一个套路:小贩用磁铁控制抽奖转盘的旋转,你永远也不可能抽到你想要的东西。
当然,像网易这样的公司还是有些良心的,就身边的玩家反馈概率还比较平衡。但是并没有人来监管这一点。日本游戏《碧蓝幻想》就曾经因随机性大引发巨大争议,被指暗箱操作
某日本玩家在Niconico上直播抽卡,花了68万100日元(约合人民币37814元)、2276连抽才抽到当时的稀有角色“猴女”,而这一角色却被知名声优田中理惠第一次10连抽就抽中,并发在推特上炫耀,引发日本玩家的轩然大波
所以,日本网游协会(日本オンラインゲーム協会)就提出了对与扭蛋类游戏的共识,其主要指导方针仅有三点,很简单,但也直击要害:
- 扭蛋获得道具的最高课金上限额为5万日元(约合人民币2880元),也就是说,花5万日元必得目标道具。
- 道具要明确类别、明示中奖率。
- 手游公司内的运营责任人必须保留有关道具中奖率设定的明确记录。
国内目前也同日本一样,要求对游戏的概率进行公示,并增加保底机制。让这类抽卡类游戏能够更加健康的发展下去