Zurück zu den Neuigkeiten für Entwickler

Erstellen deines Multiplayer-Erlebnisses in VR: Andere Multiplayer-SDK-Funktionen, Travel Reliability und Best Practices

12. Juli 2022VonNavyata Bawa

Im letzten Teil unserer vierteiligen Blog- und Videoreihe "Erstellen deines Multiplayer-Erlebnisses in VR" gehen wir auf die Multiplayer-Funktionen in Quest des Platform SDK ein. Dazu sehen wir uns unser als Open Source freigegebenes SharedSpaces-Beispiel an, das in Unity erstellt wurde, und zeigen dir, wie du anhand des Beispiels deine eigene Multiplayer-App erstellen kannst. Wenn du gerne durch Zusehen und Zuhören lernst, sieh dir dieses Video auf dem Open-Source-YouTube-Kanal von Meta an.

Im heutigen Blogbeitrag sehen wir uns einige weitere Funktionen des Multiplayer SDK an und befassen uns mit Travel Reliability, Best Practices, Denkanstößen und Ressourcen. Falls dir entgangen ist, wie wir auf Grundlage des SharedSpaces-Beispiels ein einfaches Multiplayer-VR-Spiel erstellt haben, sieh dir unseren Blogbeitrag und unser Video an.

Andere Multiplayer-Funktionen

Aufrufbare Fehlerdialoge und Rejoin

Die Multiplayer-Funktionen des Platform SDK in Quest bieten nützliche Features, die es einfach machen, Multiplayer-Erlebnissen beizutreten und mit Grenzfällen umzugehen. So bietet das SDK beispielsweise eine API für einen aufrufbaren Fehlerdialog, um Spieler*innen mitzuteilen, dass sie das für den Beitritt zur Gruppe erforderliche Tutorial nicht abgeschlossen haben.

Das kann Spieler*innen helfen zu verstehen, was schiefgelaufen ist, und die Gründe dafür einzugrenzen, warum die Reise an einen Zielort nicht wie erwartet funktioniert. Weitere Details zur Verwendung dieser API und eine vollständige Liste der anzeigbaren Fehlermeldungen findest du in der Dokumentation.

Das SDK bietet Nutzer*innen auch eine Option, um einer Gruppe über den Rejoin-Dialog erneut beizutreten, falls die Verbindung unterbrochen wurde, wie unten gezeigt.

Beachte hierbei, dass diese Funktion nur einen Dialog anzeigt. Du bist selbst für das Erkennen der verlorenen Verbindung, das tatsächliche erneute Beitreten und das Deep Linking zuständig. Bedenke außerdem: Wenn alle Nutzer*innen die Sitzung verlassen, während ein*e Nutzer*in versucht, ihr erneut beizutreten, muss die App mit einer Fehlermeldung darauf hinweisen, dass kein Beitritt zur Sitzung möglich ist, weil alle Teilnehmer*innen die Sitzung verlassen haben. Weitere Details zum Verwenden der Rejoin APIs, Anwendungsbeispiele und Best Practices findest du in der Dokumentation.

Webhooks

Webhooks erlauben dir, in Echtzeit HTTP-Benachrichtigungen zu Änderungen zu erhalten, die für die Multiplayer-Erlebnisse in deiner App relevant sein könnten. Zum Beispiel kann Quest dir eine Benachrichtigung senden, wenn beliebige Nutzer*innen deiner App einer neuen Lobby oder Sitzung beitreten, sodass du keine Änderungen abfragen musst. Um mehr über die Konfiguration und Verwendung von Webhooks zu erfahren, sieh dir die Dokumentation an.

Schnelleinladungen

Schnelleinladungen sind eine Multiplayer-Funktion, die dir ermöglicht, Oculus-Einladungen in dein App-Erlebnis zu integrieren, ohne ein Oculus-Overlay anzeigen zu müssen.

Die Quick Invite API ist verfügbar, sobald Invite to App implementiert wurde, und erlaubt Apps, Nutzer*innen plattformübergreifend anzuzeigen.

Die API stellt eine Liste von verfügbaren Nutzer*innen, Direkteinladungen und versendeten Einladungen bereit. Um mehr über die Quick Invite API, ihre Voraussetzungen, Einschränkungen und ihre Verwendung zu erfahren, sieh dir die Dokumentation an.

Group Launch

Group Launch ist eine Multiplayer-Funktion, die es Personen leicht macht, Zielorten beizutreten, und Nutzer*innen das gemeinsame Reisen in der App mithilfe von Deep-Link-URLs ermöglicht.

Group Launch ermöglicht es dir, direkte Links zu den besten Erlebnissen in deiner App zu erstellen und sie auf jeder Plattform mit deiner Community zu teilen. Du kannst diese Links verwenden, um eine neue Karte zu bewerben, ein "Play with the developers"-Event zu organisieren oder begrenzte Belohnungen zu vergeben.

Weitere Informationen zur Verwendung dieser Methoden und zu Beispielszenarien, in denen Group Launch verwendet werden kann, findest du in der Dokumentation.

In unserem kürzlich veröffentlichten Oculus Developer Hub (ODH) Update haben wir neue Funktionen und Verbesserungen an bestehenden Funktionen eingeführt, die deinen alltäglichen Entwicklungsworkflow verbessern werden. Ein Beispiel dafür ist Multiplayer Testing, mit dem du Group Launch direkt von ODH auf mehreren Geräten testen kannst. Multiplayer Testing funktioniert für jede App, für die Group Destinations registriert sind und mindestens ein Binary in einen Release Channel hochgeladen wurde. Starte deine App mit einem konkreten Zielort und einer Lobby-Sitzungs-ID auf einem oder mehreren Geräten. Mehr über Multiplayer Testing erfährst du in der Dokumentation.

Diese Funktion vereinfacht die Implementierung und verbessert die Zuverlässigkeit von Group Destinations. Wenn du beginnen möchtest, Multiplayer Testing in deinen Workflow einzubeziehen, sieh dir unseren Dokumentationsleitfaden an.

Als Nächstes befassen wir uns mit einigen Maßnahmen, die du ergreifen kannst, um sicherzustellen, dass deine Multiplayer-Erlebnisse in VR angenehm und einladend sind.

Travel Reliability

Travel Reliability bedeutet, dass deine Nutzer*innen ihre gewünschten Zielorte zuverlässig und auf korrekte Weise erreichen. Es ist sehr wichtig, eine hohe Travel Reliability sicherzustellen, damit die Immersion der Nutzer*innen nicht gestört wird und unerwünschte Überraschungen ausbleiben.

Es ist wichtig, nur gültige Zielorte anzuzeigen, an welche der*die Nutzer*in reisen kann. Wenn ein Zielort nicht allen zur Verfügung steht, solltest du den Personen, denen er nicht zur Verfügung steht, eine Fehlermeldung anzeigen, wenn sie versuchen, dorthin zu reisen.

Den Punkt zu identifizieren, an dem die Reise fehlschlägt, kann beim Umgang mit dem Fehler und bei der Information des*der Nutzer*in über den Vorfall helfen. Beim Gestalten von Multiplayer-Apps für VR ist es sehr wichtig, sicherzustellen, dass Nutzer*innen zuverlässig an ihren gewünschten Zielort reisen können. So sorgst du für ein reibungsloses, faires und angenehmes Erlebnis. Du solltest versuchen, die Anzahl der Nutzereingaben zu minimieren, die beim Reisen erforderlich sind, damit Nutzer*innen eine Reise abschließen können.

Hier sind einige gängige Szenarien, in denen einfache Änderungen an den Designentscheidungen potenziell helfen können, die Travel Reliability zu verbessern und deinen Nutzer*innen ein angenehmeres Reiseerlebnis zu bieten:

  • Wenn ein*e Nutzer*in ein Tutorial nicht abgeschlossen hat und dies tun muss, bevor er*sie reisen kann. Für solche Fälle empfehlen wir, dass der*die Entwickler*in ihnen erlaubt, das Tutorial zu überspringen und direkt zum Zielort zu gehen.
  • Wenn ein*e Nutzer*in zuerst die Einrichtung eines Spielavatars abschließen muss, bevor er*sie reisen kann, dies aber noch nicht getan hat. Die beste Methode, solche Situationen zu vermeiden, ist, ihnen einen Standardavatar zu geben, damit sie mit dem Erlebnis fortfahren können.
  • Wenn einem*einer Nutzer*in ein Login-Bildschirm angezeigt wird, in dem er*sie ihre Zugangsdaten eingeben muss (E-Mail/Passwort). Sofern möglich, würde es ihr Erlebnis sehr viel zuverlässiger machen, wenn sie fortfahren könnten, ohne den Login-Bildschirm zu sehen.
  • Wenn ein*e Nutzer*in aus spielbedingten Gründen keinen Zutritt zum Zielort hat (z. B. weil das Level nicht hoch genug ist, nicht genügend Geld vorhanden ist, der Zielort noch nicht freigeschaltet wurde etc.) und stattdessen ohne jede Mitteilung zum Hauptmenü geleitet wird. Mit solchen Situationen gehst du am besten um, indem du den*die Nutzer*in über die Gründe informierst, warum er*sie den gewünschten Zielort nicht erreichen kann.
  • Es können Situationen auftreten, in denen ein*e Nutzer*in die App bereits geöffnet hatte, als er*sie die Reise begonnen hat, und die App ihn*sie nicht an den Zielort gebracht hat. In solchen Fällen ist es am besten, zu testen, wie das Reisen an einen Zielort bei geöffneter App funktioniert, und sicherzustellen, dass das Verhalten mit dem Verhalten bei nicht geöffneter App übereinstimmt. Wenn es spielbedingte Gründe dafür gibt, dass ein*e Nutzer*in den aktuellen Standort nicht verlassen kann, oder wenn dies störend wäre, ist es am besten, dem*der Nutzer*in auf angemessene Weise mitzuteilen, warum er*sie zurzeit nicht an den neuen Zielort reisen kann.

Als Nächstes sehen wir uns einige Best Practices an, die du beim Entwickeln deiner Multiplayer-Erlebnisse für VR im Hinterkopf behalten solltest.

Best Practices und Ressourcen

Indem du die Multiplayer-Funktionen des Platform SDK in deine App integrierst, machst du es den Menschen leichter, sich in deiner App zu treffen. Das kann ihre Interaktion und die Kundenbindung fördern. Platform-Multiplayer-Funktionen in deine Multiplayer-App für VR einzubinden, kann dabei helfen, Unstimmigkeiten zu verringern. Wenn Übereinstimmung zwischen den Apps besteht, können neue Spieler*innen schneller verstehen, wie sie Gruppen bilden und gemeinsam spielen können, ohne den Umgang mit einem eigenen System erlernen zu müssen. Wir empfehlen, zuerst Destinations und Group Presence einzubinden, gefolgt von Roster, Invite to App und Invite Link. Eine Best Practice für die Integration von Invites besteht darin, einen leicht zu findenden Invite-Button in die App einzubinden, mit dem der Invite to App-Prozess gestartet werden kann.

Es ist wichtig, Fehlerdialoge und Webhooks zu aktivieren, da diese die Zuverlässigkeit für Multiplayer verbessern, bei der Problemlösung helfen und die Identifikation von Fehlern und Verbesserungsbereichen vereinfachen.

Eine der besten Ressourcen, um die Multiplayer-Funktionen des Platform SDK sowie die damit assoziierten APIs kennenzulernen, ist die Dokumentation zu Multiplayer-Funktionen. Hier findest du alle besprochenen SDK-Funktionen, die besten Arten, sie in deiner App zu verwenden, sowie Anwendungsbeispiele, die dir helfen, loszulegen.

In der Connect 2021-Sitzung Erstellen und Erweitern von Multiplayer-Apps für Quest werden Multiplayer-Funktionen im Detail betrachtet. Zudem wird besprochen, wie Echo VR diese Funktionen in ihr Spiel eingebunden haben. Außerdem umfasst die Sitzung eine detaillierte Vorstellung des SharedSpaces-Beispiels.

Wenn du mehr darüber erfahren möchtest, wie Ready At Dawn die Multiplayer-Funktionen der Oculus-Plattform als Mehrwert für Echo VR verwendet hat, lies unseren Blogbeitrag, für den wir uns mit David Neubelt, dem Project Lead von Ready At Dawn, getroffen haben, um mehr darüber zu erfahren, wie ihre Einbeziehung dieser Funktionen sich auf das Wachstum ihrer Community ausgewirkt hat.

Um mehr über das SharedSpaces-Beispiel zu erfahren, sieh dir den Blogbeitrag zur Vorstellung von SharedSpaces für Multiplayer an. Dort geht es um Grenzfälle und API-Verweise sowie darum, wie Freunde zu einem Match eingeladen werden können. Der Blogbeitrag Wie du Menschen schnell in VR zusammenbringst beschreibt die zugrundeliegenden Technologien, die zum Erstellen der SharedSpaces-App verwendet werden.

Sieh dir auch unsere früheren Blogbeiträge in der Reihe "Erstellen deines Multiplayer-Erlebnisses in VR" an, um mehr darüber zu erfahren, was die Multiplayer-Funktionen des Platform SDK in Quest bieten, was du mit ihnen erstellen kannst und wie du das SharedSpaces-Beispiel verwenden kannst, um loszulegen:


Über diese Reihe

In dieser Reihe besprechen wir die Multiplayer-Funktionen des Platform SDK in Quest. Dazu verwenden wir unser als Open Source freigegebenes SharedSpaces-Beispiel, das in Unity erstellt wurde. Dieser Blogbeitrag ist der vierte in einer vierteiligen Reihe zur Unterstützung der Videoreihe "Erstellen deines Multiplayer-Erlebnisses in VR".

In dieser Connect-Sitzung, in der es um die Erstellung und Erweiterung von Multiplayer-Apps für Quest geht, erfährst du mehr über die Multiplayer-Funktionen des Platform SDK und die Verwendung des SharedSpaces-Beispiels. Teste das Unity SharedSpaces-Beispiel, indem du App Lab besuchst und es auf deinem eigenen Headset ausführst. Weitere Informationen darüber, wie du die Multiplayer-Funktionen des Platform SDK in deinen eigenen Apps nutzen kannst, findest du in der Dokumentation für Multiplayer-Funktionen.

Um mehr über Meta Quest zu erfahren, besuche unsere Website, abonniere unseren YouTube-Kanal oder folge uns auf Twitter und Facebook. Fragen, Vorschläge oder Feedback kannst du uns gerne in den Entwickler*innen-Foren mitteilen.

Um mehr über Meta Open Source zu erfahren, besuche unsere Open-Source-Website, abonniere unseren YouTube-Kanal oder folge uns auf Twitter und Facebook.