遊戲企劃必修課:淺談「戰鬥數值」設計 Part.02
來談談戰鬥力和數值策略吧
還沒看過上一篇的,可以點我前往Part.01。
接續上一篇的話題,今天我們先來聊聊「戰鬥力」吧!
什麼是「戰鬥力」?
先理解為什麼需要有「戰鬥力」
在遊戲中,戰鬥力的存在目的主要有兩個原因。
- 在戰鬥前用來評估敵我雙方實力差距的依據。
戰鬥力系統在競技類遊戲很常見,但PVE遊戲中的關卡資訊有時也會採用,例如「建議最低戰力」等等,有時角色等級作為參考會略顯不足,戰鬥力能更準確的評估敵我差距。 - 讓玩家有明確的追求和成就感目標。
很多競技向的遊戲會以戰鬥力作為最明確的數值指標,在排行榜上看其他玩家最直接的就是戰鬥力,也有許多付費點直接以戰鬥力作為付費誘因等等。簡單來說,就是量化成數字,讓玩家更能有比較和追求的動力。
(很多玩家其實不喜歡複雜的配裝配隊,只要能有數字變化,讓玩家知道「有變強了」就行,戰鬥力系統能簡化策略門檻,讓休閒玩家也能有明確的目標。)
但如果有戰鬥力系統,卻反而「不能客觀的顯示玩家的勝負機率」,那麼這個戰鬥力不要顯示出來反而會比較好。
我戰鬥力不是比較高嗎?為什麼還輸!
對面戰鬥力很弱欸,怎麼可能競技場排名比我還前面,是不是作弊?
戰鬥力的定義?
戰鬥力的定義其實說起來很簡單,就是兩個人互毆,戰鬥力高的會贏,或者說贏得機率比較高。
還記得前一篇我們有聊過所謂的「存活時間」嗎?
我們姑且先不論機率性的因素,例如「爆擊」或「閃避」等情況,如果「雙方互毆並同時倒下」,我們就可以視雙方的「戰鬥力相等」。
也就是說,「存活時間相同」就代表戰鬥力相同。因此我們借一下上次談到的存活時間公式:
戰鬥力的基礎,其實就是角色能在戰鬥中支撐多久,畢竟對手如果先倒下,就是我方的勝利了。
如果稍微複雜一點,把上次提到的「有效傷害=ATK × (1-減傷比例)」帶入的話,那麼戰鬥力也可以寫成
接著,我們再來看看機率性的問題,也就是閃避和爆擊等因素。
什麼是「有效生命值」?
這裡要介紹一個很重要的觀念,叫做有效生命值。
還記得上一篇我們討論了很多防禦力和減傷的公式對吧?但如果戰鬥力僅僅只計算生命值和攻擊效率,省略了防禦力,很顯然與實際情況不符合。
因此,上面的公式要稍做修改,改成
然後我們來解釋一下所謂的「有效生命值」,簡寫為EHP:
EHP:Effective HP,有效生命值,代表將角色所有的「生存要素」全部算入後,最終以一個數字代表角色生存能力的生命數值。也就是包括防禦減傷、閃避、抗性、生命回復手段等等所有因素的總和。
好像有點抽象?沒關係,我們直接看範例吧。
小明的各項屬性如下
- 生命值:100
- 減傷比例:50 %
- 閃避率:20 %
假設小華的攻擊力為 10,請問小明站著不動給小華打,小華的期望值是多少次攻擊可以擊敗小明?
首先,我們先計算不閃避的話,小華要打幾下。
由於減傷比例為50%,因此小華實際攻擊小明的單次傷害是 5,也就是說,要攻擊 100 / 5 = 20 次才能擊敗小明。
接下來加入閃避率,以期望值來看,20%的閃避率代表每五下攻擊有一下會落空,因此對小華來說,攻擊輸出的效率衰減了 20%,也就是說,可以視為單下攻擊只會造成 4 點傷害。
這樣計算的話,小華擊倒小明的期望次數為
100 / 4 = 25 次
或者把算式寫完整一點
在這種情況下,如果把小明的防禦減傷和閃避率全部計算到血量上頭,代表小明實際的「有效生命值」是小華攻擊25次才能擊倒的程度。
也就是
25(次數) × 10(小華的攻擊力) = 250(小明的有效生命值)
這樣大家了解了嗎?有效生命值會將其他生存要素都計算在一起,壓縮到一個值上頭。
因此戰鬥力的基礎原型這樣定義會比較正確:
此外,爆擊或命中要害等等,這種機率性提昇攻擊的手段,也可以用一樣的方式算進輸出效率裡面,得出更為精確的戰鬥力數值。
參考資料
上面這兩篇都相當值得一讀,尤其是第一篇解釋得很詳細,詳列了如何將各種屬性統一量化,方便處理數值平衡的方法。
但礙於篇幅和複雜度,本文就不介紹這麼細了,請大家自行參考吧。
數值設計的「極值」
上述理論看起來好像很有道理,但其實在實際設計的時候,會出現很多極端的情況。
例如
「A 玩家」
有效生命值 EHP:1
輸出效率 DPS:10000 / 每秒
乍看之下,A 的戰鬥力是10000。
但如果遇到下面這位
「B玩家」
有效生命值 EHP:1
輸出效率 DPS:1 / 每秒
B 玩家的戰鬥力只有1,但 A B 兩者互毆,結果是「同歸於盡」。雖然有傷害溢出的部份,但多造成這些傷害也並不會改變 A 也同時陣亡的事實。
數值在設計體驗時要注意的部份,就是「極端情況」。在設計時,雖然提供給玩家的自由度越高,遊戲的策略變化就越多,但是也要留意這個比例,盡量不要讓玩家配出太極端的狀況。
除了數值來源的把控外,公式上的設計也很重要。
通常有兩種方式,第一種是「讓數值公式複雜化」,用以應對各種極端狀況,這種方式需要長期積累的經驗和專業。
另一種則是「用很多種公式來應對很多種狀況」,例如針對上面這種戰力相差極大的情況,提供另一套額外的修正方案。
根據戰力「改變結果」
前面有提到,如果戰鬥力的顯示和實際戰鬥結果有出入,那玩家就會覺得很不開心,對吧?
換個角度來說,那就讓「戰鬥結果符合戰鬥力比較」就行了。
沒錯,就跟前一篇我們提過的,RPG遊戲會依照玩家和敵方等級差異,主動調整傷害差異的作法一樣。
很多遊戲為了避免玩家在攻擊比自己戰力低的角色常常打輸,就會加入這種隱性公式,用來修正戰鬥結果,讓戰力高的玩家更有優勢。
這種方式也被稱為戰力碾壓系統。
例如
高戰力攻擊低戰力時,每差距 10戰力,攻擊傷害上升 5%
這樣一來,就能確保高戰力玩家打輸低戰力對手的機率大大降低了。
額外思考
也有一種方式是「事先計算結果」,然後再顯示成對應戰鬥力給玩家,反正一般玩家肯定不會無聊的去計算敵人的戰鬥力,只要玩家自己的戰鬥力沒變化,偷偷調整敵人的戰力就行。
甚至可以把比玩家稍差一點的敵人,戰鬥力偽裝成比玩家高一些,這樣玩家打贏會更有成就感。
當然這些操作都只能針對中後段的玩家,前幾名大R是萬萬不能這樣處理的喔。
總之,數值這種東西是為了體驗服務的,只要體驗好,公式怎麼算都是ok的。(但別忘了競技型遊戲,公平也是體驗的一環喔)
極端數值狀態下,「先攻」的價值
上面提到了,在極端狀態下,戰鬥力的顯示可能會失去客觀性。
這種情況其實在回合制更加的明顯,尤其是「卡牌對戰遊戲」。
我們可以分兩種不同的狀況,第一種是「攻擊時,僅防守方受到傷害」。
這也是常見的回合制RPG遊戲會採用的機制。
在這種狀況下,如果雙方都是一擊就能打死對方,那麼「誰先動手」影響很大。
如果在PVP系統中採用這個機制,那麼攻速(在回合制中通常代表誰先行動)就非常重要。
例如陰陽師中的「拉條山兔流」就是利用加速讓我方角色連續行動,把對手打到死的策略。
這種情況下,堆疊攻速就非常重要,因為誰先動手誰就贏了。
第二種則是攻擊時雙方會同時造成傷害。例如爐石戰記或是闇影詩章這種卡牌遊戲就是採用這種方法,避免先手的優勢太過強大。(由於系統的設計,召喚的生物需要等一輪才能攻擊,如果戰鬥時只有防守方會受傷,先手可以一直把對方的生物殺掉又不用付出任何成本)
除此之外,這種類型的遊戲也可以細分為「戰鬥時是否有先後手差異」或是「雙方都會造成傷害,但若其中一方死亡是否中止」等等不同的處理方式。
例如聖火降魔錄這款戰棋遊戲,就是雙方都會造成傷害。但進攻方通常會先手攻擊,如果防守方已經死亡,那麼就不會進行反擊,戰鬥會直接中止。因此先手打死對方能獲得更大的優勢,讓兵種相剋的效益提昇許多。
(P.S.防守方手太短無法反擊遠程攻擊又是另一回事了。此外,聖火的「速度」屬性的用途,是如果其中一方速度超過對方一定值以上,攻擊時就能連續攻擊兩次。)
就算傷害再高,死人是沒有 DPS 的!
這點在任何遊戲都通用,所以在設計數值的時候要特別留意這種狀況喔。
額外思考
這也是為什麼「數字越小」的遊戲越難做遊戲平衡。因為數字小的設計,代表「極端狀況」出現的機率大大提昇,而且沒有微調的空間。
相對之下每次傷害幾百萬、戰力幾千萬這種設計容易許多。
什麼叫做「傷害稀釋」?
好的,關於戰鬥力的部份告一段落,我們來聊聊其他內容吧。
在RPG類型的遊戲中,要幫角色配裝備的時候,常常會聽到某些配法會讓「傷害效益被稀釋」。我們來聊一下這個「被稀釋」到底是什麼意思吧。
實際上,傷害公式遠遠不是前面講的那麼簡單,很多遊戲的傷害公式加入了各式各樣的要素。
拿「寶可夢」(或筆者還是習慣叫做神奇寶貝)為例,傷害的最終計算是
招式的基礎傷害 × 招式屬性對對方屬性加成 ×擊中要害加成 ×招式屬性與寶可夢屬性一致加成 ×天氣狀態加成 ×特性加成 ×目標數量加成
是以上這麼一長串的公式乘出來的結果。(可以參考寶可夢Wiki關於傷害加成的介紹)
也由於傷害公式如此複雜,所以在乘法計算中,即使同樣比例的傷害提昇,分散在不同種類中會比集中在同一個類別來的有效益。
我們直接看實際例子吧。
假設傷害公式為
基礎傷害 × 物理傷害加成 × 武器傷害加成
今天角色有一把斧頭,基礎傷害為 100,並且有三個附魔詞綴的空位。
其中可以獲得的加成包括
- 基礎傷害增加最高 50%
- 物理傷害增加最高 60%
- 斧頭傷害增加最高 50%
請問,怎麼分配能夠讓攻擊傷害最大化?
如果只看面板增幅,物理傷害的 60% 明顯比其他兩種增幅要高,那麼,全部都附上這條詞綴,武器的傷害增幅會變成
基礎傷害 100 × 物理傷害 (100%+60%+60%+60%)× 斧頭傷害 100%
= 100 × 280% × 100% = 280
但如果今天將詞綴平均分配到三種不同的類型上,會變成
基礎傷害 150 × 物理傷害 160% × 斧頭傷害 150%
= 150 × 160% × 160% = 360
這種配法比上面全部加到物理傷害增幅的效果要好的多。
在這個例子中,將詞綴都配成物理傷害增幅,就會導致「傷害被稀釋」。
將面板增幅平均到相乘的類別中,會比集中在某個相加的類別來的有效益。這個情況會根據公式的設計有所不同。
以設計師角度來說,盡可能的去設想設計出來的裝備會被玩家怎麼搭配,才能避免某些新要素推出後,對原本的遊戲生態造成不好的影響。
常見的策略循環
可以參考一下筆者之前在「塔防專題介紹Part.02」提過的「策略循環」,這是在設計角色或敵人時,一個很重要的思考方式。
藉由策略和相剋的邏輯,增加玩家的策略思路,同時也提高玩家對於擴充策略池的追求(例如抽角色或裝備)。
以下談幾個比較常在RPG遊戲中使用的策略循環。
1.攻擊次數和攻擊力的取捨
盜賊和野蠻人(或重武器戰士)的形象一直都是RPG遊戲中常見的角色原型。
盜賊的特性是攻擊速度快,或是多段連擊,而重武器戰士的特性就是單次傷害超級高,但速度緩慢。
舉個常見的形象就是魔物獵人中的「雙刀」和「大劍」的差異。
在遊戲中,設計師需要「做球」給這些擁有不同特性的角色,讓他們在不同狀況下也能派上用場。
多次攻擊的優勢
針對「攻擊次數高」的角色,做的球就是「忽略一定次數攻擊」或是「無論攻擊力多少,傷害值都有上限」的敵人。
舉例來說,爐石戰記的「聖盾術」就是這種類型的能力,這個技能可以阻擋「任何形式或數值的一次傷害」,但僅能抵擋一次。因此召喚一堆小生物、使用多段攻擊的法術或是生物擁有多次攻擊能力,都非常克制聖盾術。
而「單次傷害值會有上限」的經典範例就是勇者鬥惡龍系列的金屬史萊姆。這種怪物受到大多數攻擊,都只會造成一點傷害,但他們本身的血量相當少,因此多段攻擊反而對他們更有效果。
攻擊力高的優勢
攻擊力高的角色通常會需要利用「防禦數值」和「傷害計算」來做球。
例如若遊戲的戰鬥計算是採用「減法公式」(詳見前一篇介紹),那麼攻擊力越高,就能造成越多的傷害。
反倒是多段攻擊每次傷害都會被防禦值阻擋一部分,傷害效益大大的下降了。
比較極端的作法也有像是需要「一定量的單次傷害」才能「破防」這樣的設計,就是特別做球給高傷角色的結果。
2.百分比和面板數字的取捨
百分比和面板數字的策略循環也是非常常見的。
無論是「補血」或是「傷害」,都套用這個循環。
可以造成百分比的傷害或回復,對數值總體較高的目標會比較有效果。
而直接以面板數字進行傷害或回復,對數值總體低的目標會更有效益。
例如今天兩招技能
回復術:回復目標 20 點 HP。
治癒術:回復目標 50% HP。
對最大生命值 1000 的角色來說,後者更有效益,但對於總生命值只有 20 的角色來說,還不如直接補 20 點來的更快。
當然有些技能的設計為了平衡這種情況,會把兩種計算方式混合在一起。
例如
火箭術:對目標造成 200 點傷害,並且陷入灼燒狀態,每回合損失 5% HP最大值的傷害,持續3回合。
康復光環:對目標造成 250 點的恢復效果,且 10 秒內提供每秒 50 + 5% 最大生命值的治癒量。
3.快速與持久的取捨
戰鬥持續時間也一直是策略循環中很重要的要素。例如挑對手AI打的競技場遊戲中,為了避免時間拖太長,通常都會有「回合限制」,如果打到時間到了,防守方還沒全滅的話,就判定攻擊方進攻失敗。
這種狀態下,防守方打「持久戰」明顯更為有利。
而攻擊方為了避免這種狀況,策略就是盡快結束戰鬥。為此可能不惜使用前期爆發後期副作用大的隊伍或是配裝,力圖盡早擊敗對手。
除了競技場之外,打Boss之類的也很常見,只要打贏對手就行,不限制時間的話,風箏(打帶跑)戰術,搭配例如毒液等隨著時間扣血的異常狀態,用這種方式把王磨死也是很常見的策略。
不過總的來說,戰鬥時間拖太長的話,容易讓玩家有作業感和疲勞感,所以這個度的拿捏相當重要。
在設計遊戲系統的時候要記得一併考慮。
延伸閱讀
第二篇告一段落
這篇針對戰鬥力公式做了比較簡單的介紹,但市場上的商業遊戲實際計算方式會比這邊提到的複雜非常多,有些甚至是商業機密的等級。
畢竟,要設計好的遊戲體驗曲線,需要的是大量的經驗積累。有很多公司會高薪聘請在某個領域很有經驗的數值企劃,也是基於這個原因。
下一篇,我們會來聊聊數值和遊戲表現的關聯,例如攻速數值對動畫的影響、技能文字說明怎麼樣才能寫的清楚,以及哪些戰鬥公式比較適合哪種類型的遊戲。
例如一款競技向的遊戲,雙方角色的成長曲線都相同,那麼等級一時的互毆和等級一百時的互毆,感受完全相同,這樣對玩家來說是不太行的。因此很多遊戲會把 PVE 和 PVP 的計算方式拆成兩套(甚至裝備和技能也是兩套)為的就是這個原因,下週我們再來聊聊這部份吧。
那麼今天就先到這邊。
我是水狼,我們下次見。
也可以到臉書追蹤我喔: 粉絲專頁連結
最後,請多利用我的個人文章列表,會持續更新: