Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Personnalisez l'algorithme de correspondance
FlexMatchoptimise l'algorithme par défaut pour la plupart des jeux afin de permettre aux joueurs de participer à des matchs acceptables avec un temps d'attente minimal. Vous pouvez personnaliser l'algorithme et ajuster le matchmaking pour votre jeu.
Voici l'algorithme de FlexMatch matchmaking par défaut :
-
FlexMatchplace tous les billets de matchmaking ouverts et les billets de remplacement dans un pool de billets.
-
FlexMatchregroupe au hasard les billets du pool en un ou plusieurs lots. Au fur et à mesure que le pool de tickets augmente, FlexMatch forme des lots supplémentaires pour maintenir une taille de lot optimale.
-
FlexMatchtrie les billets par âge, au sein de chaque lot.
-
FlexMatchconstruit une correspondance en fonction du ticket le plus ancien de chaque lot.
Pour personnaliser l'algorithme de correspondance, ajoutez un algorithm composant au schéma de votre ensemble de règles. Consultez FlexMatch schéma d'ensemble de règles les informations de référence complètes.
Utilisez les personnalisations facultatives suivantes pour influencer les différentes étapes de votre processus de matchmaking.
Ajouter un tri pré-batch
Vous pouvez trier le pool de tickets avant de former des lots. Ce type de personnalisation est particulièrement efficace pour les jeux avec de gros pools de billets. Pre-batch le tri peut aider à accélérer le processus de matchmaking et à uniformiser les caractéristiques définies par les joueurs.
Définissez les méthodes Pre-batch de tri à l'aide de la propriété algorithmbatchingPreference. Le paramètre par défaut est random.
Les options permettant de personnaliser le tri par lots sont les suivantes :
-
Triez par attributs de joueur. Fournissez une liste des attributs des joueurs pour trier au préalable la liste des tickets.
Pour trier par attributs de joueur, définissez
batchingPreferenceet définissez votre liste d'attributs de joueur danssortByAttributes.sortedPour utiliser un attribut, déclarez-le d'abord dans leplayerAttributescomposant de l'ensemble de règles.Dans l'exemple suivant, FlexMatch trie le pool de tickets en fonction de la carte de jeu préférée des joueurs, puis en fonction de leurs compétences. Les lots qui en résultent sont plus susceptibles de contenir des joueurs aux compétences similaires qui souhaitent utiliser la même carte.
"algorithm": { "batchingPreference": "sorted", "sortByAttributes": ["map", "player_skill"], "strategy": "exhaustiveSearch" }, -
Triez par latence. Créez des correspondances avec la plus faible latence disponible ou créez rapidement des correspondances avec une latence acceptable. Cette personnalisation est utile pour les ensembles de règles constituant de grands matchs de plus de 40 joueurs.
Définissez la propriété de l'algorithme
strategysurbalanced. La stratégie équilibrée limite les types d'énoncés de règles disponibles. Pour de plus amples informations, veuillez consulter Concevez un ensemble FlexMatch de règles de correspondance important.FlexMatchtrie les tickets en fonction des données de latence déclarées par les joueurs de l'une des manières suivantes :
-
Emplacements à latence la plus faible. Le pool de tickets est pré-trié en fonction des emplacements où les joueurs signalent leurs valeurs de latence les plus faibles. FlexMatchregroupe ensuite les tickets à faible latence aux mêmes endroits, créant ainsi une meilleure expérience de jeu. Cela réduit également le nombre de billets dans chaque lot, de sorte que le matchmaking peut prendre plus de temps. Pour utiliser cette personnalisation,
batchingPreferenceréglez surfastestRegion, comme indiqué dans l'exemple suivant."algorithm": { "batchingPreference": "fastestRegion", "strategy": "balanced" }, -
Les temps de latence acceptables correspondent rapidement. Le pool de tickets est pré-trié en fonction des emplacements où les joueurs signalent une valeur de latence acceptable. Cela permet de réduire le nombre de lots contenant plus de tickets. Avec plus de billets dans chaque lot, il est plus rapide de trouver des matchs acceptables. Pour utiliser cette personnalisation, définissez la propriété
batchingPreferencesurlargestPopulation, comme indiqué dans l'exemple suivant."algorithm": { "batchingPreference": "largestPopulation", "strategy": "balanced" },
Note
La valeur par défaut pour la stratégie équilibrée est
largestPopulation. -
Priorisez les tickets de remplacement
Si votre jeu met en œuvre le remplissage automatique ou le remplissage manuel, vous pouvez personnaliser la façon dont les tickets de matchmaking sont FlexMatch traités en fonction du type de demande. Le type de demande peut être une nouvelle demande de correspondance ou de remplacement. Par défaut, FlexMatch traite les deux types de demandes de la même manière.
La priorisation des remblayages a un impact sur la façon dont les tickets FlexMatch sont gérés une fois qu'ils ont été groupés. La hiérarchisation des remblais nécessite des ensembles de règles pour utiliser la stratégie de recherche exhaustive.
FlexMatchne fait pas correspondre plusieurs tickets de remplacement en même temps.
Pour modifier la priorité des tickets de remplacement, définissez la propriété. backfillPriority
-
Match : remplissez les billets d'abord. Cette option essaie de faire correspondre les tickets de remplacement avant de créer de nouveaux matchs. Cela signifie que les nouveaux joueurs ont plus de chances de rejoindre une partie existante.
Il est préférable de l'utiliser si votre jeu utilise le remplissage automatique. Auto-backfill est souvent utilisé dans les jeux comportant de courtes sessions de jeu et un taux de rotation élevé des joueurs. Auto-backfill aide ces jeux à former un minimum de parties viables et à les lancer tout en FlexMatch recherchant plus de joueurs pour occuper les emplacements vacants.
Définissez
backfillPrioritysurhigh."algorithm": { "backfillPriority": "high", "strategy": "exhaustiveSearch" }, -
Les billets de match à remplir sont les derniers. Cette option ignore les tickets de remplacement jusqu'à ce qu'elle évalue tous les autres tickets. Cela signifie qu'il FlexMatch remplace les nouveaux joueurs dans les jeux existants lorsqu'il ne peut pas les associer aux nouveaux jeux.
Cette option est utile lorsque vous souhaitez utiliser le remplissage comme option de dernière chance pour faire participer des joueurs à une partie, par exemple lorsqu'il n'y a pas assez de joueurs pour former un nouveau match.
Définissez
backfillPrioritysurlow."algorithm": { "backfillPriority": "low", "strategy": "exhaustiveSearch" },
Privilégiez les anciens billets avec des extensions
Les règles d'extension assouplissent les critères de match lorsque les matchs sont difficiles à terminer. Amazon GameLift Serversapplique les règles d'extension lorsque les billets d'un match partiellement terminé atteignent un certain âge. Les horodatages de création des tickets déterminent à quel moment les règles Amazon GameLift Servers s'appliquent ; par défaut, FlexMatch suit l'horodatage du dernier ticket correspondant.
Pour modifier le moment où FlexMatch s'appliquent les règles d'extension, définissez la propriété expansionAgeSelection comme suit :
-
Développez en fonction des nouveaux billets. Cette option applique les règles d'extension en fonction du dernier ticket ajouté au match potentiel. Chaque fois qu'un nouveau ticket FlexMatch correspond, l'horloge est réinitialisée. Avec cette option, les correspondances obtenues ont tendance à être de meilleure qualité mais prennent plus de temps à correspondre ; les demandes de correspondance peuvent expirer avant d'être terminées si elles mettent trop de temps à correspondre. Réglez
expansionAgeSelectionsurnewest.newestest défini par défaut. -
Développez en fonction des billets les plus anciens. Cette option applique les règles d'extension en fonction du ticket le plus ancien du match potentiel. Avec cette option, les FlexMatch extensions sont appliquées plus rapidement, ce qui réduit les temps d'attente pour les premiers joueurs associés, mais réduit la qualité des matchs pour tous les joueurs. Définissez
expansionAgeSelectionsuroldest.
"algorithm": { "expansionAgeSelection": "oldest", "strategy": "exhaustiveSearch" },