Évolution du matchmaking sous charge
Vue d’ensemble
Lorsqu’une file d’attente reçoit un volume élevé de tickets, le service met automatiquement à l’échelle son traitement pour maintenir une faible latence de mise en correspondance. Lorsque la charge augmente, les tickets sont regroupés à l’aide des règles configurées de votre file d’attente, de sorte que les tickets similaires (ceux qui sont les plus susceptibles d’être compatibles) sont évalués ensemble. Lorsque la charge diminue, ces groupes se consolident, ce qui offre au service un plus grand ensemble de tickets parmi lesquels choisir et améliore la qualité des correspondances. Cette mise à l’échelle est transparente pour les joueurs, mais les règles que vous configurez sur une file d’attente influencent l’efficacité avec laquelle le service peut répartir le travail. Comprendre ce processus peut vous aider à concevoir des configurations de file d’attente qui évoluent efficacement.Ce qui permet à une règle de bien évoluer
Lorsque le service doit répartir les tickets sur sa capacité de traitement, il recherche des attributs de règle qui divisent naturellement les tickets en groupes à peu près égaux. Les règles comportant un large éventail de valeurs distinctes fonctionnent le mieux : elles offrent au service davantage d’options pour équilibrer la charge de manière uniforme. Si aucune règle ne fournit une bonne répartition, le service se rabat sur une répartition générique qui équilibre la charge sans s’appuyer sur les attributs de règle. Cela se produit par exemple lorsque la plupart des tickets partagent des valeurs d’attribut identiques.Règles qui partitionnent bien
- Règles d’égalité de chaînes avec des valeurs variées : des règles comme
GameModeouRegion, qui présentent plusieurs valeurs distinctes dans votre population de joueurs, créent des limites de partition naturelles. Le service peut diviser proprement les tickets en groupes partageant la même valeur. - Règles obligatoires : les règles qui restent appliquées tout au long de la mise en correspondance (sans expansion) sont privilégiées pour le partitionnement, car elles représentent des contraintes strictes. Le fractionnement selon ces règles garantit que les limites de partition correspondent à vos exigences de correspondance les plus fortes.
- Règles à poids plus élevé : les règles ayant un poids plus important sont prioritaires pour le partitionnement. Cette approche signifie que les règles que vous jugez les plus importantes pour la qualité des correspondances sont aussi celles qui sont les plus susceptibles de guider la répartition des tickets.
- Règles de différence avec une dispersion de valeurs : les règles numériques comme le classement de compétence fonctionnent bien lorsque les valeurs des joueurs sont réparties sur une plage, ce qui permet au service de diviser les tickets en groupes aux valeurs similaires.
Règles moins efficaces pour le partitionnement
- Règles pour lesquelles la plupart des tickets partagent la même valeur : si presque tous les joueurs soumettent la même valeur d’attribut pour une règle, le service ne peut pas utiliser cette règle pour créer une division pertinente.
- Règles utilisant massivement des caractères génériques : lorsqu’une grande proportion de tickets utilise une valeur générique (correspondance avec n’importe quelle valeur) pour une règle, cette règle devient moins utile pour diviser les tickets en groupes distincts.
- Règles avec expansions : les règles qui deviennent facultatives au fil du temps sont moins prioritaires pour le partitionnement, car elles représentent des contraintes plus souples qui peuvent ne pas s’appliquer pendant toute la durée de vie d’un ticket.
Considérations de conception
Lors de la conception de files d’attente de matchmaking pour des jeux susceptibles de connaître des volumes de tickets élevés, gardez à l’esprit les considérations suivantes :- Répartissez les valeurs d’attribut : les règles dont les valeurs d’attribut sont variées dans votre population de joueurs produisent de meilleures divisions de partition. Si la plupart des joueurs partagent la même valeur pour une règle, celle-ci n’aide pas à équilibrer la charge entre les partitions.
- Attribuez un poids plus élevé aux règles importantes : le poids d’une règle affecte à la fois la priorité de tri des correspondances et la priorité de fractionnement des partitions. Attribuer des poids plus élevés aux règles les plus importantes pour la qualité des correspondances garantit que ces règles guident également la répartition des tickets.
- Évitez les caractères génériques inutiles : lorsqu’une grande proportion de tickets utilise des valeurs génériques pour une règle, cette règle devient moins utile pour le partitionnement. Déterminez si le comportement générique est nécessaire à la conception de votre jeu.
- Les nouvelles tentatives lors des modifications de partition sont normales : lorsque la disposition des partitions change à la suite d’un fractionnement ou d’une fusion, certains tickets peuvent être brièvement annulés avec un signal de nouvelle tentative. Le SDK de matchmaking gère cela automatiquement, de sorte que les joueurs ne subissent qu’un délai momentané.
