爐石機製雜侃:旗鼓相當的對手哪裏來?
“旗鼓相當的對手”從何而來?
也許大家對於爐石的匹配機製和積分機製有一些疑惑,比如:
1.旗鼓相當的對手究竟是怎樣匹配到的?
2.為什麼新號競技場相對簡單?
3.為什麼買的腳本號打天梯對麵會瘋狂投降?
4.為什麼傳說前幾名的人需要打贏好多場才能前進一名但是打輸一場會倒退好多名?
5.為什麼同樣是同一時間上傳說,有的人1000名有的人100名?
………………
看完這篇文章,你就能得到解答。本文是筆者作為遊戲策劃為爐石匹配機製做出的推理和還原,難免有疏漏和不合理之處,敬請諒解。如有疑問,歡迎評論提出或者拍磚。
一些原始的計算方式
雖然大多數人不了解匹配機製,但是相信大家都聽說過隱藏分的概念,也都模模糊糊知道匹配肯定是和隱藏分有關。在競技遊戲中,被大量使用的是一個叫做ELO的算法來計算隱藏分。(其實這個係統最早是用於國際象棋比賽積分-。-)在我們接觸ELO算法之前,我們先來講講另外2種計分方法:完全不平均和完全平均。
1.完全不平均:
常規手機遊戲和網頁遊戲中經常出現的一種計分方法,即沒有積分隻有排名。即使你是一個10000名的小卒,你也可以挑戰第1名,打贏之後你就是第1,原先第1就變成第10000(或者原先的1-9999名全部人都下降1名),這種算法簡單粗暴,完全靠單場發揮,不動腦子的規則製定者經常使用,比如教育部用高考直接決定了一個人的一生。
2.完全平均:
在諸多領域被廣泛使用的一種計分方法,所有人無論何時都一視同仁的使用同一套加減分的規則。比如某些比賽,勝利記3分,失敗記-3分,平局不計分,進行100局後查看大家結果。這樣的完全平均表麵看起來也不是不公平,但是在遊戲局數過多時就會暴露出一些問題:一些前麵輸太多的人柳足了勁想衝刺一下,結果一大波連勝也還是在墊底。完全平均算法太容易讓遊戲失去競技性:首先是每場加分恒定導致沒有太多動力,輸多的人發覺要提高排名太難,就破罐破摔;而且贏多的人覺得某場關鍵比賽即使輸掉也無所謂,因為前麵給他積累很多呢。
ELO算法橫空出世
在痛定思痛之後,一位叫做埃洛的大神總結了前人的各種積分規則,基於統計學創建了一套全新的算法。這套算法既不過於依賴平均,也不過於依賴單場,比先前的更公平客觀,於是很快就流行開來,1970年國際棋聯正式開始使用這個係統。後被公認是當今對弈活動水平評估的權威方法,被廣泛用於國際象棋、足球、籃球、war3、LOL等運動和遊戲。
ELO算法認為,在某一個人的身上,其生涯實力總體在某一特定水平波動。雖然有可能會出現大波動,但通常情況下出現大波動的可能性較低。(所以說單局比賽中由於對手掉線、突然拉肚子、女友來電話等意外情況,不在ELO算法的討論範圍內)
ELO的簡化模型構建:
1.某個選手在某一分段區間內的波動屬於正常現象。
2.在某一分段區間內的選手水平大致相同,勝出的期望也大致相同。
3.僅用勝負平來評價選手的表現,而不是看是否打的好。贏了加分輸了扣分。(dota11天梯在此基礎上進行了修正,會綜合評判選手的KDA,從而引發了一係列的爭執)
過程略過不談(樓主也不看懂O(∩_∩)O),總之在經過了多次模擬和分析之後,埃洛發現選手在比賽中的表現比較接近邏輯斯諦分布,最終推導出了選手的期望勝率:
(D為選手A和選手B的分數差值)
分數差值和勝率期望大致見下表(已簡化,以免刷屏):
計算出了勝率期望後,接下來就是得分公式了,埃洛的基礎在於杜絕絕對平均,於是在他的得分公式裏,吊打小朋友基本是不加分的,而打敗了大神則是瘋狂加分:
S=K*(R-P)
單場得分=得分係數*(實際結果-預期勝率)
得分係數K是一個係統預設的常數,我們可以先使用魔獸世界競技場的取值32,它起到控製單局得分上限的效果。
實際結果Result,有且隻有3個取值,勝利為1,失敗為0,平局為0.5。
預期勝率Percentage,上文公式已述。
單場得分Score,即可通過公式算出。假使兩個1200的小菜雞互啄,S=32*(1-0.5)=16,即勝利一方獲得16分,失敗一方失去16分。假使1600的大神遭遇1200的菜雞,S=32*(1-0.91)=2.91,大神贏了隻能獲得2.91分,輸了要失去29分。在這種匹配機製下很難匹配出這樣的對手,除非當時正在匹配人非常少。
爐石中的ELO算法改良
那麼,回到爐石上來。在已經建立完隱藏分係統之後,單局是怎樣匹配出對手的呢?
係統會根據你的隱藏分來評估你的遊戲水平,且根據這個水平來給你安排合適的對手,讓你們雙方都有50%的幾率勝出比賽。
係統會著重考慮以下細節,按照順序排列:
1.保護新手,防止他們被高手吊打。
2.保證公平,開展有競技性而不是一邊倒 的比賽。
3.最後才是尋找可用的比賽。你等的時間越長,前兩點的重要性就越小。賽季初上傳說的人往往都是踩著一堆5級的人甚至是7.8級的人上傳說,就是因為已經找不到“旗鼓相當的對手”。
為此,爐石使用的得分公式會是一個複雜版的:
S=K1*K2*K3*K4(R-P)
單場得分=得分係數*連勝連敗修正*場次修正*模式修正(實際結果-預期勝率)
K2是指連勝連敗修正,即係統在看到你連勝或者連敗時,判定你不屬於這一分段,應該更高或者更低而設的一個係數。這個係數會讓底層玩家連勝時衝分會更快;也會讓連敗的玩家分數急速下降匹配到較弱的對手從而終結連敗,減少挫敗感。
K3是指場次修正,即係統對於新手的額外關愛,在遊戲初期獲得/失去的隱藏分會較多(即DOTA和LOL中定級賽的概念),保證老鳥創新號會很快升到較高層麵,而新手在初期則會很快掉入新手圈中和一堆低分菜雞互啄。
K4是指模式修正,玩家在天梯模式獲得的隱藏分會多於休閑模式和競技場模式。
不同模式下的匹配機製改良
話說了一堆,其實爐石有3個模式,這3個模式的匹配機製都會不太一樣:休閑、天梯和競技場。
休閑模式:完全按照隱藏分來匹配的。
天梯模式:X秒內優先匹配相同等級的人,如果匹配時間超過X秒則往上下等級匹配。傳說後,匹配隱藏分接近的人。(傳說名次按照隱藏分來排列)
競技場:X秒內優先匹配相同勝場負場的人,如果匹配時間超過X則擴大範圍。(大家經常10勝以上會連續匹配到相同的對手,但是低勝就不會,因為低勝的人特別多不會找不到)
這個官方曾經有藍貼說明:爐石美服官網對匹配機製的詳細解答
結語
先說結論吧:提升自己才能真正提高勝率
ELO算法並非無懈可擊,但是現階段確實是衡量每個人實力最科學的一套係統。雖然每個人都不願意承認自己是實力較弱的人,但是事實就擺在眼前,在ELO算法之下的天梯,大家的分值就如同金字塔形分布,高手永遠都在天梯頂端。我隻聽說過天梯低端的菜鳥抱怨天梯不公上分太慢,而高手從來不care。從來沒聽過哪個LOL職業選手上不去王者,也沒有哪個爐石職業玩家由於運氣原因上不去傳說。即使從零單排,也能較迅速爬回到與自己原本實力相近的位置,這就是ELO算法的強大之處。
最後說一說大家有時會說的套牌匹配度問題,有橙卡的JJC老能匹配到有橙卡的對手。其實這個問題,大家可以百度一下幸存者偏差,大概也就是和XX開苞法是一樣的情形:
A情況.我有橙卡,虐了沒有橙卡的,太常規我沒記住。
B情況.我沒橙卡,對麵有橙卡虐了我,太常規我沒記住。
C情況.我有橙卡,對麵也有橙卡,橙卡大戰三百回合,驚險刺激,我記住了。
最後傳來傳去,就變成了有橙卡的JJC老能匹配到有橙卡的對手。(其實熊大代打了那麼多橙卡的牌,大多數對手都沒有橙的……)
跟大家說這個也是想讓大家擺正心態。很多人輸了,就想著匹配機製不合理呀,被土豪吊打呀,娛樂套牌碰快攻狗呀,對手老是神抽呀,每次都卡手呀。其實匹配機製和發牌員還真的不背鍋:你老匹配到會玩的土豪,說明你隱藏分高,勝率牛逼;你上把天湖這把就該卡手,很公平。
文章開頭提出的問題,就作為課後習題,給那些願意思考的讀者。如果是鍵盤俠,也辛苦你翻到這了,不勞你們打字噴我,可以複製下麵這句回複給我,幫我賺賺人氣~
最後,這種純理論文章真的毫無意義,看了也是然並卵。