Aller au contenu
MMR, Elo, TrueSkill : comment marche le classement en jeu

MMR, Elo, TrueSkill : comment marche le classement en jeu

Par Lucas M.

10 min de lecture
Lien copié dans le presse-papiers
Lucas M.

Pourquoi vous tombez toujours contre le même profil d'adversaire trois games après un gros streak de victoires ? Ce n'est pas de la malchance, c'est un système qui recalcule votre niveau caché après chaque partie et qui vous replace en fonction. La plupart des articles s'arrêtent à « le MMR, c'est ton niveau caché ». Ce n'est pas un mystère, c'est une mécanique, et elle a une formule.

Le MMR (Matchmaking Rating) est calculé par un système de classement, le plus souvent une variante d'Elo ou de TrueSkill, qui met à jour votre score après chaque match selon le résultat attendu. Un système Elo attribue un seul chiffre par joueur. TrueSkill en attribue deux, une moyenne et une incertitude.

Le problème que ni Elo ni TrueSkill n'affichent jamais#

Sous le capot d'un jeu de combat, on parle du rollback netcode qui prédit la frame suivante. Sous le capot d'une file de matchmaking, ce sont deux chiffres qui prédisent l'issue de la partie avant qu'elle commence. C'est le même genre de pari statistique, sauf que personne ne l'affiche à l'écran.

La formule d'Elo, celle qui a inspiré la quasi-totalité des systèmes de classement en jeu vidéo, tient en deux lignes selon Wikipédia. La probabilité de victoire attendue du joueur A face au joueur B se calcule ainsi : E_A = 1 / (1 + 10^((R_B - R_A)/400)). Après la partie, la note se met à jour avec R_A' = R_A + K * (S_A - E_A), où S_A vaut 1 en cas de victoire, 0 en cas de défaite, et K est un facteur qui détermine à quel point une seule partie peut faire bouger votre note.

C'est ce facteur K qui est presque toujours mal cité dans les articles grand public. Le règlement de la FIDE, en vigueur depuis le 1er mars 2024, fixe des paliers précis : K = 40 pour un joueur nouvellement classé tant qu'il n'a pas disputé au moins 30 parties, K = 20 tant que sa note reste sous 2400, K = 10 une fois qu'il a atteint 2400 (même si elle redescend ensuite), et K = 40 pour tout joueur jusqu'à la fin de l'année de ses 18 ans tant qu'il reste sous 2300. Un débutant bouge vite. Un maître international bouge à peine. C'est voulu : plus vous avez d'historique, moins une seule partie doit peser sur votre note réelle.

Pourquoi TrueSkill remplace un chiffre par deux#

Elo suppose un duel à un contre un entre deux notes déjà stabilisées. Un jeu en ligne moderne, lui, doit classer des équipes de tailles variables dès la première partie d'un joueur qu'il ne connaît pas encore. C'est le problème que Microsoft Research a posé en travaillant sur le matchmaking Xbox Live, et la réponse s'appelle TrueSkill, publiée par Ralf Herbrich, Tom Minka et Thore Graepel dans un article présenté à NeurIPS en 2007 (précédé d'un rapport technique interne dès 2006).

Sous le capot : dans TrueSkill, le niveau d'un joueur n'est plus un seul chiffre, mais deux. Une moyenne de niveau, notée mu, et un degré d'incertitude, noté sigma. D'après la FAQ officielle du projet, un joueur qui vient de commencer a un sigma élevé : le système ne sait rien de lui, donc chaque partie fait beaucoup bouger son mu. Un vétéran a un sigma faible, sa note est stable, une seule partie ne la déplace presque plus. Concrètement, Microsoft Research indique qu'il faut entre 50 et 100 parties avant que le système soit capable de détecter un changement substantiel de niveau. Si vous progressez vraiment sur un jeu, le matchmaking met des dizaines de games à s'en rendre compte, pas trois.

Ce qui m'a surpris en creusant la FAQ officielle : TrueSkill n'est pas un concurrent d'Elo, c'est une généralisation. La documentation Microsoft Research le dit noir sur blanc, si les deux joueurs ont la même incertitude, la mise à jour TrueSkill se réduit mathématiquement à une mise à jour Elo. Elo est un cas particulier de TrueSkill, pas l'inverse.

Le tableau que le SERP ne construit jamais#

Quatre systèmes, quatre auteurs, quatre années. Voici ce que chacun ajoute au précédent, sans les mélanger, ce qui est justement le piège le plus fréquent dans les guides grand public.

SystèmeCréateurPublication d'origineCe qu'il ajoute
EloArpad Elo, amélioration du système HarknessAdopté par l'USCF vers 1960, puis la FIDE en 1970Une note unique par joueur, mise à jour selon l'écart entre résultat obtenu et résultat attendu
GlickoMark Glickman1995, présenté comme une amélioration d'EloLa Ratings Deviation (RD), qui mesure la fiabilité de la note (équivalente à un écart-type)
TrueSkillRalf Herbrich, Tom Minka, Thore Graepel (Microsoft Research)Rapport technique MSR-TR-2006-80 (2006), publication NeurIPS 2007Deux nombres au lieu d'un (mu, sigma), gestion native des équipes et des matchs à plus de deux joueurs
TrueSkill 2Tom Minka, Ryan Cleven, Yordan Zaykov (Microsoft Research)MSR-TR-2018-8, mars 2018Intègre l'expérience du joueur, l'appartenance à un squad, le nombre de kills, la tendance à quitter en cours de partie et le niveau dans d'autres modes

Glicko et TrueSkill partagent une idée, modéliser une incertitude autour de la note, mais ce sont deux systèmes distincts, développés indépendamment, à onze ans d'écart. Présenter Glicko comme une variante de TrueSkill, ou l'inverse, reste l'erreur la plus répandue dans les guides de classement grand public.

TrueSkill 2 : plus de précision, mais mesurée où#

Dans son évaluation rétrospective sur des matchs historiques, Microsoft Research annonce que TrueSkill 2 prédit l'issue des parties avec 68 % de précision, contre 52 % pour la version originale. C'est un gain net, mais gardez en tête d'où vient ce chiffre : une évaluation interne sur des données passées, pas une garantie universelle sur n'importe quel jeu. Le principe reste transposable, en revanche : plus le système a de signaux (kills, squad, tendance à quitter), plus il colle à la réalité du terrain.

C'est exactement le genre de logique qu'on retrouve dans l'anti-cheat comportemental : plus vous ajoutez de signaux au modèle, plus il devient précis, et plus il devient difficile à expliquer simplement au joueur qui regarde son écran de fin de partie.

Pourquoi Riot, Valve et Blizzard ne disent jamais comment ils calculent#

Là où ça se complique, honnêtement, c'est qu'aucun des grands éditeurs de jeux compétitifs ne publie l'algorithme exact de son MMR. Riot Games ne détaille pas la formule utilisée pour League of Legends ou Valorant. Valve ne publie pas le détail du calcul de la note CS Rating de CS2. Blizzard n'a pas non plus rendu public l'algorithme d'Overwatch. Ce n'est pas un oubli de leur part, ni une lacune de cet article : c'est un choix éditorial des éditeurs eux-mêmes, et aucune déclaration officielle de Riot n'explique pourquoi le MMR doit rester caché.

Une piste sérieuse pour comprendre cette opacité vient d'un papier de recherche académique plutôt que d'une communication d'éditeur. Zhengxing Chen et ses coauteurs ont publié en 2017 un cadre appelé EOMM (Engagement Optimized Matchmaking). Leur argument : le matchmaking par égalité de niveau n'est qu'un cas particulier d'un objectif plus large, maximiser l'engagement global des joueurs, et cette égalité de niveau ne tient que sous une hypothèse simplificatrice qui se vérifie rarement en pratique. Un comparatif des meilleurs jeux multijoueur qui prétendrait comparer les MMR des différents titres se heurterait au même mur : personne d'extérieur ne peut vérifier ce qui tourne réellement côté serveur.

Pour aller plus loin : EA a déposé deux demandes de brevet le 8 mars 2016, décrites par la presse spécialisée comme portant sur un matchmaking orienté engagement. Je n'ai pas pu retrouver le numéro de brevet exact ni sa date de délivrance sur un document USPTO primaire, donc je le mentionne sans plus de détail. Ce flou fait partie du sujet : même la trace documentaire de ces systèmes reste partielle.

Le calcul du MMR ne dépend pas que de la formule. La stabilité de la file elle-même compte aussi, et elle passe par l'infrastructure réseau qui héberge la partie, un facteur souvent oublié quand on ne parle que d'algorithme.

Le point commun entre tous ces systèmes, au fond, c'est qu'aucun n'a pour but de vous faire gagner à tous les coups. Le MMR cherche l'adversaire qui rend la partie incertaine, pas celui que vous allez écraser. Si votre prochain match tombe serré alors que vous enchaînez les victoires, ce n'est pas le hasard qui vous punit. C'est le système qui fait exactement ce pour quoi il a été conçu, et si vous voulez creuser la stabilité du milieu compétitif français, c'est cette mécanique de fond qui décide qui affronte qui, bien avant la première pick.

FAQ#

C'est quoi la différence entre le MMR et le rang affiché ?#

Le MMR est une note interne, non affichée, qui sert au système à composer des lobbies équilibrés. Le rang visible (comme les LP en League of Legends) peut diverger de ce MMR caché, et l'écart entre les deux influence les gains ou pertes de points à chaque match. Aucun éditeur ne publie le détail exact de ce calcul.

Pourquoi TrueSkill met plus de temps à me classer qu'un simple Elo ?#

Parce qu'il n'estime pas seulement votre niveau, mais aussi son degré de confiance dans cette estimation. D'après la FAQ officielle de Microsoft Research, il faut entre 50 et 100 parties avant que le système puisse détecter un changement substantiel de niveau. Un système Elo classique bouge plus vite, mais avec moins de certitude sur la fiabilité du chiffre obtenu.

Riot ou Valve utilisent-ils Elo ou TrueSkill ?#

Aucun des deux éditeurs ne publie l'algorithme exact utilisé pour League of Legends, Valorant ou CS2. Les guides communautaires décrivent des mécanismes qui ressemblent à Elo (gain ou perte selon l'issue attendue), mais ce sont des reconstitutions, pas des documents officiels.

Le facteur K, c'est quoi concrètement ?#

C'est le multiplicateur qui détermine combien de points une seule partie peut vous faire gagner ou perdre. Selon le règlement FIDE en vigueur depuis le 1er mars 2024, il vaut 40 pour un joueur débutant (moins de 30 parties), 20 sous 2400 points, et seulement 10 une fois 2400 points atteints. Plus votre historique est long, moins une partie isolée pèse.

Glicko et TrueSkill, c'est la même chose ?#

Non, et c'est une confusion fréquente. Glicko a été créé par Mark Glickman en 1995 comme amélioration d'Elo. TrueSkill vient de Microsoft Research, publié en 2006-2007. Les deux modélisent une incertitude autour de la note du joueur, mais ce sont deux systèmes indépendants, développés à onze ans d'écart, par des équipes différentes.

Sources#

Lien copié dans le presse-papiers

À lire aussi