爲何《王者榮耀》五連勝後遭九連跪,詳解遊戲匹配與排名原理

想要了解更多的遊戲資訊 一定要關注遊戲陀螺!

投稿作者 | CXVurtne

不知道大家在玩遊戲的時候,是不是都產生過這樣的疑問:

《王者榮耀》排位五連勝後遭遇九連跪,是不是遊戲操控勝率?

《英雄聯盟》渡劫局總匹配神對手豬隊友,是不是有意制裁我?

《爐石傳說》傳說段位獲勝,爲什麼排名不升反降?

……

這篇文章將說明遊戲匹配和排名的原理,相信可以打消大家心中的困惑。

仍在玩《王者榮耀》的同學們或許記得,《王者榮耀》在S11賽季調整過一次匹配機制,自那以後,王者大神的小號上分車不如以前那麼穩了,時不時還會和其他車隊撞車。

這是因爲,相比以往根據段位進行匹配的機制,新機制採用的算法能夠在一定程度上更精準地反映玩家的真實水平,減少了高段位玩家開小號遨遊低端魚塘的情況。這種算法就是——Elo Rating System。

那麼,

什麼是Elo Rating System?

Elo Rating System在遊戲中能起到什麼樣的作用?

Elo Rating System有哪些缺點?在實際應用中,應該如何處理?

我們將圍繞這幾個問題展開說明。

一、什麼是Elo Rating System?

Elo Rating System是由匈牙利裔美國物理學家Arpad Elo創建的一個衡量各類對弈活動水平的評價方法,是當今對弈水平評估的公認的權威方法。被廣泛用於國際象棋、圍棋、足球、籃球等運動。網絡遊戲英雄聯盟、魔獸世界內的競技對戰系統也採用此分級制度。

第一次接觸到Elo Rating System,是在電影《社交網絡》中。創辦了Facebook的Mark Zuckerberg和Eduardo Saverin在Harvard讀大二時,一夜間搭建了網站Facemash。這個網站每次會展示兩張不同女生的照片,用戶選擇自己認爲更好看的一張。每次選擇後,便進入下一組女生照片的評選。最終,Facemash將計算出全校女生的長相排名。這其中所用的算法,就是Elo Rating System。

而設計之初,Elo Rating System僅是一個國際象棋選手的排名系統。那麼它究竟是如何實現對象的評價和排名的呢?讓我們以遊戲中的競技玩法積分排名爲例說明。Elo會賦予每位玩家一個相同的初始積分,並進行以下計算:1. 根據積分差計算雙方獲勝概率;2. 每位玩家根據對方積分和遊戲結果所表現出的水平分;3. 得出遊戲後的積分變化。

計算公式:

EA:玩家A的勝率期望值

EB:玩家B的勝率期望值(可以看出,EA+EB = 1)

RA:玩家A當前積分

RB:玩家B當前積分

R'A:玩家A遊戲後積分

K:常量係數,後文會說明具體作用

SA/SB:實際結果勝負分,勝 = 1,平 = 0.5,負= 0

演算過程:

假設兩位當前積分爲RA = 1900,RB = 1500的玩家相互競技時,

EA = 1/{1+10^[(1500-1900)/400]} ≈ 0.91

EB = 1/{1+10^[(1900-1500)/400]} ≈ 0.09

當K = 32時,假設玩家A勝出,SA = 1,SB = 0,則:

R'A = 1900 + 32*(1-0.91) ≈ 1903,玩家A獲得3分

R'B = 1500 + 32*(0-0.09) ≈ 1497,玩家B失去3分

分母中的400:

爲什麼是400,而不是100、200或者1000呢?

從積分差上看,這個值影響着對戰雙方的獲勝期望。當雙方積分差相同時,這個值越大,雙方的獲勝概率越接近。當這個值等於400時,若雙方分差爲100,積分較高的一方獲勝期望約爲64%。

簡單地說,這個值等於400,能夠讓多數玩家的積分保持標準正態分佈,也符合多數遊戲“易於上手,難於精通”的設計規則。

K常量:

不難看出K值越大,單次評價的積分變化幅度越大。那麼K值的設定應該遵循什麼規則?

一般而言,分段越高,K值越小。如此設計,能夠令玩家的積分在前期快速趨近其真實水平,同時避免少數的幾場對局就改變頂尖玩家的排名。

所以K值的選擇取決於,這個遊戲需要以什麼樣的方式來統計選手的積分,並根據玩家、玩家數量之類的參數微調。

小結:

從Elo的工作模式中我們可以得出以下幾點:

1. Elo會給出玩家一場對局的獲勝概率。Elo積分相差越大,積分高的一方獲勝概率就越大;

2. 每一場對局後,對陣雙方都會進行一部分積分交換,勝者得分,敗者失分;

3. 如果兩名玩家的積分相差很大,代表高分方獲勝的概率極大,因此即便贏了也漲不了多少分,敗方也掉不了多少分。但倘若被低分方爆出冷門,那高分方將失去大量分數。

二、Elo Rating System在遊戲中的作用

瞭解了Elo的工作模式,就不難得出它在遊戲中的作用。

衡量玩家實力

Elo積分直觀地量化玩家水平的高低。

縮短匹配時間

對局匹配時,玩家的Elo積分可以作爲匹配依據之一,只需要挑選與當前玩家積分相近的玩家即可,而不需要遍歷當前所有玩家,縮短了匹配時間。

創造高質量的公平對局

爲玩家匹配實力旗鼓相當的隊友和對手,能夠保護新手不被有經驗的玩家血虐,同時讓高端局中沒有菜鳥,使玩家的遊戲樂趣最大化。

激勵玩家競爭

積分和排名爲玩家提供榮譽感,滿足玩家的虛榮心,激勵玩家攀比、競爭、提升實力,並最終爲遊戲的生態環境和活躍帶來積極影響。

三、Elo Rating System的缺點

任何算法系統都有優缺點,Elo也不例外。

初期的盲目性

Elo積分在達到合理(趨近真實)水平之前需要一個過程。比如一個2000分的玩家玩小號,遇到的對手大概都是1400分水平,這時候Elo積分是不能準確反映他的實力的。經過幾局對戰,這名玩家的積分會逐漸達到合理水平。這個過程就是Elo積分的收斂過程。

對時間不敏感

Elo積分不會隨着時間變化,當一位玩家很長時間沒有遊戲的時候,他的水平可能會上下浮動,但他的Elo積分並不會隨之改變。尤其對於頂尖玩家而言,這時候的積分排名未必能反映玩家間真實的實力排名。

四、Elo Rating System的實際應用

針對上述問題,在實際應用中有着不同的對策,目的都在於——縮短收斂過程,弱化不良體驗。

賽季制

在遊戲中採用賽季制,隨賽季重置段位和排名。解決因Elo不隨時間變化導致的個別玩家長期佔據排行榜位置,引起其他玩家挫敗感和消極情緒的問題。同時,隨賽季投放版本內容,刺激玩家活躍和競爭。

輔助定級

1. 定級賽:《英雄聯盟》《守望先鋒》引入了定級賽機制。在每個賽季初,通過數場定級賽的表現,決定玩家該賽季排位賽的初始段位,縮短了Elo積分的收斂期。

2. 段位繼承:《王者榮耀》《絕地求生:刺激戰場》每個賽季初重置段位時,會根據上賽季段位進行一定壓縮並繼承。同樣縮短了收斂期,保證了賽季初的對局質量。

積分獎懲

1. 勇者積分:《王者榮耀》在獲勝加一星、失敗減一星的基礎規則外,增加了勇者積分規則。比賽結束後,無論勝負都會得到勇者積分。勇者積分=玩家無掛機行爲獎勵+連勝獎勵+局內評分排名獎勵+對手過強獎勵+雖敗猶榮獎勵。通過勇者積分,可以加速積分的收斂過程,並起到鼓勵玩家認真對待每一局遊戲的效果。

2. 長時間不對局,扣減段位和積分:《王者榮耀》中進入最強王者段位後,系統會每隔7天進行一次檢測,如果玩家在7天內沒有排位賽行爲,會被扣除1顆星。同理英雄榮耀戰力:

這樣的規則保證了段位和積分的時效性,也促進了玩家的持續活躍。

爲什麼不用Elo積分代替段位?

看到這裡,可能有同學會問:那爲什麼不直接用Elo積分反映玩家水平呢?加入段位不是讓機制更復雜,Elo收斂更慢了嗎?

其實早些年,不論是主打《Dota》對戰的11平臺,還是《英雄聯盟》或者《Dota2》,使用的都是積分制。但後來,《英雄聯盟》在2012~2013的S3賽季中取消了排位分,改爲段位制。《Dota2》也終於在2017年底,隨着7.07版本的更新取消了天梯積分,同樣改爲了段位制。

這麼做的原因在於:

1. Elo積分的精確指示會打擊玩家積極性。隨着積分的收斂和K值的減小,最終積分會在一個小範圍內浮動,玩家對積分的增減會愈發無感,不利於玩家的活躍;

2. 積分的傳播效果不如段位好。從市場營銷角度,“最強王者”“至尊星耀”應該遠比“我天梯2200”有感染力,更易於理解和傳播。

Elo積分將在段位之外,繼續作爲衡量玩家水平的標準和匹配的依據,保證遊戲體驗。畢竟,段位對活躍的玩家有很多鼓勵,並不是玩家真實水平的全部反映:保證總體勝率在50%以上(考慮到勇者積分和段位保護應該都不到50%),只要完成足夠的對局就能到達王者段位,2000+場勝率47%的安琪拉了解一下。所以,如果單純用段位匹配,會讓那些常年蹭車的妹子們懷疑人生——她們的真實水平並沒有段位顯示的那麼高。

最後,回到篇首的三個問題。

1&2:匹配機制和算法只是基於經驗數據的預估模型,無法精確評估玩家個體在匹配後的單局內,會表現出什麼樣的遊戲水平,既沒有能力也沒有動機去控制玩家的遊戲行爲。因此,操控勝率和系統制裁這樣的說法是不成立的;

3:在瞭解了Elo的排名原理後很好理解,獲勝後排名不升反降,是因爲對局過程中有玩家的積分超過了你當局獲勝後的積分。