回覆列表
  • 1 # 3434657

    剛好在整理一些數值方面的東西,就乘法戰鬥公式這塊我貼一下我整理的文章為題主提供一個參考:

    最基本的公式:攻方傷害=攻方攻擊力*係數

    係數包括且不限於以下幾個方面的乘積:

    1. 防禦減傷率:根據受擊方的護甲/防禦力而產生的一個減傷的係數

    a) 這個係數設計的基本思路有:

    i. 護甲越高,防禦減傷率越高。

    ii. 護甲越高,所帶來防禦減傷率的邊際收益越低。

    iii. 護甲值趨向於無限大的情況下,防禦減傷率趨向於小於1的一個定值。

    b) 具體的一些思路/例子:

    i. 基本的反比例函式,構建一個滿足上述條件的反比例函式。以DotA普攻為例,這個減 傷率=護甲*0.06/(1+護甲*0.06),在護甲值趨向於無窮大的情況下,減傷率趨向於1,由於遊戲特性,這個值一般不會超高100,模擬出來的函式曲線是這樣的:

    ii. 分段函式:對於數值比較大,不斷引入新系統投放防禦屬性的遊戲(頁遊/端遊),單純的一個函式便不能滿足需求,這時候需要根據屬性投放制定分階段的防禦減傷率函式。下面拿之前專案的公式舉個栗子:

    階段1:當0≤數值防禦≤500時

    防禦免傷率=1-1/(1+數值防禦/4500)

    階段2:當500<數值防禦《7000時

    防禦免傷率=1-1/(125/117+數值防禦/11700)

    階段3:當7000<數值防禦《30000

    防禦免傷率=1-1/(108/69+數值防禦/69000)

    階段4:當數值防禦>30000

    防禦御免傷率=0.5+0.1*((數值防禦-30000)/30000/((數值防禦-30000)/30000+1)

    模擬出來的曲線是這樣的:

    2. 隨機變動:為了增加戰鬥的隨機性、觀賞性抑或不穩定因素,或者是為了增加小屬性的投放(數值言中的“挖坑”),往往會引入一些隨機因素。主要的隨機因素可能有以下一些:

    a) 隨機數:純粹的使得在特定的攻擊者和攻擊物件的情況下,多次傷害值在較小範圍內浮動。產生這個隨機數的常用做法有:

    i. 固定傷害值*單純的在1左右隨機,例如:Random(0.9~1.1),一般大數值的遊戲常用這種做法。

    ii. 固定傷害值+數字數*骰子面數:DnD規則,後來魔獸爭霸也沿用了這個設定,即為特定的單位定義骰子數,骰子面數,最終的值是拋擲骰子數次所得骰子面數的總和。例如使用3D9,即3個9面的骰子,攻擊的浮動下限為3,上限為27。這種做法一般用在小數值的遊戲裡面。

    b) 暴擊、格擋、破擊、傷害加深/傷害減免等,這些係數的特點是有一個前提判定,如果判定成功,則一個係數生效:例如暴擊成立,則傷害*2;格擋成立,則傷害*0.5;破擊成立,則傷害*1.5;傷害加深,則傷害*(1+加深係數);受擊方傷害減免,則傷害*(1-減免次數)。這些係數一般都是相乘的關係,對於判定的做法一般是這樣的:

    計算公式為:產生機率 — 抵抗機率 = 理想機率Random(1%—100%)得出實際機率實際機率 ≤ 理想機率,判定生效實際機率 > 理想機率,判定無效

    最後,

    如果隨機數用的是隨機係數的話,攻方傷害就是這樣的:攻方傷害=攻方攻擊力*(1-防禦免傷率)*隨機數*暴擊係數*格擋係數*破擊係數*(1+攻方傷害加深)*(1-守方傷害減免)如果隨機數用的是骰子的話,攻方的傷害就是這樣的:攻方傷害=攻方攻擊力*(1-防禦免傷率)*暴擊係數*格擋係數*破擊係數*(1+攻方傷害加深)*(1-守方傷害減免)+骰子數*骰子面數那麼來回答下題主的問題吧:我算了下,1-60級,同職業,同等級,同裝備裸裝:30次~40次的普通攻擊,可以使對方死亡全裝:31.4次~32.3次的普通攻擊次數,可以使對方死亡我現在期望的次數是普攻30次(可能以後會改變這個次數),就這個公式來說,這樣算,可行嗎?我認為是可以實現的(實現方案後續補上),但是體驗會很不好:從裸裝到全裝的次數差異只有十次左右,裝備獲取所帶來的成長感會很不平滑:攻防雙方均獲取一件裝備只帶來了1次左右的攻方減少,這對於30次這個基數來說體驗太微弱了。好的體驗是讓攻防雙方都能感受到明顯的成長,即攻方攻擊次數較明顯減少,守方承受傷害較明顯增加,這樣才能帶來成長感嘛!而且在“1-60級,同職業,同等級,同裝備"都是相近的戰鬥體驗不會太枯燥了嗎?最後要說的是:做數值始於公式與拉表,但好的數值從來都不是表一拉就成了的。

  • 中秋節和大豐收的關聯?
  • 巴西烤肉怎麼吃?