Actualités

Journal de développement - Matchmaking 2.0

Auteur : Javier Olivares, Programmeur en chef

Une nouvelle fonctionnalité a été introduite dans la mise à jour 0.13 - le matchmaking 2.0. Même si nous savons que ce système n'est pas parfait, je voudrais aborder quelques-uns des sujets liés à son implémentation afin de vous expliquer le fonctionnement de certains éléments.

Répartition des équipes

La répartition des équipes débute par un groupe de 30 joueurs sélectionnés par le Matchmaker pour créer un match. La sélection de ces 30 joueurs est effectuée via des filtres qui permettent un meilleur équilibrage, comme créer des pelotons contenant chacun des tanks identiques.

scr3

Sans prendre en compte les pelotons et l'artillerie, la répartition vers les équipes commence par un filtrage du groupe par rang, catégorie, et talent (taux de victoires). Ce qui signifie que les chars des rangs supérieurs sont au sommet de la liste, les chars lourds au sommet des rangs, puis ils sont ensuite filtrés par talent.

Les équipes sont ensuite composées selon le principe “ABBA”, ce qui signifie que nous commençons par le sommet de la liste et que nous plaçons chaque joueur dans une équipe selon les conditions, dans cet ordre précis. Si une condition préalable est validée, aucune autre condition n'est prise en compte.

  1. Si l'une des équipes a 2 joueurs de plus de la catégorie en train d'être répartie, l'autre équipe récupère le joueur en cours de sélection. Nous n'appliquons pas cette règle avec un joueur de plus car l'équilibrage de catégorie surclasserait l'équilibrage par rang.
  2. Si une équipe a moins de “points de rang” (somme de tous les rangs des chars), ils récupéreront le joueur en cours de sélection.
  3. Si une équipe dispose de moins de joueurs, ils récupéreront le joueur en cours de sélection.
  4. Si tout est équivalent, le choix est effectué de manière aléatoire.

Bien que cela soit rare, il y aura un rééquilibrage dans le cas où une équipe dispose de plus de joueurs que l'autre. En partant du bas de l'équipe, les joueurs de l'équipe en surnombre seront transférés vers l'équipe en sous-effectif jusqu'à ce que les équipes soient égales. Enfin, nous essayons d'équilibrer la moyenne des taux de victoire des 2 équipes avec l'algorithme suivant :

  1. Calcul du pourcentage moyen de taux de victoires des 2 équipes et tentative d'équilibrage si la différence est supérieure ou égale à 1 %.
  2. En utilisant le taux de victoire pour classer les joueurs, en commençant par le meilleur joueur de l'équipe en surnombre et le plus mauvais joueur de l'équipe en sous-effectif.
  3. Permutation des deux joueurs s'ils sont du même rang et catégorie et que cela n'inverse pas la tendance, sinon poursuite de l'examen des listes de tri pour essayer d'effectuer un échange.
  4. Après un échange, réitération depuis l'étape a) ou arrêt, s'il n'y a pas d'échange possible.

L'artillerie est gérée en la plaçant au sommet de la liste lors des filtrages 1 et 2, afin que ces véhicules soient d'abord placés dans les équipes, équilibrés par rang et talent. Les pelotons sont plus compliqués, mais pour résumer ils sont gérés en les filtrant et en les répartissant d'abord en combinant leurs rangs et talents. Les membres de pelotons sont placés de force dans les équipes lors de l'étape 2, mais dans un ordre classé pour que l'équilibre ne soit pas détruit en plaçant d'abord tous les membres d'un peloton. Nous pensons qu'il y a encore une marge de progression pour créer convenablement des pelotons équivalents et nous continuons à améliorer leur équilibre.

Lissage du taux de victoires moyen

La raison pour laquelle nous équilibrons le taux de victoires moyen est en relation avec les statistiques recueillies sur les différences de taux de victoire, car cela influe fortement l'issue d'un match. Nous avons découvert que même un petit avantage de 2 ou 3 % avait comme conséquence de bien plus hautes probabilités de victoire. Le tableau ci-dessous a été effectué après avoir analysé les résultats de plus de 30 000 matchs, avant que ne soit ajouté l'algorithme de lissage.

scr1

Avant l'implémentation du lissage du taux de victoire moyen, seulement 40 % des matchs se situaient dans une fourchette de +/- 1 %, 30 % dans une fourchette de +/- 2 % et 30 % dans une fourchette de +/- 3 ou plus. Après l'implémentation de l'algorithme de lissage, plus de 4 19 % des matchs sont maintenant dans une fourchette de +/- 1 % (d'après des statistiques recueillies sur plus de 140 000 matchs).

Victoires écrasantes

Notre avis concernant le problème causé par les victoires écrasantes, et que cela est souvent le résultat du rythme rapide du jeu, et non pas le résultat d'un mauvais matchmaking. La distribution suivante montre le nombre de survivants dans l'équipe victorieuse, sur un échantillon de plus de 28 000 matchs :

scr2

La signification cette distribution est ouverte à interprétation, mais les parties ont habituellement entre 7 et 9 survivants, tandis que 10 survivants ou plus (28 % des matchs) sont en fait un résultat normal pour une partie. Cela consolide la théorie de “l'effet boule de neige” : lorsqu'une équipe dispose d'un léger avantage -aussi bien en termes de nombre que de points de vie disponibles - cela lui donne plus d'opportunités de rapidement submerger l'équipe adverse. Nos observations faites sur des matchs compétitifs mettant face à face 2 équipes de joueurs de talents identiques renforcent cette théorie. Les victoires écrasantes ne sont pas ce que nous recherchons et, de manière générale, nous souhaiterions que chaque match se gagne de peu, mais étant donné le nombre de variables en jeu lors de chaque match, espérer cela est peu réaliste.

Cependant, nous continuons d'affiner les mécanismes de gameplay et l'équilibrage des cartes pour permettre des matchs à l'issue plus incertaine. Les théories des joueurs suggérant que cela est le résultat de matchmaking mal équilibré devraient pouvoir démontrer que le matchmaker crée des matchs non équilibrés en dépit de la répartition aléatoire, cependant nos échantillons observés sur un grand nombre de matchs prouvent que la distribution est aléatoire et que nous faisons notre possible pour équilibrer le talent avec la composition de l'équipe.

Nous espérons que cet article apportera quelques réponses à vos questions - à bientôt sur le champ de bataille !

Vers le haut

Rejoignez l'action