Multiplayer mit PlayFab
Multiplayer ist eine großartige Ergänzung zu vielen Titeln, und PlayFab bietet mehrere Dienste, die sich auf Multiplayer-Szenarien konzentrieren:
Dienst | Beschreibung |
---|---|
Bestenlisten | Nachverfolgen und Reagieren auf Spieleraktivitäten mit Statistiken und Bestenlisten. |
Entitätsgruppen | Erstellen Sie permanente oder temporäre Gruppen von Spielern und Signalaktivitäten. |
Lobby | Erstellen Sie Lobbies für die Koordination des Gameplays zwischen Gruppen vor oder nach dem Matchmaking. |
Spielersuche | Schnelles Bereitstellen benutzerdefinierter Matchmaking-Regeln für Gruppenspieler |
Party | Verbinden Sie Spieler mit Netzwerken und zugänglichem In-Game-Chat |
Server | Dynamisches Skalieren von benutzerdefinierten Multiplayerservern in Azure |
Während Titel alle diese Dienste in Kombination verwenden können, können sie auch unabhängig voneinander verwendet werden, und dies ist ziemlich üblich. Beispielsweise können Titel PlayFab-Matchmaking verwenden, aber Server aus einer alternativen Multiplayer-Serverhostinglösung zuordnen. Oder Spiele können PlayFab-Multiplayer-Server zum Hosten verwenden, aber ihr eigenes Matchmaking-System verwenden, um Spieler zusammenzubringen.
Spiele entwickeln zunehmend netzwerkübergreifende Erfahrungen mit Spielern, die sich aus verschiedenen Identitätsdomänen gegenseitig interagieren (z. B. Xbox Live-Spieler interagieren mit Steam-Spielern , die mit benutzerdefinierten Identitätssystemen interagieren). Die Dienste von PlayFab wurden entwickelt, um cross-progression und cross-network play zu unterstützen.
Multiplayer-Beispielszenarien
PlayFab wurde entwickelt, um eine Vielzahl von Multiplayer-Modi zu unterstützen. Im Folgenden finden Sie eine Liste der Modi, die in einem einzigen, ziemlich anspruchsvollen Titel integriert werden können. In diesem Abschnitt wird kurz vorgeschlagen, wie Sie diese Erfahrungen mithilfe von PlayFab-Diensten implementieren.
Spielmodus | Maximale Anzahl von Spielern | Bestenliste | Spielersuche | Backfill | Freunde einladen | Unaufgebetener Beitritt in Bearbeitung | Chat | Servermodell |
---|---|---|---|---|---|---|---|---|
Einzelspielerkampagne | 1 | Ja | Nein | Nein | Nein | Nein | Nein | Nein |
Kooperative Kampagne | 4 | Ja | Nein | Nein | Ja | Ja | Ja | P2P |
In-Game-Partys | 8 | Nein | Nein | Nein | Ja | Ja | Ja | P2P |
Lockere kleine Sitzungen | 8 | Ja | Ja | Ja | Ja | Ja | Ja | P2P |
Lässige große Sitzungen | 32 | Ja | Ja | Ja | Ja | Ja | Ja | Cloudserver |
Wettbewerbsfähige kleine Sitzungen | 8 | Ja | Ja | Nein | Ja | Nein | Ja | Cloudserver |
Wettbewerbsfähige große Sitzungen | 32 | Ja | Ja | Nein | Ja | Nein | Ja | Cloudserver |
Bestenlisten und Spielerdaten
In-Game-Bestenlisten können für Folgendes verwendet werden:
- Speichern von Spielerergebnissen, um Spielbelohnung und anderes Spielverhalten auszulösen
- Speichern und Bewerten von Spielerergebnissen als Matchmaking-Eingabe
- Erstellen von In-Game-Bewertungserfahrungen, in denen Benutzer die Bestenliste durchsuchen und ihre vergleichende Leistung verstehen können
Bestenlisten können sowohl den Einzelspieler- als auch den Multiplayermodus erweitern. Beispielsweise kann eine Kampagnen-Bestenliste die Anzahl der vom Spieler gesammelten speziellen Elemente nachverfolgen, während eine Multiplayer-Bestenliste spieler- und spielerwettbewerbliche Siege nachverfolgen kann. PlayFab-Bestenlisten wurden entwickelt, um diese Erfahrungen zu unterstützen, indem sie eine Spielerstatistik nachverfolgen und Spieler anhand dieser Statistik bewerten.
Wenn Spielerergebnisse nicht allgemein mit anderen Spielern geteilt werden müssen, sind spielerseitig zugeordnete PlayFab-Entitätsdaten möglicherweise besser geeignet, um diese Daten zu speichern. Ein Vorteil des Entity-Systems von PlayFab ist die Möglichkeit, den netzwerkübergreifenden Fortschritt der Aktivitäten des Spielers und anderer Daten über mehrere Konten hinweg zu verfolgen. Änderungen an PlayFab-Bestenlisten und -Daten lösen sowohl PlayStream-Ereignisse aus, die benutzerdefiniertes CloudScript auslösen können. Dies ermöglicht hochgradig anpassbare Reaktionen auf Spieleraktivitäten in Echtzeit.
Anwendbare Dienste:
- Weitere Informationen zu Leaderboards
- Weitere Informationen zu Entitätsdaten
- Weitere Informationen zu CloudScript
In-Game-Partys und unaufgebetene Mitmachen
Spieler möchten oft außerhalb des richtigen Gameplays auftreten, und Ihr Titel kann dies durch eine In-Game-Gilde oder Party-Erfahrung unterstützen. PlayFab-Entitätsgruppen und PlayFab Party werden unter Berücksichtigung dieser Szenarien entworfen.
Sie können eine PlayFab-Entitätsgruppe für Folgendes erstellen:
- Spieler teilen status mit ihren Anhängern
- Spieler, die Gilden erstellen, die langlebig sind (Monate oder Tage)
- Spieler, die Parteien erstellen, die kurzlebig sind (Stunden oder weniger)
PlayFab-Entitätsgruppen verfügen über integrierte Flows zum Steuern des Zugriffs und Spieler, die Gruppenzugriff von den Gruppenleitern anfordern. Gruppen können beliebigen Dateidaten zugeordnet werden, sodass Sie es Spielern ermöglichen können, Nachrichten freizugeben oder andere persistente Inhalte in einem freigegebenen Bereich zu veröffentlichen.
Während Sie Entitätsgruppen für Signalisierung und andere langsame Datenfreigaben verwenden können, eignet sich PlayFab Party am besten für die Datenübertragung und den Chat in Echtzeit. Eine häufige Verwendung von PlayFab-Entitätsgruppen umfasst Spieler, die PlayFab-Party-Netzwerkbeschreibungen oder PlayFab-Multiplayerserversitzungsdetails im Datenspeicher der Gruppe speichern. Diese Freigabe von Sitzungsinformationen kann es Spielern ermöglichen, unaufgefragt an der Sitzung eines Freundes teilzunehmen. Wenn Sie Nicht-PlayFab-Dienste für die Echtzeitkommunikation oder das Hosting von Spielen verwenden, verfügen diese Systeme in der Regel über identifizierbare Informationen, die Sie auch zwischen Spielern mithilfe von Entitätsgruppen signalisieren können.
PlayFab-Entitätsgruppen verfügen nicht über ein Pushbenachrichtigungssystem für Spieler, die über Entitätsobjektänderungen benachrichtigt werden können, und erfordert, dass der Dienst abgerufen wird, um auf dem neuesten Stand zu bleiben. Plattformen können integrierte Einladungs- und Anwesenheitssysteme bereitstellen, die Popups starten und andere vorteilhafte Erfahrungen haben (teilnehmen über das Spielerprofil Karte), die Sie ggf. integrieren sollten.
Matchmaking und Backfill
Spieler möchten vielleicht mit neuen Personen spielen, die sie nicht kennen, und ausgewogene anonyme Matchmaking-Erfahrungen sind der Kern vieler Multiplayer-Spiele. PlayFab Matchmaking ist so konzipiert, dass Spieler mithilfe von Regeln, die Sie anpassen, schnell zusammenkommen.
Wenn ein Spieler oder eine Gruppe von Spielern zusammen spielen möchte, erstellt ein Spieler ein Matchmaking-Ticket für sich selbst oder die gesamte Gruppe. PlayFab Matchmaking ermöglicht es Benutzern, gemeinsam als Team an die Matchmaking zu übermitteln, mit einem Join-Flow, der sicherstellt, dass alle Spieler in der Gruppe übereinstimmen. Der Dienst ermöglicht auch das Ausfüllen von Tickets, die verwendet werden können, um Spieler zu ersetzen, die mitten im Spiel verlassen. Join in Progress und Backfill-Funktionen sind hilfreiche Mechanismen, um gelegenheitslose Spielsitzungen so voll wie möglich zu halten.
PlayFab Matchmaking ist in PlayFab Multiplayer-Server integriert, um die Serverzuordnung für fertige Tickets zu vereinfachen und die Spielsicherheit zu verbessern. Auch PlayFab Matchmaking-Tickets lösen PlayStream-Ereignisse aus, die CloudScript auslösen können. Dies kann bei der Integration von Matchmaking in Ihre eigenen Multiplayer-Systeme helfen.
Chat
PlayFab Party kann verwendet werden, um Sprach- und Textchats in Echtzeit zu sozialen oder Gameplay-Erfahrungen für bis zu 32 Spieler hinzuzufügen. PlayFab Party ermöglicht die gleichzeitige Anwesenheit eines Spielers in mehreren Netzwerken mit angepassten Stummschaltungsregeln für jedes Netzwerk. Dies bietet Flexibilität beim Implementieren von Kanälen und komplexen Chatbeziehungen.
Party nutzt Azure Cognitive Services, um Den Voicechat des Spielers zu transkribieren und Text als Sprache zu synthetisieren. Diese Funktionalität hat mehrere Verwendungsmöglichkeiten, wurde aber in erster Linie als Barrierefreiheits-Aide konzipiert. Party transkribiert nicht nur Spielerchat, sondern übersetzt auch Chat in Echtzeit. Bei anonymen Matchmaking- und internationalen Wettkampfspielen sorgen diese Transkriptions- und Übersetzungsfunktionen für ein ansprechendes Multiplayer-Erlebnis.
Spielehosting
Echtzeit-Multiplayer-Spiele wählen in der Regel ein bestimmtes Spielergerät aus, um den Spielzustand zu hosten (auch bekannt als "Peer-to-Peer") oder einen dedizierten Multiplayer-Server zu verwenden. Wenn ein Spiel auf einem Spielergerät gehostet wird, ist PlayFab Party ein ideales Gerät-zu-Gerät-Netzwerksystem mit geringer Latenz, um diesen Spielzustand über die Sitzungsteilnehmer hinweg zu synchronisieren.
Es ist schwierig, Peer-to-Peer-Spiele zu skalieren, wenn die Geräteanzahl zunimmt. Während PlayFab Party Netzwerkverschlüsselung bereitstellt und Relays verwendet, um die IP-Adressen der Spieler zu schützen, eröffnet die Verwendung eines Geräts als Host immer noch Möglichkeiten für Betrug.
PlayFab Multiplayer-Server bieten eine einfache und effiziente Skalierung des Multiplayers in der globalen Azure-Cloud. Die Verwendung eines kleinen Servers, z. B. das Laden von 10 Sitzungen mit jeweils 10 Spielern auf einem virtuellen F2v2-Linux-Computer, kann Ihr Multiplayer-Design effizient und dramatisch vereinfachen und seine Zuverlässigkeit im Vergleich zu einer P2P-Implementierung verbessern. Eine anspruchsvolle Multiplayerberechnung kann erreicht werden, indem die Buildkonfiguration eines Servers festgelegt wird, um einer Sitzung mehr Azure-Ressourcen zuzuordnen, wobei möglicherweise 8 oder mehr Kerne für eine Erfahrung mit 200 Spielern verwendet werden.