從研究別人的遊戲中學習

做為遊戲研發的從業人員,和一般玩家最大的不同,就是在玩別家的遊戲時也隨時在學習著。從其他的遊戲中吸收優點、瞭解缺點,對於未來的遊戲開發過程是很有幫助的。

前一陣子在《魔獸世界》這遊戲中有個情人節的活動,其中有一項成就引發不少的討論。

從遊戲設計的角度來看,這項成就某個程度是機率的控制,正好之前曾經寫過一篇《機率,一個玩家不懂;遊戲企劃不能不知的學問》,裡面也是在討論機率的問題。所以銀狐就花了點時間去分析這個成就,來看看到底是遊戲的設計有問題?還是部份玩家的反應太過強烈。

這個叫做『和我在一起』的成就項目其玩法如下:

遊戲中玩家使用了香水或是古龍水後,可以和各大主城頭上有心型符號的 NPC 交談,用硬幣可以換一份愛慕之禮 (運氣不好的話,發生心碎事件就什麼都拿不到) 。

這個愛慕之禮每小時可以拿一次,裡面會隨機的開出各種和情人節活動有關的物品。其中有一項物品叫糖果袋,就是和這項成就有關的物品。

每個糖果袋可以使用十次,每次使用可以隨機取得八種糖果中的一種,而這項成就,就是需要玩家自己從糖果袋中取得八種糖果。

成就的內容就如同以上所描述的,或許有人會說,糖果袋可以使用十次,要開出八種糖果不難吧。不過當我們看看玩家間的討論,再看看各討論板上的討論,不難發現裡面充斥著許多臭罵設計這個活動的言論。

要分析這個活動設計的到底有沒有問題,那就讓我們來仔細的看看整個活動的設計。

先把和 NPC 談話能不能拿到愛慕之禮和愛慕之禮開出糖果袋的機率擺在一邊,因為這兩項的機率我們無從得知,所以我們把研究的目標放在糖果袋開出糖果的機率上。我們知道每個糖果袋可以使用十次、每次可以隨機拿到一種糖果,我們假設取得每一種糖果的機率是相同的 (應該不會有人沒事故意設定成不同的) ,所以從糖果袋中抽中任何一種糖果的機率都是 1/8 (12.5%) 。

在我們抽第一次的時候,因為一種糖果都沒有取得,所以無論我們抽到八種中的任何一種,都可以抽到目前所沒有的糖果。換句話說,第一次抽中任何一種糖果的機率是 8/8 (100%) 。

可是當我們抽第二次的時候,因為手中已經有了一種糖果,所以第二次抽中手中沒有的糖果機率變為 (8-1)/8 (87.5%) ;而手氣不好第二次又抽到和第一次一樣的糖果的機率為 1/8 (12.5%) 。

因為機率會隨著我們手中持有的糖果種類而改變,所以這種會變動的機率比起之前的掉寶率計算要複雜。

等到我們要抽第三次的時候,前面兩次的狀況可能有以下兩種:

2-1:第一次和第二次抽到不同的糖果,手中有兩種糖果。
2-2:第一次和第二次抽到相同的糖果,手中有一種糖果。

而這兩種狀況又會各自演化出兩種不同的狀況:

2-1:第一次和第二次抽到不同的糖果,手中有兩種糖果。
2-1-1:第三次抽中和第一次與第二次不同的糖果,手中有三種糖果。
2-1-2:第三次抽中和第一次或第二次相同的糖果,手中有兩種糖果。

2-2:第一次和第二次抽到相同的糖果,手中有一種糖果。
2-2-1:第三次抽中和第一次與第二次不同的糖果,手中有兩種糖果。
2-2-2:第三次抽中和第一次與第二次相同的糖果,手中有一種糖果。

照這樣一直往下推,可以推出抽取次數和取得糖果數的機率。其中 2-1-2 和 2-2-1 的結果都是取得兩種糖果,所以我們將這兩行算式的結果加在一起。

用這樣的推法,換成公式去計算後,可以得到以下的機率分佈:
(感謝史萊姆大人協助製作這個 Excel 表)

就讓我們現在來看看這個表中所列的機率吧。表格的縱的是抽的次數、橫的是抽中幾種糖果,所以每一格裡面的百分比,就代表著抽多少次可以抽中幾種糖果的機率。不管我們抽多少次,抽中一到八種糖果的總合機率一定是 100% 。

首先我們來看看只抽中一種糖果的這一欄。在這一欄從上到下的機率是你抽多少次都只有抽到一種糖果的機率。在這裡我們可以看到除非你是難得一見的宇宙無敵倒霉鬼,否則抽到第七次還只有抽到一種糖果的機率只有 0.0004% (百萬分之四) 。

接下來我們來看抽到兩種糖果的這個第二欄。在前面的文章有說明過,第一抽 100% 可以抽到手中沒有的糖果,不過到了第二抽,就有12.5% 的機會抽到手中有的糖果;87.5% 的機會抽到沒有的。我們把 87.5%  這個數字填在第二抽抽中 2 種的格子中,然後繼續往下推。(應該沒有人會問為什麼第一抽抽中 2 種的格子中不填數字吧?)

接下來是抽三次抽中兩種糖果這一格,照前面的文章所說,根據之前的狀況,會有兩種狀況產生這樣的結果。如果前面的兩次都有抽到不同的糖果,第三次卻沒有抽到,那麼它的機率是 87.5% * 2/8 (抽到前兩次已經抽到的) = 21.875%。如果前面兩次只抽到一種糖果,第三次有抽到不同的,那麼它的機率是 12.5% * 7/8 (抽到前兩次沒有抽到的) = 10.9375%。把這兩個機率加起來,就是抽三次抽中兩種的機率。

用這同樣的公式繼續一路往下推,就可以得出上面這張圖的完整試算表。

從《魔獸世界》遊戲中的設計我們知道,一個糖果袋可以使用十次。照這個公式推算出來的試算表,可以看出在只獲得一個糖果袋的情況下,只會有 2.8163% 的玩家可以完成成就。如果每個玩家都可以獲得兩個糖果袋,就會有 53.0558% 的玩家可以完成成就。

就這樣繼續往下看,如果我們希望 98.9935% 的玩家都能夠達成這個成就,那就表示需要讓所有的玩家都能夠拿到五個糖果袋。而且,就算每個玩家都能夠拿到五個糖果袋,也還會有 1.0065% 的玩家無法完成。

前面我們也說過了,因為不確定拿到愛慕之禮和愛慕之禮開出糖果袋的機率,所以在這裡我們只能推測玩家需要多少個糖果袋,才能讓大多數的玩家完成成就。

當然,我們不知道 Blizzard 的遊戲設計者是否預期希望大多數的玩家都能完成,不過從這個範例中,我們可以知道若是我們要設計這樣的活動,需要給玩家多少個糖果袋,最後才能讓大多數的玩家都能夠達成。而這,就是從別人的遊戲中所能夠學習到的。