轉蛋抽卡設計原則之一:將一切交給機率

無論是早期的MMORPG還是現今的手機遊戲,當遊戲採用『免費』的模式在營運時,遊戲中一定要有收費的項目來維持遊戲的營運。而在眾多的收費項目中,轉蛋與抽卡算是最直接、最有效果的收費項目。因此,在大多數這一類的遊戲中,我們可以都看到轉蛋與抽卡的身影。

Gacha【轉蛋抽卡是目前許多手機遊戲中的營收主力】

不過,轉蛋抽卡這個看似簡單的東西,實際在遊戲製作的時候卻有許多的技巧。轉蛋抽卡並不像某人所想的,就是把一堆東西放在一起,然後設個機率,機率要多機車有多機車,然後玩家就會乖乖的掏錢出來這麼簡單的。在以下的文章中,銀狐將介紹遊戲公司在設計轉蛋抽卡時使用的方式,並且透過實際的範例來說明。

假設我們正在做一款三國背景的遊戲,在遊戲中要推出轉蛋讓玩家抽武將卡。在這個轉蛋中有以下十張武將卡(在實際的狀況下,轉蛋中應該不會只有這麼少的變化。這裡只是舉例,所以用比較少的武將卡種類來說明):

編號:武將卡(星等)
1001:諸葛亮(五星)
1002:劉備(四星)
1003:關羽(四星)
1004:張飛(四星)
1005:趙雲(三星)
1006:黃忠(三星)
1007:馬超(三星)
1008:魏延(三星)
1009:龐統(三星)
1010:法正(三星)

在遊戲製作的時候,我們會為所有遊戲中的物品設定獨一無二的物品編號。在遊戲中,這個編號就代表了這件物品。在以上的例子中,1001就代表著是諸葛亮的這張武將卡。

現在讓我們來將這十張武將卡設為一組轉蛋。一般來說,當我們在設計轉蛋的時候,會為每一個要放在轉蛋中的物品訂定一個獲得的機率。而設定這個機率,則是有使用權重值或是百分比的方式。

首先我們來看一下權重值的設定方式:

1001諸葛亮(五星):1
1002劉備(四星):3
1003關羽(四星):3
1004張飛(四星):3
1005趙雲(三星):15
1006黃忠(三星):15
1007馬超(三星):15
1008魏延(三星):15
1009龐統(三星):15
1010法正(三星):15

這是採用權重值設定的方式,從數值上來看好像和前面的百分比的設定方式沒有什麼差別。不過,這種設定方式權重值的總合並不需要是100,可以是任何的數值。而每一項物品的取得機率就等於各自的權重值除以權重值的總合。

接著我們來看一下用百分比的設定方式:

1001諸葛亮(五星):1%
1002劉備(四星):3%
1003關羽(四星):3%
1004張飛(四星):3%
1005趙雲(三星):15%
1006黃忠(三星):15%
1007馬超(三星):15%
1008魏延(三星):15%
1009龐統(三星):15%
1010法正(三星):15%

在百分比的設定方式下,我們會給所有放在這個轉蛋中的物品都訂定一個獲得的機率。這種設定方式,百分比的總合必須要是100%。

以上這兩種作法各有各的優缺點。權重值的方式,在轉蛋中增減物品比較簡單,不需要像是百分比那樣每次增減都要很仔細的計算各項的獲得機率;但是百分比的方式很清楚的標示出各項物品的獲得機率,設定者可以很清楚的在設定時就知道各項物的獲得機率。

不過,在實務上,大多數的遊戲公司不會採用這麼簡單的設定方式。就銀狐個人的經驗,以及之前所經手的各個專案,我們在規劃轉蛋的時候,會採用兩層的設定。

就以這個例子來說,首先我們會將這十張武將卡依它的星等分為三個群組:

群組1(五星群組):1001(諸葛亮)
群組2(四星群組):1002(劉備)、1003(關羽)、1004(張飛)
群組3(三星群組):1005(趙雲)、1006(黃忠)、1007(馬超)、1008(魏延)、1009(龐統)、1010(法正)

假設我們目前要做的這個轉蛋中,五星卡的機率是1%;四星卡的機率是9%;三星卡的機率是90%,那麼我們就會將上面設定的群組1、群組2、群組3串在一起設定為一組轉蛋,這個轉蛋的編號是1。所以轉蛋1的機率設定如下:

群組1(五星):1
群組2(四星):9
群組3(三星):90

實務上,由於會有機會需要設定低於1%的機率,因此大多數的遊戲在設定的時候會將數值放大一些。例如,將所有的數值放大一百倍,設定100代表著1%;9000代表著90%,這樣的作法是很常見的。

在這樣的設定下,當玩家抽卡的時候,系統會先Random一次決定玩家抽到的是幾星的武將卡,然後再從對應的群組中Random一次隨機抽出一張。假如第一次Random決定玩家抽到的是五星卡,因為五星卡的群組裡只有諸葛亮這張武將卡,因此玩家就會獲得諸葛亮;但若是第一次Random決定玩家抽到的是四星或是三星卡時,就會從對應的群組裡隨機抽取一張。

隨著遊戲的更新,我們會在這個轉蛋中增加新的武將卡。假設在某一次的更新中,我們新增加了以下的這張武將卡:

1011:孫尚香(四星)

根據之前的規劃,這張四星卡應該加入群組2之中,讓原本只有三張武將卡的群組2中變成有四張武將卡:

群組2(四星群組):1002(劉備)、1003(關羽)、1004(張飛)、1011(孫尚香)

當群組2加訴孫尚香這張武將卡後,它們還是持續共享著9%的機率。因此,原本各自擁有3%機率的劉備、關羽、張飛這三張武將卡,因為多了一張孫尚香武將來分攤它們的機率,四張武將卡都剩下2.25%的機率。如果我們持續的在這個群組2中加入更多的四星武將卡,那麼每一張卡所能分到的機率就會越來越小。

如果我們希望能確保這張新加入的孫尚香武將卡有3%的機率,那麼就不能將它直接加到群組2的這個四星群組,而是應該給它訂一個新的群組:

群組4(四星新卡群組):1011(孫尚香)

然後,將這個新增的群組4與前面的群組1、群組2、群組3另外組合成一個轉蛋2,分別給這四個群組訂定以下的機率:

群組1(五星):1
群組2(四星):6
群組3(三星):90
群組4(四星新卡):3

用這樣的方法,就可以確保這張新加入的孫尚香武將卡的機率有3%。而且因為群組4裡只有這張編號1011的孫尚香武將卡,因此當玩家抽卡時若是抽到這個群組4時,就一定會獲得孫尚香武將卡。至於劉備、關羽、張飛這三張武將卡,抽到的機率則是由原本的3%降至2%,不過因為它們是舊卡,所以玩家對它們的關注也比較低,所以影響不大。

使用這個兩層式的設計,也可以在第二層的群組中加上權重值,讓權重值來影響同一個群組中的物品出現機率。就拿上面這個例子裡的群組3來舉例好了,這個群組3裡面有六張武將卡,如果我們希望其中的趙雲出現機率比其他五張低,那麼在加入權重值的作法下,這個群組3的資料會變成以下這樣:

群組3(三星群組):1005(趙雲)、1、1006(黃忠)、2、1007(馬超)、2、1008(魏延)、2、1009(龐統)、2、1010(法正)、2

用這樣的設定方式,這個群組3的總權重值是11,而趙雲的權重值只有1,因此趙雲這張武將卡的出現機率就只有1/11;其餘的五張武將卡各自是2/11。而群組3的機率是90%,因此趙雲的出現機率就會變成90%*1/11。

不過,如果要在群組的設定中導入權重值的設定,那就表示所有的群組都要用一樣的規則。而加上權重值會造成群組的資料增加一倍(從原本的一欄變成兩欄),並不是銀狐喜歡的作法。如果要做出這樣的效果,銀狐會比較喜歡用拆群組的方式,將原本的群組3拆分為三星高機率與三星低機率這兩個群組,一樣可以達成相同的效果。

採用這種機率的設定,如果我們抽100張卡,最後統計之後會發現結果和我們設定的結果可能會有些差距。就算我們將取樣的次數放大到10000次,最後出來的結果也可能只是趨近於我們的設定,而不見得會完全一樣。

而且,就算真的最後統計的結果和我們設定的五星、四星、三星卡的機率相同,其中每一張卡的出現數量可能也不會那麼的平均。像是在四星群組裡的劉備、關羽、張飛這三張武將卡,它們共同分享9%的出現機率,但實際上玩家的獲得卻不見得會分配得那麼均勻,很有可能會發生某一張武將卡特別多,而另一張武將卡比較少的狀況。

這種將一切丟給機率,把玩家交給運氣的作法雖然沒有什麼問題。不過在實際的運作上,它在玩家付費的體驗上並不是很好。當玩家對於挫折的接受度不高,不斷的付費卻一直無法抽到期待的目標物時,可能會誘使玩家付更多的錢來抽卡;也很有可能就這麼流失。所以,在轉蛋抽卡上,我們有的時候會採用一些不一樣的作法。

請看續篇:轉蛋抽卡設計原則之二:一個蘿蔔一個坑