《Statistically Speaking, It’s Probably a Good Game, Part 2》:遊戲設計者的基礎統計入門

Normal Distribution 3D原文出處:Statistically Speaking, It’s Probably a Good Game, Part 2: Statistics for Game Designers

承續前篇文章「遊戲設計者的基礎機率入門」,本文是原著系列作中的第二篇,將介紹「統計」理論的基礎概念,以及統計在遊戲設計中的應用實例。

科學理論中的統計學,應用在許多不同的層面都十分有用;但相對地,統計學也很容易被誤用而產生出誤謬的結果。統計學就像是一種暗黑的科學,身為勇者的你,如果不能善加利用這個強大的力量而被魔戒誘惑,根據錯誤的推論做出重大決策,往往會導致糟糕而悲慘的結局。

統計學是與「資料」高度相關的一種理論。蒐集資料的方式,包括常見的路邊攔人問卷調查、電話詐騙訪談調查、焦點群組測試程序,以及偷偷紀錄不告訴你等等許多不同的方法可用,而重要的是,如何將蒐集而來的資料加以分析詮釋,得出對於遊戲設計者有用的知識以及資訊。與前篇文章相同,作者在文章開頭就先提出了三個有趣的小問題,在繼續往下閱讀之前,不妨先思考看看:

  • 謎題一:20 位焦點測試者剛測試完你所開發的蝸牛賽車遊戲,根據蒐集所得的資料顯示,跑完整個賽道的最佳成績是 1 分 24 秒,而最差成績是 2 分 32 秒。如果你原先設定的遊戲設計目標時間是 2 分鐘左右,那麼這是一次成功的測試程序嗎?如果你蒐集了更多的資料,計算出這些資料的平均值是 2 分 5 秒,而標準差是 45,這樣的結果可以讓你滿意嗎?
  • 謎題二:你設計了一個休閒遊戲,目前正在 Beta 測試的階段,總共找來了 100 位的測試者完成超過 1000 次的遊戲測試程序。將蒐集回來的資料計算之後,顯示出分數的平均值是 52000 分,而標準差是 500 分,這樣的結果是不是已經通過檢驗,可以準備出貨上市了呢?
  • 謎題三:你設計了一個 RPG,然後從中蒐集資料觀察玩家從等級 1 晉升到等級 5 共需花費多少時間,其中共有 4.6 小時,3.9 小時,5.6 小時,0.2 小時,5.5 小時,4.4 小時,4.2 小時,與 5.3 小時這幾筆資料。你是不是能夠直接將這些資料拿來計算平均值與標準差?

對於一般人來說,或許多少都知道統計這個東西大概是什麼意思。但是如果要用一段簡單易懂的句子做為敘述解釋,「統計」的具體定義到底是什麼模樣呢?

Statistics is a mathematical science that deals with collecting and analyzing data in order to determine past trends, forecast future results, and gain a level of confidence about stuff that we want to know more about.

根據作者的論述,統計學是一種用來蒐集與分析資料的數學理論,能夠用來找出過去的趨勢,預測未來可能發生的結果,以及對於我們想要瞭解的事物得到某種程度的信心。而統計學的基礎,就是在於對資料的分析。所以在踏入統計領域的大門前,首先有兩項專業術語是必須要認識的:

  • 群體數 (Population):統計方法所要量測的整體對象。這個群體數的定義,是依據量測者的不同需求,而有不同的範圍,例如:「15 歲以上,30 歲以下,喜愛 FPS 遊戲類型的玩家。」這樣的描述範圍就是屬於一種群體數。
  • 樣本數 (Sample):是在群體數中,真正接受調查量測的其中一部份對象。對於統計學來說,樣本的大小非常關鍵,因為群體數的範圍通常太過於龐大,無法在有限的時間與資源內,對群體數中的所有個體一一進行量測,因此我們只從群體中取出一部份做為統計用的樣本。

Normal Distribution 2D瞭解上述兩項基礎的術語後,在統計學的理論中,還有一個很常見的圖形,稱為常態分佈 (Normal Distribution)高斯分佈 (Gaussian Distribution),用來描繪出資料數據分佈的樣貌。如圖所示,在常態分佈的統計數據中,多數的資料會往曲線中間的平均值靠近;而越往兩端延展的數值,資料數量就會越少。世界上大部分的資料數據都會符合這個圖形的曲線,因此符合這種型態的資料,被稱為 Normal 型態的分佈。就像是在一個班級中,總是會有身高較高和身高較矮的人,但通常只佔了全班中極少的比例,大多數人的身高還是介於很高與很矮的極端值之間;這也就是常態分佈圖所要表達的意涵。

Standard Deviation:the average amount by which data points in the sample or population differ from the mean.

除了一般人都熟知的平均值 (Mean) 以外,變異數 (Variance)標準差 (Standard Deviation) 也是統計領域中相當重要的兩項工具。有了這兩項計算資料數據的方法後,對於上面這張圖所呈現出來的結果,我們就能夠說:「有 68.2% 的樣本數位於平均值的一個標準差之內。」而不是用很不準確的敘述句說:「有很多的資料聚集在中間的部分。」因此,利用標準差的計算,能夠幫助我們量化資料的分佈趨勢。

變異數與標準差彼此相關,都是屬於量測「資料分散性」(Data Scatter) 的方法之一。假設你找來 100 個測試者測試你的新遊戲,量測他們完成一個關卡的時間,得到的平均值是 2 分 30 秒,然後計算得出的標準差是 15 秒,這樣的結果代表什麼樣的意義?也就是說,大部分玩家能夠在 2.5 分鐘又正負 15 秒 內完成遊戲關卡,算是一個十分穩定一致的狀態。假設另外在一個狀況中,你得到的平均值是 2 分 30 秒,但是標準差為 90 秒,由這樣的資料數據,可以知道玩家的遊戲時間呈現出分散而不穩定的狀態。在第一個例子中,標準差 15 秒除以平均值 2.5 分鐘,也就是 15 秒 / 150 秒 = 10% 的差異性,而在第二個例子中,標準差除以平均值是 90 秒 / 150 秒 = 60%,是一個相當龐大的差異性!

當然,較高的標準差並不一定是全然不好的設計,在某些特別的應用場合中,設計者會希望設計出來的機制呈現出差距比較大的結果;然而在大部分的情況中,差距太大的標準差通常無法帶來良好的設計成果。計算標準差對於遊戲設計來說非常重要,能夠運用在許多不同的機制設計中,例如:通過一個關卡的遊戲時間、全破整個遊戲的時間、擊敗一般敵人所需要的回合數或攻擊數,以及在整個遊戲中蒐集得到的貨幣值等等不同面向的遊戲數值。

除了上述幾項統計的基礎術語與方法之外,對於統計數據的結果,還有兩項相當重要的術語需要認識:

  • 誤差幅度 (Margin of Error):用來瞭解統計的成果準確性有多少。只要是在樣本數小於群體數的狀況下,就不能忽略誤差幅度對於統計數據的影響。
  • 信賴區間 (Confidence Interval):計算出這個數據,能夠保證有 A% 的資料在 B% 的信心指數下,能夠落在 C 與 D 的區間之中。

在遊戲設計的應用中,如果能夠對蒐集而來的資料樣本數計算誤差幅度與信賴區間,就可以呈現出真實有用的現實數據,而不是單純的「我覺得」或「感覺上」這樣不準確的判斷方法與敘述用語。而如果想要降低誤差幅度並且得出良好的信賴區間,就應該盡可能蒐集越多的資料進行分析與計算;越多的資料數目,就能夠得到越好的信賴區間值。

瞭解基礎的統計術語之後,就能夠排除一些常見的誤用與迷思。以下是幾項關於統計的錯誤觀念:

  • 誤解:人們經常對於統計術語與敘述有著錯誤的認知概念。
  • 沒有聲明誤差幅度或信賴區間:誤差幅度對於資訊的驗證非常重要而不可或缺,當一項統計結果沒有聲名誤差幅度時,就很難得知這些資訊的準確性有多少。
  • 忽略有效的推論只因為你不喜歡它們:統計結果本身不會說謊,但是人們會;特別是詮釋資料的人,對於不好或不喜歡的部分結果,可能會有意無意選擇忽略或喪失記憶,因而失去了統計數據的準確性。
  • 依據有瑕疵的資料得出結論:如果資料是有瑕疵的,所計算得出的結論就毫無價值可言。例如在調查中詢問玩家:「你比較喜歡 A 遊戲,還是那個只有笨蛋會喜歡玩的超爛 B 遊戲?」使用誤導性的問題取得資料樣本數,就只能得到自己想看見的訊息,而非真正確實的資訊。
  • 運動播報員誤謬:有些播報員僅依據一點點的機率數據與統計數據,就大膽做出不合理的推論。實際上在樣本數資訊不足的情況下,我們很難判斷資料呈現出來的結果,到底是純粹的機率事件,或者是依循著某種趨勢的分佈狀態。
  • 依據無關的事件得出結論:拔到獅子的毛不能找回失去的頭髮,全球暖化問題和海盜的數量多寡也沒有關連性存在!不要再相信沒有根據的說法了!

結合前篇與本篇的文字魔咒,是不是感覺到機率大神回來了,然後統計大神也回來了?各位讀者也回神了嗎?最後,關於前面三個謎題的解答:

  • 關卡時間:在計算平均值時需要把全部的資料都列入計算,不能因為最小值是 1 分 24 秒而最大值是 2 分 32 秒,就斷定遊戲時間的平均值是 2 分鐘。而標準差的部分,得到 40 以上的數值就太高了些,因為這意味著玩家之間的差異性過高;或許是由於某些熟練的玩家,利用了某種技巧而在遊戲中得到巨大的優勢。因此做為遊戲設計者,你需要檢視你的設計,確定這樣高標準差的結果是否合於設計的原意。
  • 休閒遊戲:以 1000 筆資料平均值為 52000 分,標準差為 500 的數據來看,標準差 500 除以平均值 52000 約等於 1%!這些分數的群組分佈太過於相近了。如果遊戲的差異性太小,玩家的技巧高低就很難對遊戲結果產生太多的影響;對於玩家來說,呈現出這樣的結果通常無法令人滿意。在此就是一個需要較高標準差設計的好例子,才能夠讓玩家隨著遊戲技巧的精進,得到更多的分數與更好的成果。
  • 遊戲時間:在這個例子中,提醒了我們一個事實:你需要特別注意數據之中的壞資料。在一連串的資料數據中,0.2 小時看起來特別可疑而不正常。或許是輸入數據時打字錯誤,或許是遊戲出現不正常的機制功能,你必須做出明確的判斷,辨別這是一筆合法的資料,或是應該捨去不列入計算。

再舉一個簡單的應用實例:如果在你所設計的遊戲當中,需要設計出簡單、一般與困難三種不同的難度模式時,要怎麼利用統計的資料幫助我們達到更好的成果呢?在回收測試玩家進行遊戲的資料後,可以計算出各項數值的平均值與標準差,然後在一般難度的模式下,將相關的數值調整成平均值左右的數據;在簡單的難度下,把相關數值以平均值減去一定數量的標準差值;而困難的難度,就以平均值加上一定數量的標準差設定為難度的相關數值。只要目標的玩家族群是屬於常態分佈的狀態,再經過一些細部的數值調整,這樣的難度設計就能夠獲得很不錯的成果。

Just like probability theory, statistics becomes more and more useful the bigger and bigger the scope of your project.

請記得「統計」這把閃亮亮的 +9 神兵利器,唯有從一組已記錄的遊戲資料中取出進行分析,才能發揮出最大的威力效用。當專案的規模越來越大的時候,統計與機率的重要性也會隨之增長。或許在大多數的情況下,你可以使用自己摸索而來的秘技招式,而不需要使用這些正統理論的數學工具,然而當你的遊戲越大、玩家越多、預算也更充足的時候,如果在遊戲設計的數值層面出現瑕疵問題,風險就會變得更大而更加難以負荷,甚至可能會發生毀天滅地、遊戲崩壞的危機。統計,就如同機率一樣,它們不能幫你做出遊戲設計的成果,但是它們能夠幫助你把成果做得更好,使你的遊戲設計更加穩固並且更加有趣!

鏘鏘鏘!扣人心弦的《機統三部曲》即將進入高潮完結篇,到底佛羅多會不會入魔?到底作者還有什麼把戲要變?到底半路還有多少東西可以寫?下次將以一個桌上遊戲為例,開啟你我心中塵封已久的機率魂!敬請準時收看!

6 Replies to “《Statistically Speaking, It’s Probably a Good Game, Part 2》:遊戲設計者的基礎統計入門”

  1. 发现您和大陆一位游戏开发人的爱好有点相似~ 翻译的还是同一篇文章

  2. @墨墨:
    原作者所寫的這三篇機率與統計文章非常出色,能讀到這些文章實為遊戲開發者之福~

  3. @墨墨:
    謝謝你提供的博客,其中的書籍翻譯文章真是相當專業且實用哪!博客連結我收下了! :D

Leave a Reply