Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Passen Sie den Match-Algorithmus an
FlexMatchoptimiert den Standardalgorithmus für die meisten Spiele, um Spielern akzeptable Matches mit minimaler Wartezeit zu ermöglichen. Du kannst den Algorithmus anpassen und das Matchmaking an dein Spiel anpassen.
Das Folgende ist der FlexMatch Standard-Matchmaking-Algorithmus:
-
FlexMatchplatziert alle offenen Matchmaking-Tickets und Backfill-Tickets in einem Ticketpool.
-
FlexMatchgruppiert die Tickets im Pool nach dem Zufallsprinzip in eine oder mehrere Chargen. Wenn der Ticketpool größer wird, werden zusätzliche Chargen FlexMatch gebildet, um die optimale Chargengröße beizubehalten.
-
FlexMatchsortiert die Tickets innerhalb jedes Stapels nach Alter.
-
FlexMatcherstellt ein Spiel, das auf dem ältesten Ticket jeder Charge basiert.
Um den Match-Algorithmus anzupassen, fügen Sie Ihrem Regelsatzschema eine algorithm Komponente hinzu. Die vollständigen Referenzinformationen finden Sie unter. FlexMatch Regelsatzschema
Verwenden Sie die folgenden optionalen Anpassungen, um verschiedene Phasen Ihres Matchmaking-Prozesses zu beeinflussen.
Fügen Sie eine Sortierung vor dem Batch
Sie können den Ticketpool sortieren, bevor Sie Batches bilden. Diese Art der Anpassung ist bei Spielen mit großen Ticketpools am effektivsten. Pre-batch Das Sortieren kann dazu beitragen, den Matchmaking-Prozess zu beschleunigen und die Einheitlichkeit der Spieler in Bezug auf definierte Eigenschaften zu erhöhen.
Definieren Sie Pre-batch Sortiermethoden mithilfe der Algorithmuseigenschaft. batchingPreference Die Standardeinstellung lautet random.
Zu den Optionen für die Anpassung der Sortierung vor dem Batch gehören:
-
Sortiere nach Spielerattributen. Stellen Sie eine Liste mit Spielerattributen bereit, um den Ticketpool vorab zu sortieren.
Um nach Spielerattributen
batchingPreferencezusortedsortieren, setzen Sie auf und definieren Sie Ihre Liste der Spielerattribute untersortByAttributes. Um ein Attribut zu verwenden, deklarieren Sie das Attribut zuerst in derplayerAttributesKomponente des Regelsatzes.Im folgenden Beispiel wird der Ticketpool nach der bevorzugten Spielkarte der Spieler und dann nach den Fähigkeiten des Spielers FlexMatch sortiert. Die resultierenden Chargen enthalten mit größerer Wahrscheinlichkeit ähnlich fähige Spieler, die dieselbe Karte verwenden möchten.
"algorithm": { "batchingPreference": "sorted", "sortByAttributes": ["map", "player_skill"], "strategy": "exhaustiveSearch" }, -
Sortiert nach Latenz. Erstellen Sie Übereinstimmungen mit der niedrigsten verfügbaren Latenz oder erstellen Sie schnell Übereinstimmungen mit akzeptabler Latenz. Diese Anpassung ist nützlich für Regelsätze, die große Spiele mit mehr als 40 Spielern bilden.
Stellen Sie die Algorithmuseigenschaft
strategyauf einbalanced. Die ausgewogene Strategie schränkt die verfügbaren Typen von Regelanweisungen ein. Weitere Informationen finden Sie unter Entwerfen Sie einen FlexMatch Regelsatz mit großen Übereinstimmungen.FlexMatchsortiert Tickets auf der Grundlage der von den Spielern gemeldeten Latenzdaten auf eine der folgenden Arten:
-
Standorte mit der niedrigsten Latenz. Der Ticketpool ist nach den Orten vorsortiert, an denen Spieler ihre niedrigsten Latenzwerte melden. FlexMatchsammelt dann Tickets mit niedriger Latenz an denselben Orten zusammen und sorgt so für ein besseres Spielerlebnis. Außerdem wird die Anzahl der Tickets in jedem Stapel reduziert, sodass die Spielersuche länger dauern kann. Um diese Anpassung zu verwenden, setzen Sie
batchingPreferenceauffastestRegion, wie im folgenden Beispiel gezeigt."algorithm": { "batchingPreference": "fastestRegion", "strategy": "balanced" }, -
Die akzeptable Latenz ist schnell erreicht. Der Ticketpool ist nach Orten vorsortiert, an denen Spieler einen akzeptablen Latenzwert melden. Dadurch entstehen weniger Chargen, die mehr Tickets enthalten. Da in jedem Stapel mehr Tickets enthalten sind, ist es schneller, akzeptable Treffer zu finden. Um diese Anpassung zu verwenden, legen Sie die Eigenschaft
batchingPreferenceauf festlargestPopulation, wie im folgenden Beispiel gezeigt."algorithm": { "batchingPreference": "largestPopulation", "strategy": "balanced" },
Anmerkung
Der Standardwert für die ausgewogene Strategie ist
largestPopulation. -
Priorisieren Sie Backfill-Tickets
Wenn dein Spiel automatisches oder manuelles Auffüllen implementiert, kannst du je nach Art der Anfrage anpassen, wie FlexMatch Matchmaking-Tickets verarbeitet werden. Der Anfragetyp kann eine neue Match- oder Backfill-Anfrage sein. FlexMatchBehandelt standardmäßig beide Arten von Anfragen gleich.
Die Backfill-Priorisierung wirkt sich darauf aus, wie Tickets nach der Stapelverarbeitung FlexMatch behandelt werden. Für die Backfill-Priorisierung sind Regelsätze erforderlich, um die umfassende Suchstrategie zu verwenden.
FlexMatchordnet nicht mehrere Backfill-Tickets zusammen.
Um die Priorisierung für Backfill-Tickets zu ändern, legen Sie die Eigenschaft fest. backfillPriority
-
Ordnen Sie zuerst Backfill-Tickets zu. Diese Option versucht, Backfill-Tickets abzugleichen, bevor neue Spiele erstellt werden. Das bedeutet, dass neue Spieler eine höhere Chance haben, einem bestehenden Spiel beizutreten.
Verwenden Sie diese Option am besten, wenn Ihr Spiel Auto-Backfill verwendet. Auto-backfill wird häufig in Spielen mit kurzen Spielsitzungen und hohem Turnaround von Spielern verwendet. Auto-backfill hilft diesen Spielen dabei, möglichst viele Spiele zu finden und sie zu starten, während gleichzeitig FlexMatch nach mehr Spielern gesucht wird, um die offenen Plätze zu besetzen.
Legen Sie den Wert für
backfillPriorityaufhighfest."algorithm": { "backfillPriority": "high", "strategy": "exhaustiveSearch" }, -
Die Tickets für das Spiel werden als letztes aufgefüllt. Diese Option ignoriert Backfill-Tickets, bis alle anderen Tickets ausgewertet werden. Das bedeutet, dass neue Spieler in bestehende Spiele FlexMatch zurückgeholt werden, wenn sie nicht in neue Spiele aufgenommen werden können.
Diese Option ist nützlich, wenn du Backfill als letzte Chance verwenden möchtest, um Spieler in ein Spiel zu locken, z. B. wenn es nicht genug Spieler gibt, um ein neues Match zu bilden.
Setzen Sie
backfillPriorityauflow."algorithm": { "backfillPriority": "low", "strategy": "exhaustiveSearch" },
Bevorzugen Sie ältere Tickets mit Erweiterungen
Die Erweiterungsregeln lockern die Spielkriterien, wenn Spiele schwer zu beenden sind. Amazon GameLift Serverswendet Erweiterungsregeln an, wenn Tickets für ein teilweise abgeschlossenes Spiel ein bestimmtes Alter erreichen. Die Zeitstempel der Tickets bestimmen, wann die Regeln Amazon GameLift Servers angewendet werden. Standardmäßig wird der Zeitstempel des Tickets FlexMatch verfolgt, für das zuletzt ein Treffer gefunden wurde.
Um zu ändern, wann Erweiterungsregeln FlexMatch gelten, legen Sie die Eigenschaft expansionAgeSelection wie folgt fest:
-
Erweitern Sie basierend auf den neuesten Tickets. Diese Option wendet Erweiterungsregeln an, die auf dem neuesten Ticket basieren, das dem potenziellen Spiel hinzugefügt wurde. Jedes Mal, wenn ein neues Ticket FlexMatch passt, wird die Uhr zurückgesetzt. Mit dieser Option haben die Ergebnisse in der Regel eine höhere Qualität, es dauert jedoch länger, bis ein Treffer gefunden wird. Bei Suchanfragen kann es zu einem Timeout kommen, bevor sie abgeschlossen sind, wenn sie zu lange dauern. Auf
expansionAgeSelectiongesetztnewest.newestist Standard. -
Basierend auf den ältesten Tickets erweitern. Diese Option wendet Erweiterungsregeln an, die auf dem ältesten Ticket des potenziellen Spiels basieren. Mit dieser Option werden Erweiterungen schneller FlexMatch angewendet, was die Wartezeiten für die Spieler, die am frühesten gematcht sind, verkürzt, aber die Spielqualität für alle Spieler verringert. Setzen Sie
expansionAgeSelectionaufoldest.
"algorithm": { "expansionAgeSelection": "oldest", "strategy": "exhaustiveSearch" },