Passer au contenu principal

Vue d’ensemble

Lorsque vous configurez une file d’attente de matchmaking, vous pouvez attribuer une valeur de poids (Weight) à chaque règle. Le poids est un multiplicateur numérique qui contrôle l’influence d’une règle particulière lorsque le système de matchmaking classe et trie les tickets éligibles. Il ne détermine pas si un ticket satisfait ou non une règle; il affecte uniquement l’importance de cette règle par rapport aux autres pour déterminer quels tickets sont les meilleurs candidats pour une correspondance. Comprendre le poids est essentiel pour ajuster la qualité des correspondances. En ajustant les poids de vos règles, vous pouvez donner la priorité à ce qui compte le plus pour votre jeu, qu’il s’agisse de l’équilibre des compétences, de la proximité géographique ou du contenu partagé.

Fonctionnement du poids

Chaque règle qui prend en charge le poids calcule une valeur de distance pour chaque paire de tickets évaluée. Cette distance représente le degré de similarité ou de différence entre deux tickets selon cette règle :
  • Une distance de 0 signifie que les tickets correspondent parfaitement pour cette règle.
  • Une distance proche de 1 signifie que les tickets sont à la limite de ce que la règle autorise.
  • Une distance infinie (rejet strict) signifie que les tickets ne peuvent pas être mis en correspondance selon cette règle, quel que soit le poids.
Le système de matchmaking calcule une distance totale sur l’ensemble des règles pondérées à l’aide de la formule suivante :
Les tickets ayant une distance totale plus faible sont considérés comme de meilleurs candidats et sont essayés en premier lors de la constitution d’une correspondance. Le poids agit comme un multiplicateur scalaire sur la contribution de chaque règle à ce total.
Le poids ne remplace pas les restrictions strictes. Si une règle détermine que deux tickets sont incompatibles, les tickets sont entièrement exclus. C’est le cas par exemple avec une règle de différence lorsque les valeurs dépassent la différence maximale autorisée. Le poids influence uniquement l’ordre de priorité parmi les tickets déjà éligibles.

Calcul de la distance par chaque règle

Avant d’examiner des exemples de poids, il est utile de comprendre comment chaque règle pondérée calcule sa valeur de distance. La distance est toujours un nombre compris entre 0 et 1, les valeurs plus faibles indiquant une correspondance plus proche.

Règles prenant en charge le poids

Le poids s’applique aux types de règles standard qui participent au tri basé sur la distance. Les règles suivantes prennent en charge la propriété Weight : Les types de règles d’équipe suivants ne prennent pas en charge le poids. Ces règles agissent comme des validateurs : elles acceptent ou rejettent une correspondance et ne participent pas au tri basé sur la distance :

Valeurs de poids valides

Le poids doit être un nombre supérieur à 0 et inférieur ou égal à 1000. Un poids de 0 n’est pas autorisé. Si aucun poids n’est spécifié, la valeur par défaut est 1.

Exemples

Les exemples suivants utilisent une file d’attente avec une règle de différence pour la compétence et une règle d’intersection d’ensembles pour les cartes de jeu préférées. Trois joueurs (Alice, Bob et Charlie) sont dans la file d’attente. Le système de matchmaking doit décider lequel des deux candidats (Bob ou Charlie) correspond le mieux à Alice.

Configuration de la file d’attente

Attributs des joueurs

Étape 1 : calculer les distances par règle

SkillRule (règle de différence) utilise la formule absoluteDifference / maxDifference :
  • Alice contre Bob : |20 - 24| / 10 = 4 / 10 = 0.4
  • Alice contre Charlie : |20 - 17| / 10 = 3 / 10 = 0.3
MapRule (règle d’intersection d’ensembles) utilise la formule 1 / (1 + sharedItemCount) :
  • Alice contre Bob : ils partagent “Dustbowl” et “Summit” (deux éléments) → 1 / (1 + 2) = 0.33
  • Alice contre Charlie : ils partagent “Lakeside” (un élément) → 1 / (1 + 1) = 0.5

Exemple 1 : poids égaux

Avec les deux règles à Weight = 1, la distance totale est :
Résultat : Bob (0,73) est une meilleure correspondance que Charlie (0,80). Même si Charlie est plus proche en compétence, Bob partage davantage de cartes avec Alice, et les deux règles contribuent de façon égale. Bob est essayé en premier.

Exemple 2 : priorité à la compétence (Weight = 10 sur SkillRule)

Si votre jeu est compétitif et que l’équilibre des compétences compte le plus, augmentez le poids de SkillRule :
Les distances totales changent alors :
Résultat : Charlie (3,50) est maintenant la meilleure correspondance. Le poids plus élevé de la compétence signifie que le niveau de compétence plus proche de Charlie (une différence de 3 contre 4) l’emporte sur le fait que Bob partage davantage de cartes. La compétence domine l’ordre de tri.

Exemple 3 : priorité aux cartes partagées (Weight = 10 sur MapRule)

Si votre jeu est occasionnel et que les joueurs tiennent avant tout à jouer sur leurs cartes favorites, augmentez plutôt le poids de MapRule :
Les distances totales deviennent alors :
Résultat : Bob (3,70) est préféré. Le fait de partager deux cartes avec Alice donne à Bob un avantage significatif, et le faible écart de compétence avec Charlie compte à peine. La préférence de carte domine l’ordre de tri.

Exemple 4 : lorsque des joueurs ne peuvent pas être mis en correspondance (rejet strict)

Ajoutez maintenant un quatrième joueur, Dave, dont la compétence est très éloignée de celle d’Alice et qui ne partage aucune carte préférée : SkillRule : |20 - 35| / 10 = 15 / 10 = 1.5, mais la différence de 15 dépasse MaxDifference (10); la règle retourne donc une distance infinie (rejet strict). MapRule : Alice et Dave ne partagent aucune carte et MinIntersectionSize vaut 1; cette règle retourne donc également une distance infinie.
Quelle que soit la configuration des poids, Dave ne peut pas être mis en correspondance avec Alice. Même si une seule règle retourne une distance infinie, la distance totale devient infinie et le ticket est exclu de la liste des candidats. Le poids ne peut pas outrepasser un rejet strict; il peut seulement influencer la priorité parmi les tickets déjà éligibles. Pour permettre à des joueurs comme Dave d’être finalement mis en correspondance, utilisez les expansions de règle pour assouplir les restrictions au fil du temps.

Récapitulatif des exemples

Le tableau ci-dessous montre comment le poids modifie le candidat préféré, avec les mêmes attributs de joueurs et les mêmes règles; seuls les poids diffèrent. Les distances sous-jacentes ne changent jamais; seule l’importance relative attribuée à chaque règle change. Dave est toujours rejeté, car ses attributs dépassent les limites strictes, quel que soit le poids. C’est là toute la puissance de l’ajustement des poids.

Poids et expansions de règle

Lorsqu’une règle devient facultative (au moyen de Secondes avant de devenir facultative ou une expansion), elle ne rejette plus strictement les tickets. Cependant, les tickets qui auraient été rejetés reçoivent toujours une valeur de distance non nulle. Le poids continue de mettre cette distance à l’échelle, ce qui signifie que les règles facultatives influencent toujours l’ordre de tri : elles font baisser la priorité des tickets « non conformes » plutôt que de les exclure entièrement. Ce comportement permet de garantir que, même lorsque les règles s’assouplissent au fil du temps, les meilleures correspondances restent privilégiées.

Pratiques exemplaires

  • Commencez avec des poids égaux et ajustez-les en fonction des retours de vos joueurs sur la qualité des correspondances.
  • Utilisez des poids plus élevés sur les règles les plus importantes pour l’expérience de votre jeu (comme la compétence pour les titres compétitifs, ou le contenu partagé pour les jeux occasionnels).
  • N’oubliez pas que le poids n’affecte que le tri : il ne peut pas rendre possible une correspondance impossible. Utilisez les expansions pour assouplir les restrictions strictes au fil du temps.
  • Évitez les rapports de poids extrêmes (comme 1000:1), sauf si vous souhaitez intentionnellement qu’une règle éclipse complètement toutes les autres.

Voir aussi

Dernière modification le 8 octobre 2026