遊戲設計中有哪些經典的計算公式?

Facebook Fanpage

遊戲設計中有哪些經典的計算公式?

       遊戲設計中有哪些經典的計算公式?

  第一個問題:符文系統和天賦系統存在的必要性和對戰局的影響?

  先引入兩個概念:

  Ehp:effective health point 有效生命

  Ehp受自身的HP、閃避、防禦、護甲、韌性、格擋、招架、免傷、技能係數、等級加成、各種抗性等等數值影響。

  舉例:假如你有1W生命,且有50%減傷(與對方命中無關),那你的ehp就是2W。

  Edps:effective damage per second有效輸出

  Edps受自身的攻擊力、命中值、暴擊率、暴擊效果、穿刺、急速、等級加成、各種屬性攻等等數值影響。

  舉例:假如你的輸出間隔是1S,100%命中,攻擊力為100,暴擊率為100%,暴擊效果為150%,則你的edps為150。

  則在在兩個人之間的勝負結果,始終可以用下面的公式來表示:

  所謂的符文、天賦、裝備等等各種系統,歸根結底都是對人物數值的影響,本質上並無任何區別,每新增一個系統,不過是把每個屬性的數值成長上限放高而已。所有以上沒有哪個系統是必要存在的,今天可以做成符文系統,明天還可以換成後宮加成系統,表現形式不同而已。至於對戰局的影響,最優解的問題會談到。

  第二個問題:關於數值成長中最優解的存在

  ELO等級分體系

  (很久之前做過的PPT,東西太多有點亂,粘一部分上來)

  簡介

  ELO等級分體系是根據它的推廣者埃洛(elo) 名字命名,它是一種以數值表示的體系,將等級差別轉化 為分數或取勝概率。

  理論基礎

  粗略看一下很多比賽的成績表,能夠看出某個選手的表現是有起伏的,即有「狀態」之分。強手未必恒定表現好于弱手,每人之狀態在不同的日子不同的比賽裡都會有好壞不同。而總的來說整個生涯裡每一點上,一名選手的表現將大致圍繞在某個平均水準上下波動,有時會有背離,而出現大背離的情況比出現小背離的情況頻率要低。

  於是,有了ELO體系的第一個假定:可以建立這麼一個等級量表,某個體在這個表裡的不同表現將正常分佈。

  第二個假定簡單地說:在某一個特定的實力範疇裡,儘管可能存在實力上的差異,但總的來說可以預期沒有誰比誰好或差很多。由此可以定量劃分區間。

  等級量表-區間尺度

  等級差別是可能性方面的唯一重要因素。

  指對陣雙方誰有多大機會勝/負/和,唯一影響因素在於他們之間的等級差別,這樣排除了難以確定的「狀態好壞」(第一假定),也排除了具體誰對誰的影響(第二假定)。

  因此即使出現「爆冷」或 「剋星」,也視為偶發情況,因為ELO體系是建立在樣本足夠大量的統計基礎上的。

  標準分類間隔(附表)

  即某一個等級裡最高與最低之間的差別。在國際象棋裡,FIDE(即國際棋聯)採用每200分為一個間隔的分類法,並且給每一個間隔取一個名字或排名以更好分辨。

  常態分佈函數

  強手未必總是勝過弱手,於是就使用一個「常態分佈函數來代表一名選手的波動表現,這是統計學上的概念。從這個函數裡可以得出另一個函數叫」常態概率函數「 ,這個就定義了根據比賽對抗結果可得出的等級差別,或者根據已知的等級差別可得出的預期比賽對抗結果。它是這樣的:

  P(D)這個值,就是以等級分差別D為引數計算出來的預期取勝可能性(預期得分率),它可近似用下面這個公式來計算:

  舉例一

  Ra:表示隊伍A當前的等級分

  Rb:表示隊伍B當前的等級分

  Sa表示隊伍A的比賽結果,勝利S值為1,平局S值為0.5,失敗S值為0

  Ea:表示A在這場比賽中的勝負值期望

  Eb:表示B在這場比賽中的勝負值期望

  其中Ea+Eb=1,也就是勝率和為1

  舉例二

  一個等級分1950的選手,她的對手等級分1700分,那麼她取勝的機會有多大呢?

  等級分差別D=1950-1700=250,代入上面那麼近似計算公式,就是:

  也就是說,她勝利的機會有80.8%,大約是81%。事實上,看下表,即可得知等級分差別在246-256之間的強手預期取勝可能性就是81%。不用計算。

  上面看不懂?沒關係!

  當前等級分公式

  Rn = Ro + K * (W – We)

  Rn是賽事後的新等級分;Ro是賽事前的原等級分;K是單局得分的等級分點值,它是一個係數,取值有約定的;W是實際對局得分(勝得1、和得0.5);We是在原等級分基礎上的預期對局得分。

  這個公式是用來在連續基礎上(也就是每局或每個賽事之後)計算新等級分的。它把最新的表現調整考慮進先前的等級分中。它的邏輯意義是一個選手的表現高於他的預期得分以及低於他的預期失分。

  係數K決定了事前等級分和本次表現分的相應權數。K值越高,那麼越近的賽事表現的分量越大。反之則反之。一般K值範圍從10到32。下面是一個K取值參考表:

  舉例三

  一個隊伍等級分1650,比賽中分別與等級分為2050、1270和1550的三個隊伍對了陣,戰勝了低分的兩個,逼和了最高分的那個。問新等級分是多少?

  K值取10;Ro=1650;W(勝2和1) = 1 + 1 + 0.5 = 2.5

  We = P(1650 – 1270) + P(1650 – 1550) + P(1650 – 2050)

  =0.910 + 0.638 + (1-0.921)

  =1.627

  套入第二個公式,即Rn = Ro + K * (W – We) = 1650 + 10 * (2.5 – 1.627) = 1659

  也就是她在這次賽事後,等級分升了大約9分,成為1659。

  舉例四

  某競技場隊伍等級分2350,11場比賽5勝6負,K取32;對陣11場情況如下:

  已知原等級分Ro為2350,已知本次比賽實際對局得分W=5,已知K值取32,已知(總)預期對局得分We為5.24, 計算時可省略為5.2,那麼根據公式(2),Rn = Ro + K * (W – We),新等級分Rn = 2350 + 32 * (5 – 5.2) = 2343.6 , 大約是2344,比之前下降了。

Comments are closed.