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 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 formuleabsoluteDifference / maxDifference :
- Alice contre Bob :
|20 - 24| / 10 = 4 / 10 = 0.4 - Alice contre Charlie :
|20 - 17| / 10 = 3 / 10 = 0.3
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 :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 :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 :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 renvoie donc une distance infinie (rejet strict).
MapRule : Alice et Dave ne partagent aucune carte et MinIntersectionSize vaut 1 ; cette règle renvoie donc également une distance infinie.
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 (via 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.Bonnes pratiques
- 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.
