So GameLift FlexMatch funktioniert Amazon - Amazon GameLift

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.

So GameLift FlexMatch funktioniert Amazon

Dieses Thema bietet einen Überblick über den GameLift FlexMatch Amazon-Dienst, einschließlich der Kernkomponenten eines FlexMatch Systems und ihrer Interaktion.

Sie können es FlexMatch mit Spielen verwenden, die von Amazon GameLift Managed Hosting verwenden, oder mit Spielen, die eine andere Hosting-Lösung verwenden. Spiele, die auf GameLift Amazon-Servern, einschließlich Echtzeitservern, gehostet werden, verwenden den integrierten GameLift Amazon-Dienst, um automatisch verfügbare Spielserver zu finden und Spielsitzungen für die Spiele zu starten. Spiele, die FlexMatch als eigenständiger Service genutzt werden, einschließlich Amazon GameLift FleetIQ, müssen sich mit dem bestehenden Hosting-System abstimmen, um Hosting-Ressourcen zuzuweisen und Spielsitzungen für die Spiele zu starten.

Eine ausführliche Anleitung FlexMatch zur Einrichtung deiner Spiele findest du unterErste Schritte mit FlexMatch.

Matchmaking-Komponenten

Ein FlexMatch Matchmaking-System umfasst einige oder alle der folgenden Komponenten.

GameLiftAmazon-Komponenten

Dies sind GameLift Amazon-Ressourcen, die steuern, wie der FlexMatch Dienst das Matchmaking für Ihr Spiel durchführt. Sie werden mithilfe von GameLift Amazon-Tools, einschließlich der Konsole und der AWS CLI, oder alternativ programmgesteuert mithilfe des AWS SDK für Amazon erstellt und verwaltet. GameLift

  • FlexMatchMatchmaking-Konfiguration (auch Matchmaker genannt) — Ein Matchmaker besteht aus einer Reihe von Konfigurationswerten, die den Matchmaking-Prozess für dein Spiel anpassen. Ein Spiel kann mehrere Matchmaker haben, die jeweils nach Bedarf für verschiedene Spielmodi oder Erlebnisse konfiguriert sind. Wenn dein Spiel eine Matchmaking-Anfrage an sendet, gibt es anFlexMatch, welcher Matchmaker verwendet werden soll.

  • FlexMatchMatchmaking-Regelsatz — Ein Regelsatz enthält alle Informationen, die erforderlich sind, um Spieler für ein potenzielles Spiel zu bewerten und zu genehmigen oder abzulehnen. Der Regelsatz definiert die Teamstruktur eines Spiels, legt die Spielerattribute fest, die für die Bewertung verwendet werden, und enthält Regeln, die die Kriterien für ein akzeptables Spiel beschreiben. Regeln können für einzelne Spieler, Teams oder das gesamte Spiel gelten. Eine Regel könnte zum Beispiel vorschreiben, dass alle Spieler im Spiel dieselbe Spielkarte wählen, oder sie könnte verlangen, dass alle Teams einen ähnlichen Fähigkeitsdurchschnitt haben.

  • GameLiftAmazon-Spielsitzungswarteschlange (nur für FlexMatch von Amazon GameLift verwaltetes Hosting) — Eine Warteschlange für Spielsitzungen sucht nach verfügbaren Hosting-Ressourcen und startet eine neue Spielsitzung für das Spiel. Die Konfiguration der Warteschlange bestimmt, wo Amazon nach verfügbaren Hosting-Ressourcen GameLift sucht und wie der beste verfügbare Host für ein Match ausgewählt wird.

Benutzerdefinierte Komponenten

Die folgenden Komponenten umfassen Funktionen, die für ein vollständiges FlexMatch System erforderlich sind, das Sie basierend auf der Architektur Ihres Spiels implementieren müssen.

  • Spielerschnittstelle für Matchmaking — Diese Oberfläche ermöglicht es Spielern, an einem Spiel teilzunehmen. Es initiiert mindestens eine Matchmaking-Anfrage über die Client-Matchmaking-Servicekomponente und stellt spielerspezifische Daten wie Fähigkeitsniveau und Latenzdaten bereit, die für den Matchmaking-Prozess benötigt werden.

    Anmerkung

    Es hat sich bewährt, dass die Kommunikation mit dem FlexMatch Dienst über einen Backend-Service und nicht über einen Spieleclient erfolgen sollte.

  • Client-Matchmaking-Service — Dieser Dienst beantwortet die Beitrittsanfragen des Spielers über die Spielerschnittstelle, generiert Matchmaking-Anfragen und sendet sie an den FlexMatch Dienst. Bei Anfragen, die gerade bearbeitet werden, überwacht es die Matchmaking-Ereignisse, verfolgt den Matchmaking-Status und ergreift bei Bedarf Maßnahmen. Je nachdem, wie du das Hosting von Spielsitzungen in deinem Spiel verwaltest, gibt dieser Dienst möglicherweise Verbindungsinformationen zu Spielsitzungen an die Spieler zurück. Diese Komponente verwendet das AWS SDK mit der GameLift Amazon-API, um mit dem FlexMatch Service zu kommunizieren.

  • Spielplatzierungsservice (nur FlexMatch als eigenständiger Dienst) — Diese Komponente arbeitet mit Ihrem bestehenden Game-Hosting-System zusammen, um verfügbare Hosting-Ressourcen zu finden und neue Spielsitzungen für Spiele zu starten. Die Komponente muss die Matchmaking-Ergebnisse abrufen und die Informationen extrahieren, die für den Start einer neuen Spielsitzung erforderlich sind, einschließlich Spieler-IDs, Attributen und Teamzuweisungen für alle Spieler im Spiel.

FlexMatchMatchmaking-Prozess

In diesem Thema werden ein grundlegendes Matchmaking-Szenario und Interaktionen zwischen den verschiedenen Spielkomponenten und dem FlexMatch Service beschrieben.

Matchmaking für Spieler anfragen

Ein Spieler, der deinen Spielclient verwendet, klickt auf die Schaltfläche „Spiel beitreten“. Diese Aktion veranlasst Ihren Client-Matchmaking-Service, eine Matchmaking-Anfrage an zu senden. FlexMatch Die Anfrage identifiziert den FlexMatch Matchmaker, der zur Erfüllung der Anfrage verwendet werden soll. Die Anfrage enthält auch Spielerinformationen, die Ihr benutzerdefinierter Matchmaker benötigt, wie z. B. Fähigkeitslevel, Spielpräferenzen oder geografische Latenzdaten. Sie können Matchmaking-Anfragen für einen oder mehrere Spieler stellen.

Anfragen zum Matchmaking-Pool hinzufügen

Wenn es die Matchmaking-Anfrage FlexMatch erhält, generiert es ein Matchmaking-Ticket und fügt es dem Ticketpool des Matchmakers hinzu. Das Ticket bleibt im Pool, bis es abgeglichen wird oder ein maximales Zeitlimit erreicht ist. Ihr Kunden-Matchmaking-Service wird regelmäßig über Matchmaking-Veranstaltungen informiert, einschließlich Änderungen des Ticketstatus.

Erstelle ein Match

Ihr FlexMatch Matchmaker führt kontinuierlich den folgenden Prozess für alle Tickets in seinem Pool aus:

  1. Der Matchmaker sortiert den Pool nach dem Alter der Tickets und beginnt dann mit der Erstellung eines potenziellen Spiels, beginnend mit dem ältesten Ticket.

  2. Der Matchmaker fügt dem potenziellen Spiel ein zweites Ticket hinzu und bewertet das Ergebnis anhand Ihrer benutzerdefinierten Matchmaking-Regeln. Wenn das potenzielle Spiel die Bewertung besteht, werden die Spieler des Tickets einer Mannschaft zugewiesen.

  3. Der Matchmaker fügt nacheinander das nächste Ticket hinzu und wiederholt den Bewertungsprozess. Wenn alle Spielerplätze belegt sind, ist das Spiel bereit.

Bei der Spielersuche für große Matches (41 bis 200 Spieler) wird eine modifizierte Version des oben beschriebenen Prozesses verwendet, sodass Matches innerhalb eines angemessenen Zeitrahmens erstellt werden können. Anstatt jedes Ticket einzeln zu bewerten, teilt der Matchmaker einen vorsortierten Ticketpool in potenzielle Spiele auf und gleicht dann jedes Spiel auf der Grundlage eines von Ihnen angegebenen Spielermerkmals aus. Ein Matchmaker kann zum Beispiel Tickets anhand ähnlicher Standorte mit niedriger Latenz vorsortieren und dann nach dem Spiel Balancing verwenden, um sicherzustellen, dass die Teams nach den Fähigkeiten der Spieler gleichmäßig verteilt sind.

Matchmaking-Ergebnisse melden

Wenn ein akzeptabler Treffer gefunden wird, werden alle übereinstimmenden Tickets aktualisiert und für jedes zugeordnete Ticket wird ein erfolgreiches Matchmaking-Event generiert.

  • FlexMatchals eigenständiger Service: Ihr Spiel erhält Spielergebnisse bei einem erfolgreichen Matchmaking-Event. Die Ergebnisdaten beinhalten eine Liste aller gearteten Spieler und ihrer Teamzuweisungen. Wenn deine Spielanfragen Informationen zur Spielerlatenz enthalten, deuten die Ergebnisse auch auf einen optimalen geografischen Standort für das Spiel hin.

  • FlexMatchmit einer GameLift Amazon-Hosting-Lösung: Die Spielergebnisse werden automatisch an eine GameLift Amazon-Warteschlange weitergeleitet, um die Spielsitzung zu platzieren. Der Matchmaker bestimmt, welche Warteschlange für die Platzierung der Spielsitzung verwendet wird.

Starte eine Spielsitzung für das Spiel

Nachdem ein geplantes Match erfolgreich gebildet wurde, wird eine neue Spielsitzung gestartet. Ihre Spielserver müssen in der Lage sein, die Matchmaking-Ergebnisdaten, einschließlich Spieler-IDs und Teamzuweisungen, bei der Einrichtung einer Spielsitzung für das Spiel zu verwenden.

  • FlexMatchals eigenständiger Dienst: Ihr benutzerdefinierter Matchplatzierungsdienst ruft Spielergebnisdaten von erfolgreichen Matchmaking-Events ab und stellt eine Verbindung zu Ihrem bestehenden Platzierungssystem für Spielsitzungen her, um eine verfügbare Hosting-Ressource für das Spiel zu finden. Nachdem eine Hosting-Ressource gefunden wurde, koordiniert der Match Placement Service Ihr bestehendes Hosting-System, um eine neue Spielsitzung zu starten und Verbindungsinformationen zu erhalten.

  • FlexMatchmit einer GameLift Amazon-Hosting-Lösung: Die Spielesitzungswarteschlange sucht den besten verfügbaren Spielserver für das Spiel. Je nachdem, wie die Warteschlange konfiguriert ist, versucht sie, die Spielsitzung mit den kostengünstigsten Ressourcen zu platzieren und die Spieler dort zu platzieren, wo die Latenz gering ist (sofern Daten zur Spielerlatenz bereitgestellt werden). Sobald die Spielsitzung erfolgreich platziert wurde, fordert der GameLift Amazon-Dienst den Spieleserver auf, eine neue Spielsitzung zu starten, wobei die Matchmaking-Ergebnisse und andere optionale Spieldaten weitergegeben werden.

Verbinde Spieler mit dem Spiel

Nachdem eine Spielsitzung gestartet wurde, stellen die Spieler eine Verbindung zu der Sitzung her, nehmen ihre Teamzuweisung in Anspruch und beginnen mit dem Spielen.

  • FlexMatchals eigenständiger Dienst: Ihr Spiel verwendet das bestehende System zur Verwaltung von Spielsitzungen, um den Spielern Verbindungsinformationen zur Verfügung zu stellen.

  • FlexMatchmit einer GameLift Amazon-Hosting-Lösung: Bei erfolgreicher Platzierung der Spielsitzung werden alle passenden Tickets mit Verbindungsinformationen zur Spielsitzung und einer Spielersitzungs-ID FlexMatch aktualisiert.