戰鬥公式的演化與策略--屬性與公式的關係、減法公式與乘法公式
一個經典傷害公式的例子
下面我們先來看經典遊戲《魔獸世界》其中一個版本的一個計算公式
攻擊強度(Attack Power,簡稱AP)
Warrior/Paladin(戰士/聖騎士):AP=角色等級*3+力量*2-20
Hunter/Rogue(獵人/盜賊):AP=角色等級*2+力量+敏捷-20
Shaman(薩滿):AP=角色等級*2+力量*2-20
Druid(德魯伊):AP=力量*2-20
Mage/Priest/Warlock(法師/牧師/術士):AP=力量-10
角色DPS(每秒傷害)=AP/14+武器DPS
單次攻擊傷害(最小/最大)=攻擊速度*AP/14+武器傷害(最小/最大)+技能附加傷害
這裡我們可以看到,不同職業的ap計算公式是不一樣的,這由設計師所設計的職業特性決定,這樣也意味著不同的職業有不同的屬性和裝備追求。
防禦力(Armor)
1敏捷(Agilty)=2護甲(Armor)
原來:Armor減少傷害%=0.75%*防禦力/(攻擊方等級+9)
後調整為:傷害=原始傷害值/(1+armor/x),x和等級有關,那個x好像是400+85*lvl 傷害減少百分比的封頂值是75%
這裡我們可以看到這個防禦公式做過一次調整,不過2個公式裡面核心思路都是需要有等級這個因子,這個因子的作用是玩家等級越高需求的防禦力越大,也就是說防禦值的等值收益是隨角色等級增加遞減的,因此玩家需要不斷提升防禦力來增加傷害減少的值。
最終傷害還會受到暴擊,格擋,技能等因素的影響,在這裡我們暫時不做一一介紹,有興趣的朋友可以上網查閱相關的資料,隨著版本的變更公式也可能做了很多次調整,這裡不影響我們接下來要做的探討。
戰鬥屬性的策略模型
基本戰鬥模型
最基本的戰鬥模型由:生命值,攻擊力,回合數3個要素構成,若是即時遊戲,可以將一個標準戰鬥時長和標準攻擊頻率轉化為回合數進行計算,二著沒有本質的區別。
傷害=攻擊力
之前很多橫版清關遊戲大部分用的就是這個。基於這個模型可以設計出攻擊型單位和肉盾型單位。
屬性新增與衍生策略
現在在屬性中增加防禦力
傷害=攻擊力-防禦力
這樣看增加防禦力這個屬性是沒有任何意義的,防禦力的增加等同於每回合增加的生命值,從策略維度上看,相等於增加了生命值的上限,因此還是隻能設計出攻擊型的單位和肉盾型的單位。
為了讓防禦這個屬性發揮作用, 我們進一步分析,這個生命值的增加是基於減少每回合對手攻擊力削弱而進行增加的,針對性的策略設計應該是如果我們選擇增加防禦力,對方可以選擇什麼樣的策略進行對應。因此基於防禦力因素的新增方面我們可以從設計一個屬性讓防禦力在策略維度上生效。
防禦力降低每回合對手的輸出暴擊發生暴擊,則單次攻擊雙倍,那麼約等於防禦力弱化攻擊頻率若攻擊頻率增加,那麼針對攻擊次數增加,同強度下傷害減少,則防禦力效果增加
也就是說,暴擊屬性和攻擊頻率的屬性增加可以針對屬性投放策略設計出入狂暴戰士,盜賊,弓箭手這樣的職業特性。
基於玩法系統的屬性型別新增
傷害=攻擊-防禦 這是一套完整的戰鬥體系如果我們要針對法師職業設計法術傷害,那麼我們也可以用同樣的方法設計出 :法術傷害=法術攻擊-法術防禦
他們通過共同屬性生命值聯絡在一起。至於暴擊,閃避,命中這類屬性是否需要也作用於法術傷害體系,取決於具體的投放和設計者想要設計的特性。
如果我們需要針對不同型別的法術設計出不同的傷害效果,例如黑暗魔法,光魔法,神聖傷害之類,我們也可以設計對應的屬性與屬性抗性,在公式方面既可以基於基礎的攻擊公式做強相的乘法或弱相關的加法。
例如:
傷害=(攻擊-防禦)*(1+(黑暗法術增強-黑暗法術抗性))
傷害=攻擊-防禦+黑暗攻擊-黑暗防禦
基於節奏投放的的屬性擴充
當一個遊戲為了後期讓玩家有屬性方面的追求,尤其是現在以系統迭代為代表的網路遊戲,設計者有可能設計與策略無關或是影響原有策略判斷但是看起來很厲害的特殊屬性,例如原本設計了防禦力,後來又增加設計屬性無視防禦攻擊,設計了無視防禦攻擊有增加無視防禦抵抗。設計了暴擊增加設計直接暴擊屬性等等。甚至完全獨立出來增加金木水火土另一套傷害與傷害抗性出來。(這裡所說的屬性傷害不是那種與遊戲策略和文化強結合的屬性傷害。)
減法公式與乘法公式
減法公式的傷害計算:傷害=攻擊-防禦
乘法公式的傷害計算:傷害=攻擊*傷害減免(傷害減免一般由防禦屬性與其他屬性常量和變數得到)
下面我們來詳細介紹下減法公式與乘法公式的優缺點和需要注意的地方,這裡討論我們主要是基於防禦屬性的討論,暫時排除其他屬性和例如技能這類的系統的影響。
減法公式
優點簡單直接方便理解方便進行戰力轉化計算缺點等級範圍內節奏難以控制,尤其是付費獲得的防禦屬性方面在等級範圍內達到上限,造成低端玩家無法對高階玩家造成傷害。
由減法公式的缺點可以看到,我們一般做減法公式的時候需要針對這些做一定的處理來緩解這些。可用的處理方式有以下幾種
1:設定標準的防禦預期減少傷害的比例,並且儘可能的讓這個比例不要過大,由此增加等級範圍內防禦的提升空間。例如我們在標準投放的時候就讓防禦可以減少70%以上的傷害,那麼玩家只要稍微通過其他途徑獲得了防禦力就可能導致防禦力加滿。
2:設定最大減少傷害的比例,以免低端玩家對高階玩家無法造成傷害。
3:設定防禦力的效果與防禦減少比例之間的關係,例如如果防禦力減少了50%的傷害,那麼超過50%的防禦力只能發揮60%的效果,例如對方100點攻擊力,我有80點防禦力,那麼我實際產生的防禦效果就是50+30*0.6=68點,依次類推進行調整。
乘法公式
有人將乘法公式和除法公式分成兩個類別來進行介紹,我覺得必要性不大,下面我們列舉2個常用的乘法公式和大家進行介紹。
公式1:傷害=攻擊x攻擊/(攻擊+係數x防禦)
公式2:傷害=攻擊x(1-1/(1+防禦/等級函式))
乘法公式的核心原則是加入其它變數讓防禦值增長的時候減少傷害比例接近1而永遠無法達到1,因此我們在公式中看到的攻擊x攻擊/(攻擊+係數x防禦)實際上是攻擊力與攻擊/(攻擊+係數x防禦)的這個係數作用。和公式2的原理是一樣的。公式2加入了等級因子,按個等級函式是指每個等級有一定的防禦需求,若玩家防禦力沒有提升,那麼防禦產生的效果就會下降。
優點相對於減法公式,乘法公式中防禦力接近無窮大都有價值缺點防禦的價值難以準確進行計算,只能根據標準值進行參考估算
在進行乘法公式的時候我們通常需要進行如下的處理
1:拉出範圍內傷害與防禦的曲線,判斷有價值的區間是否合理,然後調整係數將它調整到合適的範圍,若無法調到每個等級都合理,可能就需要設計分段函式進行細節控制。
對比乘法公式和減法公式的優點和缺點可以看出,乘法公式雖然在複雜程度上提升了很多,但是實際的優點也沒有想象的那麼多。儘管用了除法公式能夠讓防禦趨向於無限大,但是這個曲線也會受邊際效應的影響,和分段減法公式的效果是差不多的,這也是為什麼大家看到的大部分遊戲選擇乘法公式的原因。
最後總結一下,在進行數值公式的設計和選擇過程中,要儘量避免出現為了公式而公式,而是儘可能的從使用者接觸的數值體驗上多做考慮,從遊戲的數值策略,節奏,和投放上面多做設計和調整。我們在對其他遊戲進行公式分析的時候,原則上公式中所包含的每一個變數,每一個 運算子號都有其特定的含義。或是節奏上的,或是策略上的,或是為了應對某個技能存在或是某個系統存在。後面我會提供一些其他遊戲的公式供大家參考。
歡迎大家進行交流,若有錯誤和不同的觀點也希望得到大家的指正和建議。
qq群號:714174640
管理員微信:bigpug
公眾號:youxihun2000
作者:逍遙仙
來源:GAD
地址:https://gameinstitute.qq.com/community/detail/133039
相關文章
- 談談戰鬥力【二】——暴擊、穿透與減法公式穿透公式
- 【數值框架】戰鬥公式:傷害公式選擇框架公式
- §3. 高斯公式與斯托克斯公式公式
- 【公式與引數】用友U8-UFO報表公式與引數基礎公式
- 關鍵詞與主題分面公式公式
- 條件概率與全概率公式公式
- px 與 dp, sp換算公式?公式
- 尤拉公式——真正的宇宙第一公式公式
- 全概率公式、貝葉斯公式公式
- 原子謂詞公式和合式公式公式
- FlashAttention逐代解析與公式推導公式
- 《火焰紋章風花雪月》能力屬性和戰鬥計算公式研究公式
- 求和公式公式
- js公式JS公式
- 物理公式公式
- word公式公式
- Office公式公式
- MD 數學符號與公式表達符號公式
- Android px 與 dp, sp換算公式Android公式
- 控制公式的大小公式
- 關於PMOS與NMOS電流公式的方向問題公式
- word公式怎麼計算 word公式計算的方法公式
- 【公式】殺號公式準確率可達98公式
- 淺談全概率公式和貝葉斯公式公式
- Web Mercator投影與反投影計算公式Web公式
- EXCEL操作公式Excel公式
- 常用Latex公式公式
- jupyter公式公式
- Lotus 公式秘籍公式
- 一個公式公式
- 格林公式7公式
- 爆款公式公式
- 數學公式公式
- Nodejs post的公式NodeJS公式
- Excel公式大全詳解 excel表格計算公式大全Excel公式
- 通達信與妖共舞附體指標公式指標公式
- WPS/Word中公式與文字不對齊的問題公式
- Excel函式應用教程:函式與公式的概念(轉)Excel函式公式