關於戰斗數值系統的一些心得,歡迎指正。

Translate
轉載自TapTap用戶 小乌龟
沒事幹,就大概測算了一下修真江湖的戰鬥系統。由於數據太少,本帖所有內容基本靠猜。不喜勿噴。
那麼下面進入正題。
我們以正常個玩家都有3個單位(本體,道侶,寵物)上陣為基準。每個單位都有基本屬性,與傷害數字計算有關的屬性有:攻擊,物抗,仙抗,命中,閃避,暴擊,抗暴,以及所使用的招式傷害加成。假設A出招攻擊B,我們可以有以下推算過程:
1. 首先計算真實命中率和暴擊率:
真實命中率 = (A命中 - B閃避) / B閃避
真實暴擊率 = (A暴擊 - B抗暴) / B抗暴
然後再做微調:命中率= min(max(最低命中率,真實命中率), 最大命中率) 和暴擊率= min(max(最低暴擊率,真實暴擊率), 最大暴擊率) 。不知道最低和最高的數值是多少,我們可以假設最低10%和最高100%。這樣保證數值差太多也有10%的概率可以命中和暴擊。
2. 生成0 - 1之間的隨機數X1和X2,如果X1< 命中率那麼命中,如果X2<暴擊率那麼暴擊。假設基礎暴擊倍數是2 (玄天11重傳承是2.3)。
3. 命中後,開始計算A對B造成的傷害,假設A使用的是物理傷害招式(仙術同理),如下公式:
真實傷害 = max(最低傷害,(α * A攻擊 - β * B物抗) / γ)
傷害係數 = 招式傷害加成(例如350%的物理傷害)+ 體質對於招式類型的加成(例如劍體) + 秘法對於招式類型的加成(例如劍意)
招式傷害 = 真實傷害 * 傷害係數 * 暴擊倍數(如果暴擊為2,否則為1)
然後還需要考慮法寶傷害與減傷。
如果B的法寶剛好是抗劍(假設)。那麼 招式傷害 = 招式傷害 * (1 - 抗劍百分比/100) * (1 - 煉魂宗傳承減傷百分比/100)
法寶五行傷害 = (法寶攻擊百分比 * 招式傷害 + 五行固定傷害) * (1 - 五行減傷百分比/100)
A對B造成的最終傷害 = 招式傷害 + 法寶五行傷害
4. 造成傷害後,減少B的生命:B當前生命 = B回合開始時生命 - A對B造成的最終傷害。如果B當前生命<0,則檢查B是否還存在地魄復活與大荒免死的剩餘次數,有則對應剩餘次數-1,無則標記單位死亡。
5. 另一個重要的戰斗數據是戰鬥順序。這其實是回合製遊戲,一回合中每個活著的單位都會出手一次。出手順序是按照速度排序,從最高到最低。如果速度相同,就會攻擊方優先出手(攻擊方就是屏幕下方的三個單位,防禦方就是屏幕上方的)。這也解釋了為什麼門派閉關中打自己鏡像永遠是自己先出手。
6. 在安排對戰陣容時,排序也非常重要。每個單位出手時,如果正對面的單位還存活,會攻擊那個單位。否則會從左邊往右邊依次攻擊。假設三個單位的位置從左往右依次是1,2和3,如果攻擊方單位是2出手。那麼會先查對面的2是否存活,如果存活就攻擊2,不然檢查1是否存活,最後是3,以此類推。
由以上推算,可以看出許多東西:
1. 招式傷害與攻擊加成並不相同。總攻擊= (基礎攻擊+ 武器攻擊) * (助戰加成+ 體質加成+ 本源/招式加成),其中基礎攻擊包括了本源/招式給的攻擊,屬性丹給的攻擊和仙盟功法給的攻擊等。而總招式傷害加成上面已經說過了。如果要比較哪種體質的加成最好,需要代入計算。比如我們可以比較虛靈劍體和上清劍體哪個更強。
上清劍體加20%攻擊,40%招式傷害,假設原本就有的加成都是300%。那麼總加成= 320% * 340% = 1088%,同理,虛靈劍體加30%攻擊,30%招式傷害,總加成= 330% * 330% = 1089%,可以發現虛靈劍體其實更強1%(斜眼笑,當然還需要代入具體數據自己計算,不同原本的加成會導致結果的不同。
2. 雙抗的收益非常大。由於不知道上述係數α和β具體數值,但是根據推測,α = 1,β = 2,也就是說任何抗性在傷害計算中都是2倍收益。這也解釋了為什麼法寶上面基礎屬性,命中閃避暴擊抗暴加成都是物抗的2倍。但是由於算進最後總仙力的係數不同,總仙力大約 = 攻擊 * 5.1 + 生命 * 2 + (物抗 + 仙抗) / 2 + 其餘屬性總和。單單增加物抗仙抗只有一半的收益,更別提裝備給的物抗仙抗都少得可憐。但是其收益比想像中要大得多。
3. 最近新開的妖魔入侵,很多人好奇為什麼戰力很高,但是傷害打不高呢?在低境界,攻擊 < 妖魔防禦的時候,能造成的真實傷害只有系統默認的最低傷害,大概也是根據境界來推算的,比如 境界係數 * C,C是常數,或者 境界係數^2 * C。那麼這時候,法寶的固定傷害就是總傷害的大部分來源,基本到了80%-90%。所以這時候想要傷害高,請氪金提高法寶五行等級(不要叫我托,這是遊戲公司又一種騙氪手段)。
4. 也有不少萌新比較困惑打架該怎麼排序呢,最簡單的辦法就是哪個單位攻擊最高就放最右邊(一般來說是本體),因為是最後被打到的。
另外,我閒著沒事隨便花了1小時做了一個戰鬥模擬系統,用蒙特卡洛模擬10萬次戰鬥來計算勝率,有興趣的朋友可以留言,共同進步。
暫時就先這麼多吧,隨便寫寫,不喜勿噴。
Mentioned games
Comments

Be the first to comment.

Say something...
0
0
0