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 tickets de matchmaking ouverts et les tickets de remplissage dans un pool de tickets.
-
FlexMatchregroupe de manière aléatoire les tickets du pool en un ou plusieurs lots. Au fur et à mesure que le pool de tickets augmente, FlexMatch forme des lots supplémentaires pour conserver une taille de lot optimale.
-
FlexMatchtrie les billets par âge, au sein de chaque lot.
-
FlexMatchcrée un match 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. Voir FlexMatch schéma d'ensemble de règles pour les informations de référence complètes.
Utilisez les personnalisations facultatives suivantes pour avoir un impact sur les différentes étapes de votre processus de matchmaking.
Ajouter un tri avant le lot
Vous pouvez trier le pool de tickets avant de former des lots. Ce type de personnalisation est particulièrement efficace pour les jeux comportant de gros pools de tickets. Le tri avant le lot peut aider à accélérer le processus de matchmaking et à augmenter l'uniformité des joueurs dans les caractéristiques définies.
Définissez les méthodes de tri avant le lot à l'aide de la propriété batchingPreference
de l'algorithme. Le paramètre par défaut est random
.
Les options de personnalisation du tri avant lot sont les suivantes :
-
Trier par attributs du joueur. Fournissez une liste des attributs des joueurs pour prétrier le pool de tickets.
Pour trier par attributs de joueur, définissez
batchingPreference
et définissez votre liste d'attributs de joueur danssortByAttributes
.sorted
Pour utiliser un attribut, déclarez d'abord l'attribut dans leplayerAttributes
composant 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 latence disponible la plus faible ou créez rapidement des correspondances avec une latence acceptable. Cette personnalisation est utile pour les ensembles de règles formant de grands matchs de plus de 40 joueurs.
Définissez la propriété de l'algorithme
strategy
surbalanced
. La stratégie équilibrée limite les types d'énoncés de règles disponibles. Pour de plus amples informations, veuillez consulter Concevez un FlexMatch ensemble de règles pour les grandes correspondances.FlexMatchtrie les tickets en fonction des données de latence signalées par les joueurs de l'une des manières suivantes :
-
Emplacements où la latence est 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 avec une faible latence aux mêmes endroits, créant ainsi une meilleure expérience de jeu. Cela réduit également le nombre de tickets dans chaque lot, donc le matchmaking peut prendre plus de temps. Pour utiliser cette personnalisation, définissez cette
batchingPreference
option surfastestRegion
, comme indiqué dans l'exemple suivant."algorithm": { "batchingPreference": "fastestRegion", "strategy": "balanced" },
-
La latence acceptable correspond 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 davantage de tickets. Avec un plus grand nombre de tickets par lot, il est plus rapide de trouver des correspondances acceptables. Pour utiliser cette personnalisation, définissez la propriété
batchingPreference
surlargestPopulation
, comme indiqué dans l'exemple suivant."algorithm": { "batchingPreference": "largestPopulation", "strategy": "balanced" },
Note
La valeur par défaut de la stratégie équilibrée est
largestPopulation
. -
Prioriser les tickets de remblayage
Si votre jeu implémente le remblayage automatique ou manuel, vous pouvez personnaliser le traitement des tickets de matchmaking FlexMatch 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 du remblayage a un impact sur la façon dont FlexMatch les tickets sont gérés une fois qu'ils sont groupés. La priorisation du remblayage nécessite des ensembles de règles pour utiliser une stratégie de recherche exhaustive.
FlexMatchne correspond pas à plusieurs tickets de remblayage.
Pour modifier la priorisation des tickets de remblayage, définissez la propriété. backfillPriority
-
Faites d'abord correspondre les tickets de remblayage. 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 remblayage automatique. Le remblayage automatique est souvent utilisé dans les jeux où les sessions de jeu sont courtes et où le nombre de joueurs est élevé. Le remplissage automatique permet à ces jeux de former un minimum de matchs viables et de les lancer tout en FlexMatch recherchant plus de joueurs pour occuper les places disponibles.
Définissez
backfillPriority
surhigh
."algorithm": { "backfillPriority": "high", "strategy": "exhaustiveSearch" },
-
Faites correspondre les tickets de remblayage en dernier. Cette option ignore les tickets de remblayage jusqu'à ce qu'elle évalue tous les autres tickets. Cela signifie que les joueurs FlexMatch entrants sont redirigés vers des jeux existants lorsqu'il n'est pas possible de les associer à de nouveaux jeux.
Cette option est utile lorsque vous souhaitez utiliser le remblayage 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
backfillPriority
surlow
."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 tickets d'un match partiellement terminé atteignent un certain âge. L'horodatage de création des tickets détermine le moment où les Amazon GameLift Servers règles sont appliquées ; par défaut, il FlexMatch suit l'horodatage du dernier ticket correspondant.
Pour modifier le moment où les règles d'extension FlexMatch s'appliquent, définissez la propriété expansionAgeSelection
comme suit :
-
Développez en fonction des nouveaux tickets. Cette option applique les règles d'extension en fonction du ticket le plus récent ajouté au match potentiel. Chaque fois qu'un nouveau ticket FlexMatch correspond, l'horloge est remise à zéro. Avec cette option, les correspondances obtenues ont tendance à être de meilleure qualité, mais leur mise en correspondance prend plus de temps ; les demandes de correspondance peuvent expirer avant d'être terminées si elles mettent trop de temps à correspondre.
expansionAgeSelection
Réglé surnewest
.newest
est la valeur par défaut. -
Développez en fonction des tickets les plus anciens. Cette option applique des règles d'extension basées sur le ticket le plus ancien du match potentiel. Cette option permet d'FlexMatchappliquer les extensions plus rapidement, ce qui améliore les temps d'attente pour les premiers joueurs, mais réduit la qualité des matchs pour tous les joueurs. Définissez
expansionAgeSelection
suroldest
.
"algorithm": { "expansionAgeSelection": "oldest", "strategy": "exhaustiveSearch" },