直接設計體驗的數值平衡

· 2143 字 · 5 分鐘

嘿,這是一篇我想寫想了六年的文章!等等,什麼鬼,六年?

其實是關於一個我覺得理解之後就是個很理所當然的概念,但畢竟我也曾經沒意識到這個概念,就想著總有一天要來寫一篇關於這件事情的文章。因此心心念念惦記著六年,到了自己都真的開始做了遊戲實際應用後,更覺得應該有把握可以用自己的實作講清楚這個設計方針。

但首先我們來講個故事吧。

《全境封鎖》的遊戲平衡問題 🔗

2016 三月,Ubisoft 的《全境封鎖》(The Division)上市。在台灣相當熱門,上市初期在巴哈姆特的討論板排名也直衝前幾名。

tctd

就算到了今天也穩定坐擁「TV 掌機」分類前 20 名的位置,相當可怕的成績

然而玩過初版的人都知道這部作品實際上有超多問題:

  • 遊戲畫面表現、內容量完全不如一開始宣傳的程度
  • 亞洲伺服器完全不夠承載對應的玩家數,導致了排隊特工的出現
  • 基本上毫無反作弊機制,導致飛天條碼人到處跑

但當然,這些問題都勉強可以靠玩家心態的調整來應對:

  • 畫面表現其實還是很好,加上更新後的內容量其實也在合理程度,又有重複刷關的價值
  • 隨著玩家熱度下降,伺服器穩定度達到可接受範圍
  • 不想要面對作弊玩家,就不要進多人對戰區域就好

但這一切都救不了奇差無比的高難度關卡遊戲平衡。

遊戲從 1 至 30 等的遊戲本體內容都還算合理,但是一旦選擇挑戰高一階段的「困難」與「英雄」難度,馬上就會意識到「對著一個雜兵的頭部打光一條彈匣的子彈都殺不死對方」的奇差體驗。

實際上我個人破完了本體就沒有繼續挑戰終局,所以沒什麼被殘害到 XD

但後來時隔七個月,官方進行了一次超級大規模遊戲更新,光是更新紀錄就長達一萬字。但其中更有趣的是官方寫了一篇長文解釋清楚這次大量平衡修正背後的依據,可惜現在要回頭找的時候找不到了。

但總之當初的新聞稿的中文版是我翻譯的,所以就留下了很深的印象,以至於時隔六年也成為了我設計遊戲數值時的基本靈感來源。

範例-擊殺時間 🔗

要設計一個跟戰鬥有關的遊戲,大概可能會這樣設計這些角色數值:

  • 血量 H(HP)
  • 攻擊力 A(HP/次)
  • 攻擊間隔 T(秒/次)

角色每隔 T 秒可以對敵人的血量 H 造成 A 點傷害。嗯,很合理,這樣一個基本的跟戰鬥有關的遊戲就完成了。

但問題是:要怎樣控制這三個參數才能讓玩家玩起來好玩?假設有玩家跟敵人的兩個角色,代表總共有六個參數要控制,感覺好像控起來很困難。

其實並沒有。實際上會影響玩家的體驗只有一件事:擊殺時間 K

無論這六個數字怎麼定義,最後玩家會體驗到的要素其實只有:

  • 敵人攻擊我幾秒後我會死亡
  • 我攻擊敵人幾秒後敵人會死亡

也因此這個直接平衡這個數值本身就可以影響玩家體驗,而同時我們知道:

$$擊殺時間(秒)= 血量(HP) \div 攻擊力(HP/次)\times 攻擊間隔(秒/次)$$

即:

$$K= H \div A \times T$$

只要再多決定一個「攻擊間隔 T」,其實剩下的「血量 H」跟「攻擊力 A」就是個固定的比例了:

$$\frac {擊殺時間} {攻擊間隔} = \frac {血量} {攻擊力}$$

即:

$$\frac {K} {T} = \frac {H} {A}$$

因此兩者的數字本身就不具備意義,而是兩者之間的比值才具備意義。當然寫程式的時候還是需要完整的六個數值,不過需要經過人腦設計的數字其實比想像的少(主要是擊殺時間),也比想像的好設計很多(先設計擊殺時間、再設計攻擊間隔,剩下的就固定了)。

《自動混亂》中的應用 🔗

以前接受的訪談中其實就有簡單提過這件事情 XD

《自動混亂》中的敵人血量就是用「擊殺時間」來定義的,每個房間進去的當下都已經被決定好「希望玩家在這邊待幾秒」,接著就只需要加總起來符合那個時間的敵人生出來就好:

enemy ttk

而玩家在每個關卡有一個被預期的「每秒傷害輸出」值:

player dps

也因此我遊戲中的所有武器強度、隨機能力升級幅度就是配合這個預期玩家傷害輸出的成長而調整的。

這樣設計數字的方式可以在設計當下就已經可以預期玩家體驗大致如何。

一般團隊可能可以靠測試團隊來覆蓋,但我畢竟只有一個人開發,能夠在數值設計本身就控制住玩家體驗比較安全。就算我很喜歡玩自己的遊戲(自己講),改動一個設計之後想要透過實際遊玩來驗證成效如何還是太慢,更不用說熟知遊戲設計的我本身不容易測試出代表玩家體驗的結果,就只能靠消磨朋友的友情點數來換取驗證了。

除非……有什麼無視勞基法限制的存在可以幫我測試?這是下一篇的主題 XD

插曲-《自動混亂:零式》中的應用 🔗

《零式》的平衡在初始的七天工期中,基本上只有一天被拿來調整平衡。老實說平衡勉強調整到了勘玩的程度,不過在 G8 展第一天有玩過的玩家應該都會覺得是一個非常瘋狂又混亂的平衡,我也很老實又不好意思地跟試玩的玩家說遊戲的平衡其實是用腳做的 QQ

G8 展的第二天早上,我將整個敵人的數值設計做了重新修改,首先檢視數值設計平衡起來過於複雜的要素:

  • 在類《吸血鬼倖存者》的節奏下,敵人的死亡速度快到用秒數來估算太難用
  • 移動速度原本使用的是絕對速度,但《自動混亂》的基本速度對這種遊戲類型來說過快

因此對應調整成:

  • 血量改以「擊殺發數」定義
  • 移動相關的則改以「相對倍率」定義

於是就很順利地在展出前調整整體平衡到我真正希望玩家體驗到的樣貌,這天蒐集到的意見才是真正對遊戲開發有幫助的意見。應該比第一天好玩很多對吧,對吧?

無論如何,如果沒有先正確調整好平衡的重點數值,也沒辦法在這麼短的時間內就改出一個有效的版本。

edited enemy setting

修改過的敵人數值設定

two commits

G8 遊戲展第二天早上用一個小時、兩個 Commit 修改完平衡

it’s great, right?