国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)絡(luò)營銷 > 王者榮耀的匹配算法與產(chǎn)品設(shè)計理念

王者榮耀的匹配算法與產(chǎn)品設(shè)計理念

時間:2022-05-27 12:24:01 | 來源:網(wǎng)絡(luò)營銷

時間:2022-05-27 12:24:01 來源:網(wǎng)絡(luò)營銷

回顧2017年的全球手游市場,騰訊推出的《王者榮耀》斬獲了綜合收入第二,下載量第三的成績,堪稱國貨之光。這款游戲隨著用戶流量從PC到移動端轉(zhuǎn)移的大潮不斷成長,以MOBA(多人在線競技)類游戲dota、英雄聯(lián)盟為范本,并加以移動化輕量化改進,覆蓋了更碎片的時間,更廣泛的人群。

拿自己舉例,在玩《王者榮耀》的這一年多中,不知不覺就打到了王者段位,粗略算來,總游戲時間600-700小時,比今年與朋友相處時間還長。

如果把普通應(yīng)用看做一臺二手奧拓,那手游至少是輛大奔吧,本著造不出大奔就先拆大奔的心態(tài),在對這款應(yīng)用不斷的使用和上癮中,也試圖找到一些產(chǎn)品背后的設(shè)計。目前覺得比較有趣的幾個部分是:匹配,評分評級,成長流失。

1、玩《王者榮耀》的困擾

不知道在大家玩《王者榮耀》的時候有沒有遇到這些困擾:

(1)、排位五連勝之后又來了一波七連跪,是不是系統(tǒng)故意給我比較強的對手?

(2)、排位賽為什么要5個英雄才能玩?匹配賽就不需要阿。

(3)、為什么匹配會遇到黃金玩家,我明明鉆石了阿!

相信你看完今天的會對農(nóng)藥的匹配方法有一個比較具體的認(rèn)知。

在王者榮耀中,最主要的兩種游戲模式是匹配賽和排位賽,匹配是5v5標(biāo)準(zhǔn)模式,相當(dāng)于基本款,排位賽在此基礎(chǔ)上會計算等級排名。從最基本的用戶需求出發(fā),無論以上那種模式,當(dāng)某一用戶開啟一局游戲時,首先需要為他找到4名隊友與5名對手,而這9名用戶的選擇的依據(jù)很簡單,就是實力相當(dāng)(我們在這里先只考慮單排的情況,因為雙,三,五排出現(xiàn)時變量太復(fù)雜)。

2、《王者榮耀》如何去衡量實力相當(dāng)呢?

可以再簡化一下題干:當(dāng)有兩名旗鼓相當(dāng)?shù)耐婕疫M行對決后,對決結(jié)果該如何影響系統(tǒng)對他們實力的判定呢?如果能夠定量的回答這個問題,那就非常厲害了。目前這個問題的最優(yōu)解是由一個叫匈牙利裔美國物理學(xué)家Arpad Elo發(fā)明的,所以被命名為Elo rating system,它最早被用于象棋比賽中,目前被公認(rèn)為衡量各類對弈競技水平的權(quán)威評價方案,廣泛用于國際象棋、圍棋、足球、籃球比賽中,以及英雄聯(lián)盟、魔獸世界、dota等競技對戰(zhàn)系統(tǒng)中。

Elo算法成立于以下前提:

(1)、每個玩家的表現(xiàn)都符合隨機變量的正態(tài)分布。

(2)、無論個人在比賽中的表現(xiàn)如何,球員的平均價值都會慢慢增加。

正態(tài)分布可以說是統(tǒng)計學(xué)中最重要的分布(幾乎相當(dāng)于萬金油了),不論考高數(shù)還是考概率論,都一定大考特考。上述提到的例子中,任何一名選手的即時表現(xiàn)都是符合正態(tài)分布的,因為選手水準(zhǔn)的提高是緩慢的,非一蹴而就的,所以代練,作弊都會對系統(tǒng)造成破壞,嚴(yán)厲譴責(zé)。生活中類似的例子很多,比如社會收入分布,人群身高分布等等。

第二個條件可以理解為要求玩家主觀上都以提升實力為目的,否則整個系統(tǒng)就失去了意義。

3、《王者榮耀》的匹配機制,隱藏分mmr和elo值算法

《王者榮耀》的匹配機制的基本原則也應(yīng)是基于ELO等級分的模式(根據(jù)玩家對戰(zhàn)中各方面數(shù)據(jù)計算出的綜合實力積分,該積分適用于個人也適用于多人團隊),即盡可能安排雙方勝率都最接近50%的對局,并在特定條件下做出匹配時間和玩家實力上一定程度的擴寬。

王者最近的更新加入了玩家的詳細(xì)對局?jǐn)?shù)據(jù),并以此計算戰(zhàn)力值和能力示意圖,包括KDA、參戰(zhàn)率、每分鐘獲得金幣數(shù)、每分鐘造成的英雄傷害、每局承受傷害、每局對建筑傷害。這些數(shù)據(jù)就是對玩家當(dāng)前實力的綜合計算結(jié)果,很有可能也會給匹配結(jié)果帶來一定程度的影響。

值得注意的是,對于手游玩家來說,簡化并加速了的MOBA戰(zhàn)局固然能帶來更多的刺激,但同時也會讓挫敗感的產(chǎn)生變得更加頻繁,粘性本就不低的玩家在遇到過于頻繁的挫敗體驗時,流失的風(fēng)險非常大,所以王者更多的是注重移動玩家的游戲節(jié)奏和游戲體驗。

王者的處理方式較特別,是將人機模式隱形混入新手局當(dāng)中,也就是玩家有時匹配到的真人其實是AI。

這樣設(shè)計的目的在于保護新手,讓新手擁有足夠的過程去適應(yīng)英雄,并降低挫敗感。當(dāng)新手玩家在低等級非排位匹配中連續(xù)失敗,那么系統(tǒng)會按照玩家等級和連敗的頻率,給他安排AI對局,讓玩家大比分爽贏一局。隨著玩家等級提升,這樣的福利局會越來越少并最后不再安排,同時福利局不會出現(xiàn)在排位比賽中。

先簡單介紹下什么是MMR和ELO,以及為什么我總是排到一些坑貨小學(xué)生?

(1)、排位是只按當(dāng)前段位進行匹配。

(2)、匹配是按照每個玩家的實力隱藏分進行匹配,保證對戰(zhàn)雙方的隱藏總分一致。所以遇到坑隊友是自己太強啦!

(3)、實力隱藏分的計算可以搜索下mmr或elo值算法。

MMR(MATCH MAKINGRATING):匹配等級。在系統(tǒng)的核心,每個玩家隱藏著一個被稱作匹配等級的數(shù)字,或者縮寫為MMR。匹配等級用來確保你能夠和你的真實實力相近的玩家對抗,并且影響你在賽后能夠獲得或者輸?shù)舳嗌俜e分。經(jīng)過一段時間,你的積分將會逐漸向你的隱藏MMR值靠近,但因為MMR值比起你的積分變化更快,你的MMR值永遠(yuǎn)不會固定為一個數(shù)字。

排位賽的配對方式還是由隱藏的elo值決定的配對機制仍取決于你的隱藏elo,與你所在組別無關(guān),并不是青銅組只能和青銅組的人打,同時你在banpick時的樓層也由elo決定,白銀組在1樓,黃金組的人在2樓,這種事也是會發(fā)生的。

說道這里,需要對ELO算法進行假設(shè):

某個選手,在某一分段區(qū)間內(nèi)的波動屬于正?,F(xiàn)象。

在某一分段區(qū)間內(nèi)的選手,水平大致相同,勝出的期望也大致相同。

(4)、如果碰到隊友段位比自己高很多的情況,那么說明隊伍中有高段位和低段位組隊的情況,或者有人段位不高但隱藏分很高的情況。

(5)、關(guān)于五排。五排是根據(jù)隊伍中最高段位來進行匹配的。

4、Elo算法的邏輯解釋

ELO等級分即埃洛等級分系統(tǒng),是指由匈牙利裔美國物理學(xué)家阿帕德·埃洛創(chuàng)建的一個衡量各類對弈活動水平的評價方法,是當(dāng)今對弈水平評估的公認(rèn)的權(quán)威方法。被廣泛用于國際象棋。埃洛排名系統(tǒng)是基于統(tǒng)計學(xué)的一個評估棋手水平的方法。美國國際象棋協(xié)會在1960年首先使用這種計分方法。由于它比先前的方法更公平客觀,這種方法很快流行開來。1970年國際棋聯(lián)正式開始使用這個系統(tǒng)。系統(tǒng)模型原先采用正態(tài)分布。但是實踐顯明棋手的表現(xiàn)并非呈正態(tài)分布,所以改進后的埃洛排名系統(tǒng)通常使用的是邏輯斯諦分布。

等級分系統(tǒng)通過計算雙方的輸贏概率,結(jié)合競技后的結(jié)果來不斷修正玩家的分?jǐn)?shù)。如果一個較高分玩家贏了,那符合系統(tǒng)的預(yù)期,少量分?jǐn)?shù)會從低分玩家方扣除,并加給高分玩家。反之,高分玩家會被扣除相對更多的分?jǐn)?shù),并把這些分?jǐn)?shù)加給低分玩家。

定量計算:

A和B為兩名玩家,R代表他們當(dāng)前的rating,E為預(yù)期勝率,所以EA+EB=1。

當(dāng)比賽結(jié)束后,實際勝負(fù)值S最多有三種情況,勝(1分),平(0.5分),負(fù)(0分)RA’,為一場比賽結(jié)束后的新rating:

K是一個常量,代表一次比賽對于選手得分的影響程度。較小的K值意味著較小的影響,不同的比賽性質(zhì)與階段可以選擇不同的K值,國際象棋大師賽中,K=16;大部分游戲規(guī)則中,K=32。通常水平越高的比賽K越小,為了避免少數(shù)幾場比賽就改變選手的排名。以上公式的證明不展開。

舉個栗子感受一下:玩家A排位分?jǐn)?shù)2000,玩家B1800,那么A的預(yù)期勝率為:EA=75.97%,EB=24.03%,如果在實際的對決中(取k=32),A勝利,則A將收獲7.7分,B將損失7.7分;B勝利,則A將損失24.3分,B將收獲24.3分??梢园l(fā)現(xiàn),不同結(jié)果出現(xiàn)時,每位選手的積分變量也不同。

接下來,我們再說說算法特點:

(1)、離散性

Elo 算法只需要知道三個要素即可進行迭代:選手賽前積分,對手賽前積分,比賽結(jié)果,計算和理解成本都很低(本質(zhì)是因為積分操作在公式推導(dǎo)時已經(jīng)被優(yōu)化了)。

(2)、初始態(tài)的盲目性

Elo rating中新玩家要達到自的合理的積分范圍需要較長的時間,這也是算法不斷收斂的過程,在實際應(yīng)用中,我們常會遇見這樣的情況:1新玩家,2老玩家開新號。這時我們就需要其他策略來輔助決策定級,如果這一塊做的不好,玩家就會覺得對手太強或者太弱,流失率會增高。反觀王者榮耀的排位規(guī)則中,最低達到6級,最少擁有5個英雄才可以參加,這其實就是一種輔助定級定手段,讓系統(tǒng)能夠更準(zhǔn)確的定位選手能力。

同時,農(nóng)藥的匹配模式是完全按照ELO值匹配隊友和對手;排位賽是按照段位水平和ELO值綜合評判并匹配的,這也能夠解釋為什么匹配時你會遇到和自己相差甚至一個大段位的隊友/對手了,而排位不會。

當(dāng)然這個特性也不是全然負(fù)面,我們經(jīng)??吹接螒蛑写毚虻然疑袠I(yè)大行其道,如果Elo rating更精確敏感,那作弊就會更容易了。

5、《王者榮耀》的匹配算法是怎么實現(xiàn)的?

沉迷同時,不禁想了解一下王者榮耀的匹配算法是怎么實現(xiàn)的?

看了下一些網(wǎng)友給出的方案,大致步驟如下:

(1)、產(chǎn)生一些預(yù)匹配隊伍,可能是一個人匹配,也可能是兩人,三人先組隊再匹配。

(2)、將這些預(yù)匹配隊伍放入一個HashMap。

(3)、根據(jù)預(yù)匹配隊伍人數(shù)分類,比如4人黑店,3人黑店,保存結(jié)構(gòu)為Map<人數(shù),此人數(shù)下預(yù)匹配隊伍List>,稱為classifyTeamMap,即為匹配池。

(4)、計算每個隊伍中選手的平均積分。

(5)、優(yōu)先為4人黑店匹配,在classifyTeamMap.get(1)中找與之平均積分最接近的1人進行組隊。之后依次為3人,2人...匹配。

(6)、匹配完成后,將隊伍ID加入一個已匹配的HashSet中做記錄,并沒用從匹配池classifyTeamMap中刪除匹配完成的隊伍。

(7)、小伙伴們基本都找到隊友了,選出平均積分接近的兩個隊伍加入戰(zhàn)場。

(8)、敵軍還有30秒到達戰(zhàn)場...

隨之產(chǎn)生的疑問:

(1)、在數(shù)據(jù)量大的時候,用HashMap作為匹配池是否合適?或者說,這么保存匹配池?用戶未登陸的時,信息保存在持久化數(shù)據(jù)庫,但在匹配時,又該怎么保存呢?

(2)、匹配完成后,上訴方法并沒有從匹配池中移除該隊伍,匹配池會逐漸膨脹。

(3)、正常情況下是一個玩家或者一組玩家點擊匹配,就該開始跑匹配算法,即涉及到多線程問題。后果:匹配池不是想清就能清,假設(shè)隊伍A和隊伍B剛好五人匹配上,正要將其從匹配池中移除時,隊伍C已讀取隊伍B信息,正在檢查它們是否匹配。這時候一旦移除就是一個妥妥的NPE。況且從HashMap中remove的成本也不低。

(4)、數(shù)據(jù)量大,耗時小,多線程數(shù)據(jù)安全,這些都是匹配系統(tǒng)需要解決的問題。

6、實際應(yīng)用中的問題

匹配算法要達成的目標(biāo),是盡可能將水平盡量相當(dāng)?shù)恼賳編煼湃胪痪直荣?。匹配算法是基于長期的數(shù)據(jù)基礎(chǔ),評估出每位召喚師的綜合能力。

(1)、為什么王者榮耀不直接使用Elo積分反應(yīng)玩家水平?(dota的天梯積分就是直接使用的elo積分)

其實這完全是產(chǎn)品經(jīng)理的小手段,我們會發(fā)現(xiàn)當(dāng)用戶的積分穩(wěn)定下來以后,他對單場比賽的分?jǐn)?shù)增減會越來越無感,這種刺激絕對比不上贏了加星星輸了扣星星那么明確和有力,而且將數(shù)字轉(zhuǎn)化為文字(黃金白銀鉑金鉆石),更易于傳播和理解。本質(zhì)上,還是對于系統(tǒng)反饋的量化和包裝。這也屬于我們開頭提到的輕量化改進中的一環(huán),產(chǎn)品和用戶是互相選擇的,天梯積分決定了dota的競技性,排位段位則讓王者榮耀有了普適性,才會被新玩家大群體所接受(具體可查看億企邦《產(chǎn)品經(jīng)理該如何進行用戶行為分析并提高用戶粘性》的相關(guān)介紹)。

(2)、理論中都是1v1作戰(zhàn),那5v5時該如何進行Elo積分?

就像elo積分本身是一種目前的最優(yōu)解,復(fù)雜變量的處理也有不同的處理方法,具體取決于業(yè)務(wù)需求,所以以下結(jié)論是猜想的,未經(jīng)證實。

可行的方案可能是:將5名選手的elo 積分的算術(shù)平均作為團隊積分,再根據(jù)不同玩家的單場KDA進行積分加權(quán)。但此處并未考慮多人排位的情況,假設(shè)出現(xiàn)了直男帶妹上分,那以上規(guī)則不一定繼續(xù)適用。而且考慮到不同隊伍的排位方式不同,是否還應(yīng)該進行小團隊積分加權(quán)?(這些都沒有數(shù)據(jù)支持所以暫不討論)

(3)、還有什么產(chǎn)品用的了類似算法嗎?

其實只要滿足Elo rating成立前提的場景就可以套用該算法,可以根據(jù)業(yè)務(wù)的實際需求不斷調(diào)整參數(shù)值使其更好地服務(wù)于系統(tǒng)。

舉個栗子:FaceMash – Facebook前身,由扎克伯格于2003在哈佛大學(xué)的宿舍創(chuàng)建。FaceMash是哈佛版美女評選網(wǎng)站,每次將兩張女生照片放置在一起,讓用戶選擇哪一位更吸引人。網(wǎng)站引起了轟動,并獲得哈佛大學(xué)學(xué)生的歡迎。FaceMash曾在第一夜吸引了450位訪問用戶,產(chǎn)生了2.2萬頁面瀏覽量,上線幾天后被哈佛大學(xué)關(guān)停。所以這個公式也出現(xiàn)在以扎克伯格為藍(lán)本的電影《社交網(wǎng)絡(luò)》中:

(4)、匹配機制和排位機制是獨立分開的嗎?

其實,王者榮耀的匹配機制和排位機制是獨立分開的。

匹配機制是按照玩家的隱藏實力來匹配的,比如有的玩家雖然段位只是個小白銀,但KDA評分70+,那就說明這位玩家的實力是很強的。那么匹配的時候就可能會匹配到段位比自己高很多的隊友啦。

這就意味著大家可以通過匹配模式檢測出自己真實的水平,如果你的段位為黃金卻老是匹配到鉑金或鉆石的隊友,那恭喜你,說明你已經(jīng)有很高的操作水平,上鉆石也不是什么大問題啦!

而排位機制又不一樣了,是完全按照段位來匹配的。也就是黃金八成會匹配到黃金,鉆石八成會匹配到鉆石。出現(xiàn)跨幾個段位隊友的情況是不存在的。所以這也說明了一個問題:為什么高端局依然會遇到很多豬隊友——因為他可能找了代打,明明是白銀的水平,硬是代打到了鉆石。

看了這個匹配機制是不是感覺突然頓悟了很多?想檢測自己現(xiàn)在真實的段位水平嗎?不如去打幾局匹配,看看自己隊友的平均水平,就可以推測出自己的真實水平啦!

億企邦點評:

系統(tǒng)根據(jù)評估得出的綜合能力,計算和分組,形成10個召喚師的一局新游戲的匹配,但匹配成功之后,對局中每一位召喚師選擇的什么位置,選取的什么英雄,甚至是具體發(fā)揮的如何,都是匹配算法無法進行判斷與干預(yù)的。

總的來說,匹配的算法和規(guī)則本質(zhì)是一個數(shù)學(xué)問題,而一局高質(zhì)量的對局,由算法規(guī)則之外的很多綜合因素共同決定。

關(guān)鍵詞:產(chǎn)品,設(shè)計,榮耀

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉