這次的主題比較有趣點:一方面是對我個人來說很容易覺得理所當然,卻頻頻看到其他團隊做出錯誤的判斷;另一方面是後半部的主題,以《自動混亂》的設計來說是個「很不幸沒辦法做得更好」的情境。
近期《自動混亂》展開了一連串目前最大規模的對外測試,其中的成果與收穫讓我覺得是時候來嘗試好好地談這件事。這篇文章中,我會嘗試描述怎樣縝密地設計一個場遊戲測試,並且講清楚《自動混亂》的遊戲設計為什麼會造成遊戲測試的困難。
但首先,我們來做心態調整。
心態調整 🔗
身為創作者,製作出來的作品通常都是掏心掏肺而成的,獨立遊戲團隊中尤其如此。即便是一個百人的超大型團隊,遊戲中的細小要素也通常還是會反映出團隊中的個人。
當作品得到了負面回饋時,理所當然地很容易被直接反映成對創作者本人的攻擊。這就是要做心態調整的地方:幸也不幸地,測試者只是在攻擊你的作品本身,因為他們大概並不在乎你,或說請盡量找到完全不在乎你個人的測試者。
這張常被拿來描述論戰品質的圖,大概就是最能說明這個概念的素材。理想的測試者應該要只會做出最頂層的評論,如果他們會攻擊到你的本人的話就哪裡搞錯了。
所以身為創作者,也要記清楚,測試者絕對不會攻擊你的本人。
這個心態調整很重要,因為害怕本人直接被攻擊到情況下,會很容易規劃出完全沒有代表性的測試,那麼對所有人來說都是時間的浪費。
Destroy My Game 的心態 🔗
Reddit 上有一個很有意思的板:r/destroymygame。
這個板的目標就是要讓開發者主動接受遊戲的批評,而且要使用「把我的遊戲批得一文不值」的心態去全力抨擊。這個心態前提可以協助開發者取得真正有用的資訊,因為你可以假設這些回饋的人完全不在乎你,也就代表他們的回饋都會反映出測試者內心切實的想法。
板上的規則也很明確:
要全力抨擊的是遊戲作品本身,而不是開發者本身。
由於開發初期時,大多數測試者都會是認識我的人,也因此我進行任何測試時都會跟測試者講明必須用這個心態。如此一來就可以從測試者口中聽到非常殘暴,但也真實反映出我作品品質的評論。當麥威替我測試時說出「玩到想睡」的時候,的確我本人還是受到了心臟爆擊,但也才能讓我正視我很容易逃避不當一回事的設計問題。
反過來說,當麥威說出「對話方式滿有趣的,說明上也算可以接受」的時候,我就可以知道我真的有做對。
測試的規劃 🔗
要很完整地解釋測試的規劃會花上不少篇幅,但大致上也就是科學方法(Scientific Method)的延伸而已,所以我不會贅述太多。
基本上就是這樣的一句話:
我有一個假設,想要去驗證說對某個族群來說,是不是真的?
樣本的有效性 🔗
比較好理解的大概就是樣本數,樣本數太低的話其實沒有太大的意義,大家應該都知道。但相對容易被忽視的是代表性是否真的有發揮到,換個講法,如果沒有代表性的話,就算蒐集了上千萬個樣本都是沒有意義的。
舉例來說,如果今天目標測試族群是「台灣玩家」的話,就至少必須要注意:
- 樣本性別比是否符合台灣玩家的性別比?
- 樣本年齡分布是否符合台灣玩家的年齡分布?
更進一步的話還可能可以擴張到「職業分布」等等。
如果目標測試族群是「台灣大學學生」的話,就至少必須要注意:
- 樣本性別比是否符合台灣大學學生的性別比?
- 樣本的科系分布是否符合台灣大學學生的科系分布?
- 樣本的年齡分布是否符合台灣大學學生的年齡分布?
更進一步的話還可能可以擴張到「科系內的性別、年齡」分布。
例如說,如果想要調查「台灣玩家」習慣,卻把問卷調查發到「FB 遊戲開發者社群」的話,實際上調查出來的是開發者偏好而不是真正的玩家偏好。那麼這個問卷的代表性就會很低;如果想要調查「台灣玩家」習慣,選擇在 PTT Steam 板發問卷的話,實際上調查出來的其實會偏重代表會使用 PTT 的玩家。
所以如果遊戲只在「親朋好友」與「認識的開發者」之間測試的話,也當然是不足以反映出全世界遊戲玩家的體驗。這樣的代表性偏差是否能夠接受,是否在預期內就很重要,不要被錯誤的樣本代表性誤導測試結果的有效程度:可能你朋友很喜歡但剩下的人都不喜歡,也可能反過來。
實驗的設計 🔗
講簡單點,請盡量一次只驗證一個假設。例如說,想要知道「我的遊戲性棒不棒」就請只測試遊戲性。在開發早期階段通常大多數要素都會有進度不一的完成度。如果只是把一個早期版本丟出去就請人自由開放回饋的話,根本無從知道每個回答真正的意義。
例如說玩家回答「我覺得遊戲不好玩」,可能是指:
- 機制過於不良
- 關卡設計太過無聊
- 音效過於出戲,讓我無法享受
- 劇情稀薄讓我沒動力推進
- 妹子不夠香
如此一來就必須要對這些細項問題發散開來做額外詢問,而要求測試者同時感受多個要素,又要記清楚對每個要素的回饋時會很容易分心而反而回答不了。
給測試者一些額外的測試說明可以輔助測試,可以跟測試者說:
- 我的遊戲類型是這樣的遊戲類型
- 我的這些部分是沒有完成的,評價的時候請無視
- 測試內容是這樣,請盡量達成
- 請著重在注意這部分,是這次的主要要驗證的部分
- 大概時間這麼長
以《自動混亂》最近期的測試說明來舉例是這樣:
- 簡單 Recap 一下遊戲是個:Minimalist twinstick shooter with Rogue-like elements. Also a game about acknowledging player action.
- 如果英文方便的話英文是最佳選擇,可以考慮狀況選 XD
- 明講未完成的部分就是:文本、人物素材、音樂,同前述還是可以用 Destroy my game 的心態直接幹下去沒關係
- 測試結束目標是「不想玩為止」,所以沒有興趣玩下去就不用再硬測,可以直接評價
- 有很多詭異的設計目的,可以玩到就請我揭露,也可以整體測完想評價時再請我一起揭露 XD
- 測試目前平衡的人,破關是六-十二小時不等
當然以《自動混亂》為例有很多額外的測試問題,稍後會說明。
問題的設計 🔗
這部分想要講述的是「如何寫一個讓受訪問者可以回答出有用的資訊的問卷」,作為舉例拿出 2022 年十月在增肥沒有真的派上用場的《自動混亂》問卷。
不過也有另一個難題是:設計得很好很縝密的問卷,反過來可能因為太長而讓人懶得填。這就真的沒有很好的方針可以應對了,可以抓內容量的平衡、增加完成填寫的誘因,又或者環境上一定會幫你填完就沒關係。外部給予的填寫誘因可以進行抽獎,而確保一定填得完的環境可以是直接找認識的人或付錢給人來幫你測試。
以下流水帳講一些技巧:
不要假設填答者知道所有資訊,解釋清楚
做好專有名詞定義,協助填寫
用口語可以理解的方式解釋數字尺標的意義
盡量填出所有可能的選項
盡量列出選項很重要,因為你要想清楚沒被列出的選項是「真的沒有人會選」,還是「你不希望有人選」。但我們是來做資料分析的,就算你不希望有人選也該乖乖讓人選。我看過許多問卷進行遊戲價格的調查,然而卻有一個明確的最低底價,不讓人往下選,這樣就有點本末倒置了。
而如果在問題中填答者有想要表達的意見卻表達不出來的話,又或者是得用很彆扭的方式回饋,棄填問卷的機率會大增。例如說填答者如果在問卷很前面,就有想要填答的內容被迫只能在問卷最後面的備註欄填寫,這樣應該很惱人吧 XD 如果填答者想要反映說:「我對這款遊戲的價格興趣比所給的選項還低」反映不出來,選擇放棄填答的瞬間,反而就失去了這一份資料。
另外,覺得沒自信窮舉選項的話,就直接開出一欄自由填寫的「其他」給填答者使用。而給予預設選項是為了幫助填答者方便快速填答並引導作答方向,也要小心設計的選項對填答者造成誘導填出違心之言。
結果的有效性 🔗
統計學有各種檢定可以拿來驗證資料的有效程度,不過真的要解釋清楚各自怎麼運作就已經變成一門大學課程了。這邊先提幾個概念:
- 要能被拿來分析的資料必須符合常態分布,所以要先證明自己的資料是常態分布下使用統計學的分析工具才有意義。
- 相對的,根據中央極限定理,大約公認在超過 1000 個樣本數的資料就會產生常態分布性質。
已知是常態分布下,就可以使用很多分析工具來證明各類資料的有效性;相對的非常態分布也有對應的工具組可以處理,不過手段就比較麻煩。接著把過去上統計學時講義中最重要的幾張投影片偷過來,這幾張圖表會讓你知道你想要對特定資料類型做特定形式的比較時,可以判斷你需要的檢定的方法是什麼:
陳靜枝教授與盧信銘教授,真的很謝謝兩位的教誨
例如前述「族群比例分布一致」就是個需要被檢定的事情,檢定的概念差不多就是「我們在 X% 的信心下認為這筆資料跟我們的目標族群一不一致」。
如果在 95% 的信心水準下證明族群比例分佈一致的話,就是在接受 5% 不一致的風險存在下,我們相信接下來做的問卷分析內容是正確的。
就嗯,雖然也是我偷懶不太想要講得很詳細,但……上面這幾張投影片加起來才能構成完整的資料驗證手段,實在沒有太多拆開來舉例說明的方法 XD
強烈推薦想要設計測試的人去學一下完整的統計學,能夠明確知道每一筆取得的資料的具體意義,這種感覺會非常踏實。反過來或許也可以說,當你不確定你的驗證方法正確時,幾乎可以做好「驗證方式是錯誤的」的心理準備,也算是種思考方式。
及早測試的重要性 🔗
這就好說了,總不會想要遊戲已經開發了三年,才發現這遊戲根本就不好玩吧 XD
身為創作者的矜持可能會阻止提早進行測試,但只能說測試不只不嫌早,也其實不嫌頻繁。Valve 雖然已經很久沒做遊戲了,但在最誇張的時候,Valve 的遊戲是以每週一次為單位在進行的;台灣遊戲工作室 SIGONO 的平均測試週期則是兩週。當然一週一次、兩週一次可能對每個團隊會產生不一定的額外問題而拖延開發,這部分就還是要各團隊自己抓平衡想清楚,但無論如何大概最少一個月一次是非常推薦的。
逼迫自己永遠正視自己的作品的缺陷,才不會一直陷入自己的理想世界,看不到開發實際上的問題或無進展。
所以講簡單點,創作者的矜持什麼的,越早丟掉越好。
《自動混亂》的測試缺陷 🔗
換個講法,如何不要跟我犯下一樣的錯誤做出很難測試的遊戲。沒有不行啦,不太推薦而已 XD
自動混亂的遊戲設計有個一體兩面的優缺點:敘事與機制完全結合。選擇這個目標開發,確實是想要盡量做出獨一無二的作品,但隨之而來的是驗證時機很晚,非常危險:
- 完成基本遊戲機制(戰鬥機制與敵人)-只能測試打擊感
- 完成最小單位的遊戲循環(第一關與所有能力)-只能測試基本體驗
- 再完成完整遊戲循環(全關卡完成)-勉強可以測試機制,但與目標體驗完全不同
- 接著根據完成的機制與循環再去撰寫完整腳本-才終於達到目標體驗,可以正式測試全面的遊戲性,但文本爆幹多所以也花上了不少時間 Orz
尤其因為是一人開發,所以整個過程只能用循序推進的開發,因此將真正的體驗完成就一口氣推遲到整個遊戲開發的最尾端。提早收取的測試回饋只能針對遊戲的超片面內容,對最後體驗的代表性很低,頂多保一些心安。
雖然目標是想要證明完全耦合的敘事與機制可以帶來顯著有趣的遊戲體驗,但反過來說,無論是敘事還是機制都無法單獨測試。這個開發模型最近被 IGDShare 的大統領形容為「樂透開獎式開發」,近期開獎證明了我的設計方向是正確的,但萬一這一刻發現測試回饋都炸得一蹋糊塗的話,我還真的不知道該怎麼繼續前進 XDDDDDDD 通常一般遊戲可以試著努力推動一個「垂直切片」的開發,然而《自動混亂》是一款「整個遊戲就是個垂直切片」的作品(望
當然即便如此,其實還是有一些可以被明確提早測試的部分,或者說用不同的方式驗證成功的可能性,例如說視覺的有效性其實還是可以及早測試,不過一人開發就是所有開發環節會互相搶資源。
總之請拜託盡量設計可以被及早測試驗證的遊戲。