天天看點

從《陰陽師》到《原神》,抽卡中的程式算法

曾經,網易憑借旗下一款叫做《陰陽師》的手機遊戲登頂全球第一手遊發行商的位置。最近,米哈遊的《原神》又在國内外備受好評。

這兩款遊戲本質上還是一款抽卡 + 戰鬥類遊戲,玩家需要通過抽卡獲得式神(寵物)進行戰鬥。

從《陰陽師》到《原神》,抽卡中的程式算法
式神卡片按照稀有程度進行分類,分為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會得到非洲大陰陽師的成就)

是不是有點簡單的出乎意料,不要小看這個簡單的算法,這個算法的優點是:

  1. 機率準确,不同玩家之間差異小。
  2. 如果你想從非洲偷渡到歐洲,隻要充錢抽卡就行。

當然缺點就是缺少驚喜。改進方法是可以對于門檻值進行随機處理。

最随機的方法:機率随機

玩家每次抽卡計算一次随機數,如果落在機率範圍内(比如5%),則去SSR卡池裡抽一張。這個算法中玩家實際的抽卡分布大概是這樣,集中在标準機率附近的玩家很多,離機率越遠玩家越少,看上去很美。

從《陰陽師》到《原神》,抽卡中的程式算法

然而這個算法最嚴重的問題是,抽中SSR的間隔是滿足指數分布的。

從《陰陽師》到《原神》,抽卡中的程式算法

也就是說從玩家的實際體驗來說差别很大。可能有些歐洲人富得流油,連抽連出SSR,而有些非洲人臉黑的出奇,連抽無數次也不出SSR。滿滿的都是驚喜。

混合算法

而一般遊戲中實際使用的方法更多的是這兩種方法的結合,比如:在初始或者抽到SSR時随機設定下一次的抽卡門檻值次數,或者根據抽卡次數或者氪金(充值)的數量調整機率範圍等等。

随機性帶來的問題

這裡就帶來了另外一個問題,一切都是黑盒,實際的資料無從知曉。大家是否還記得小時候在公園裡經常遇到的一個套路:小販用磁鐵控制抽獎轉盤的旋轉,你永遠也不可能抽到你想要的東西。

當然,像網易這樣的公司還是有些良心的,就身邊的玩家回報機率還比較平衡。但是并沒有人來監管這一點。日本遊戲《碧藍幻想》就曾經因随機性大引發巨大争議,被指暗箱操作

從《陰陽師》到《原神》,抽卡中的程式算法

某日本玩家在Niconico上直播抽卡,花了68萬100日元(約合人民币37814元)、2276連抽才抽到當時的稀有角色“猴女”,而這一角色卻被知名聲優田中理惠第一次10連抽就抽中,并發在推特上炫耀,引發日本玩家的軒然大波

是以,日本網遊協會(日本オンラインゲーム協會)就提出了對與扭蛋類遊戲的共識,其主要指導方針僅有三點,很簡單,但也直擊要害:

  1. 扭蛋獲得道具的最高課金上限額為5萬日元(約合人民币2880元),也就是說,花5萬日元必得目标道具。
  2. 道具要明确類别、明示中獎率。
  3. 手遊公司内的營運責任人必須保留有關道具中獎率設定的明确記錄。

國内目前也同日本一樣,要求對遊戲的機率進行公示,并增加保底機制。讓這類抽卡類遊戲能夠更加健康的發展下去

繼續閱讀