-
HINTERGRUND
-
Streaming hat sich im letzten Jahrzehnt als eine der bahnbrechendsten Technologien in der Medienlandschaft erwiesen. Der nahezu sofortige Zugang zu Filmen, Fernsehsendungen und Musik hat die Art und Weise, wie Endnutzer Medieninhalte sehen, hören und mit ihnen interagieren, grundlegend verändert. Streaming verändert auch schnell die Art und Weise, wie Endnutzer mit anderen Medieninhalten - wie zum Beispiel Spielen - interagieren. Beispielsweise hat es das Streaming einem Endbenutzer (z.B. einem Streamer) ermöglicht, sein Spielerlebnis live für andere Endbenutzer (z.B. Zuschauer) zugänglich zu machen. In ähnlicher Weise hat es das Streaming einem Streamer auch ermöglicht, sein Spielerlebnis aufzuzeichnen und das aufgezeichnete Spielerlebnis später mit anderen Zuschauern zu teilen. Das Ansehen solcher vorab aufgezeichneter oder Livestreams von Spielerfahrungen eines Streamers ist als Ergänzung oder Ersatz sowohl für traditionelle Videospiele als auch für das Ansehen traditioneller Fernsehprogramme zunehmend beliebt geworden.
-
In herkömmlichen Systemen ist ein Übergehen vom passiven Betrachten eines Livestreams (Live-Übertragung, engl. live stream) oder eines zuvor aufgezeichneten Streams (vorher aufgezeichnete Übertragung, engl. pre-recorded stream) zu einem aktiven Spielen und/oder zu einem aktiven Teilnehmen am Spiel eine langwierige Aufgabe. Aufgrund verschiedener Eintrittsbarrieren (z.B. Zeit, Preis, Computerressourcen, Netzwerkressourcen usw.) muss ein Zuschauer, der sich entschließt, sich einem Streamer anzuschließen, der sein Spiel live überträgt, beispielsweise die Plattform des Streamers bestimmen, den Anbieter des Spiels herausfinden, das Spiel im digitalen Angebot (engl. digital store) auffinden, das Spiel kaufen und/oder das Spiel herunterladen (was je nach Dateigröße viel Zeit, Bandbreite, Computerspeicher und/oder andere wertvolle Computer- und Netzwerkressourcen in Anspruch nehmen kann). Darüber hinaus muss der Zuschauer nach dem Kauf und dem Download möglicherweise ein Benutzerprofil einrichten, sich in das Spiel einloggen, den Benutzernamen des Streamers (z.B. die Kennung) finden, eine Anfrage zum Teilnehmen an dem Spiel mit dem Streamer stellen und dann auf eine Annahme hoffen. Wenn alle diese Aufgaben erledigt sind, spielt der Streamer das Spiel möglicherweise nicht mehr. Ebenso kann es sein, dass ein Zuschauer, der sich entscheidet, eine ähnlich oder identisch modifizierte Version eines Spiels (z.B. eine mit Raytracing modifizierte Version eines Spiels) zu spielen, diese spezifische Modifikation oder Version in bei einem öffentlich zugänglichen Anbieter nicht finden kann - oder diese Version möglicherweise nicht öffentlich verfügbar ist. Es wäre vorteilhaft, ein System zu haben, das die Schwierigkeiten und Eintrittsbarrieren in eine identifizierte Spielinstanz minimieren könnte, indem es den Prozess vom passiven Beobachten eines Streams zur aktiven Teilnahme vereinfacht.
-
ZUSAMMENFASSUNG
-
Ausführungsbeispiele der vorliegenden Offenbarung beziehen sich auf ein Beitreten oder ein Wiederholen einer Spielinstanz aus einer Spielübertragung. Offenbart werden Systeme und Verfahren, die Metadaten aus verschiedenen Spielstreams (z.B. einer live ausgestrahlten Spielstream-Instanz, einer vorab aufgezeichneten Spielinstanz usw.) verwenden, um den nahtlosen Übergang vom passiven Ansehen eines Livestreams einer Spielinstanz oder einer vorab aufgezeichneten Spielinstanz zur aktiven Teilnahme an dem Spiel zu ermöglichen.
-
Im Gegensatz zu herkömmlichen Systemen, wie den oben beschriebenen, identifiziert und speichert das vorliegende System Metadaten, die entweder mit einem Livestream oder einem vorab aufgezeichneten Stream assoziiert sind, um einem Benutzer, der den Stream innerhalb einer Streaming-Anwendung betrachtet, den Zugriff auf ein Spiel auf einer Spielplattform direkt von der Streaming-Anwendung aus zu ermöglichen. Die Metadaten können z.B. Namensinformationen des gestreamten Spiels, Informationen zur Identifizierung der Plattform, auf der das Spiel gespielt wird und/oder auf der der Streamer spielt, Informationen zum digitalen Anbieter (engl. digital store), die damit assoziiert sind, wo das Spiel gekauft werden kann (falls ein Kauf erforderlich sein sollte), Informationen zu bestimmten Versionen, Modifikationen, Benutzerinventar usw., die mit dem Spielstream (engl. game play stream) assoziiert sind, und/oder Informationen zum Benutzernamen (z.B. Identifizierung) des Streamers, der das Spiel streamt (z.B. der Benutzername des Streamers auf der spezifischen Plattform/beim digitalen Anbieter), enthalten.
-
Unter Verwenden der identifizierten Metadaten und während ein Zuschauer den Stream auf einer Anzeige betrachtet, kann ein grafisches Element (z. B. eine Schaltfläche „Jetzt beitreten“) auf der Anzeige eingeblendet werden, mit dem der Zuschauer Zugriff auf die Teilnahme am Spiel einer Instanz des Spiels aus einem Livestream oder einer modifizierten Instanz des Spiels basierend auf einem zuvor aufgezeichneten Stream anfragen kann. Auf diese Weise kann das Spiel nach der Auswahl des grafischen Elements auf dem Gerät des Zuschauers gestartet werden (z.B. in einem Webbrowser-Portal, in einer eigenständigen Anwendung usw.).
-
Nach der Validierung (z. B. um zu bestätigen, dass der Benutzer ein Konto auf der Spielplattform hat und/oder dass der Benutzer einen Kauf getätigt hat oder anderweitig Zugang zum Spiel hat), kann der Zuschauer mithilfe eines Identitätsmanagementsystems (IDM) bei der Plattform angemeldet werden, so dass die Spielstatistiken, Aufzeichnungen, Auszeichnungen, Erfolge und/oder andere spielbezogene Informationen mit einem Benutzernamen des Zuschauers assoziiert werden, da der Zuschauer nun ein aktiver Spieler des Spiels wird (z. B. in einer Live-Spielinstanz gegen den Streamer, in einer modifizierten Spielinstanz basierend auf einer zuvor aufgezeichneten Spielinstanz und/oder ähnlichem). Infolgedessen und im Gegensatz zu den unzusammenhängenden Ansätzen herkömmlicher Systeme zum Beitritt zu einer im Stream dargestellten Spielinstanz kann das System der vorliegenden Offenbarung einen nahtlosen und effizienten Übergang von einem Zuschauer, der einen Stream einer Spielinstanz auf einer Streaming-Plattform betrachtet, zu einem Spieler, der an der Spielinstanz auf einer Spielplattform teilnimmt, ermöglichen.
-
Figurenliste
-
Die hier vorliegenden Systeme und Verfahren zum Beitreten oder Wiederholen einer Spielinstanz aus einer Spielübertragung werden nachstehend unter Bezugnahme auf die beigefügten Zeichnungen wie folgt im Detail beschrieben:
- 1A zeigt ein beispielhaftes Systemdiagramm für ein Beitreten oder Wiederholen einer Spielinstanz aus einer Spielübertragung, gemäß Ausführungsbeispielen der vorliegenden Offenbarung;
- 1B zeigt eine beispielhafte Benutzerschnittstelle einer Spielsitzung, die ein grafisches Element zur Teilnahme an einem Livestream einer Spielinstanz enthält, gemäß Ausführungsbeispielen der vorliegenden Offenbarung;
- 1C zeigt eine beispielhafte Schnittstelle einer Spielsitzung mit einem grafischen Element zum Abspielen eines zuvor aufgezeichneten Streams einer Spielinstanz, gemäß Ausführungsbeispielen der vorliegenden Offenbarung;
- 2 zeigt ein Flussdiagramm, das ein Verfahren für ein Beitreten zu einer Spielinstanz aus einer Live-Spielübertragung zeigt, gemäß Ausführungsbeispielen der vorliegenden Offenbarung;
- 3 zeigt ein Flussdiagramm, das ein Verfahren für ein Beitreten zu einer Spielinstanz aus einer zuvor aufgezeichneten Spielübertragung zeigt, gemäß Ausführungsbeispielen der vorliegenden Offenbarung;
- 4 zeigt ein beispielhaftes Systemdiagramm für ein Spielstreaming-System, gemäß Ausführungsbeispielen der vorliegenden Offenbarung; und
- zeigt ein Blockdiagramm einer beispielhaften Computerumgebung, die geeignet ist, um einige Ausführungsbeispiele der vorliegenden Offenbarung zu implementieren.
-
DETAILLIERTE BESCHREIBUNG
-
Es werden Systeme und Verfahren offenbart, die sich auf ein Beitreten einer Spielinstanz (d.h. ein Teilnehmen an einer Spielinstanz) oder ein Wiederholen einer Spielinstanz aus einer Spielübertragung heraus beziehen. Wenn z.B. ein Zuschauer einen Livestream oder zuvor aufgezeichneten Stream eines Spiels anschaut, kann der Zuschauer das Spiel interessant finden und beschließen, dieselbe unveränderte Version des Spiels zu spielen, die der Streamer gerade spielt; mit und/oder gegen den Streamer während des Livestreams zu spielen; dasselbe Szenario zu spielen (z.B. eine spezifische oder modifizierte Version davon, oder mit einer Spielstufe oder mit Gegenständen/Waffen/Fähigkeiten, mit denen der Streamer spielt); oder eine spezifische Herausforderung nachzuspielen, die der Streamer in einer bestimmten Spielinstanz erfüllt (z.B. mit ähnlichen oder identischen Einschränkungen im Spiel, einschließlich, aber nicht beschränkt auf Charakterlebenspunkte, Ausrüstungsoptionen, Waffeninventar und/oder ähnliches). Somit bietet die vorliegende Offenbarung einen nahtlosen, effizienten Übergang vom passiven Ansehen eines Spielstreams (z.B. eines Livestreams oder eines zuvor aufgezeichneten Streams) zum aktiven Teilnehmen an einem im Spielstream dargestellten Spiel.
-
In einigen Ausführungsbeispielen können Metadaten, die mit dem Stream assoziiert sind, empfangen und/oder gespeichert werden, wenn ein Zuschauer eine Livestream-Instanz eines Spielstreams betrachtet, den ein Streamer streamt. Die Metadaten können Namensinformationen des gestreamten Spiels, Informationen zur Identifizierung der Plattform, auf der das Spiel gespielt wird und auf der der Streamer spielt, Informationen zum digitalen Anbieter (engl. digital store), die damit assoziiert sind, wo das Spiel gekauft werden kann (falls ein Kauf notwendig sein sollte), Informationen zu bestimmten Versionen, Modifikationen, Benutzerinventar usw., die mit dem Spielstream assoziiert sind, sowie Informationen zum Benutzernamen (z.B. Identifizierung) des Streamers, der das Spiel streamt (z.B. der Benutzername des Streamers auf der spezifischen Plattform/beim digitalen Anbieter), enthalten. Unter Verwenden dieser Informationen und während der Zuschauer den Livestream auf einer Anzeige betrachtet, kann ein grafisches Element (z.B. eine Schaltfläche „Jetzt beitreten“) auf der Anzeige eingeblendet werden, mit dem der Zuschauer einen Zugang beantragen kann, um dem Spielstream des Streamers beizutreten. Nach Auswahl des grafischen Elements - und unter Verwenden der Metadaten des digitalen Anbieters, des Spielnamens und/oder von Plattforminformationen - kann das Spiel auf dem Gerät des Zuschauers gestartet werden (z.B. in einem Webbrowser-Portal, in einer eigenständigen Anwendung usw.).
-
Der Zuschauer kann durch das Spielsystem validiert werden, gemäß Ausführungsbeispielen, z.B. um zu bestätigen, dass der Benutzer ein Konto auf der Spielplattform hat und/oder dass der Benutzer das Spiel gekauft hat oder anderweitig Zugang zum Spiel hat. Nach der Validierung kann der Zuschauer unter Verwenden eines Identitätsmanagementsystems (IDM) bei der Plattform angemeldet werden, so dass der Benutzername des Zuschauers aktiv ist, um mit dem Streamer zu spielen, gegen den Streamer zu spielen und/oder anderweitig eine Instanz des Spiels zu spielen. Der am Spiel teilnehmende Streamer kann eine Anfrage oder einen anderen Hinweis erhalten, dass der jetzt im Spiel befindliche Zuschauer am Spiel teilnehmen möchte. Dem Streamer kann optional die Möglichkeit gegeben werden, die Anfrage anzunehmen oder abzulehnen, und/oder der Zuschauer kann in eine Warteschlange für das Spiel mit dem Streamer aufgenommen werden. Wenn der Streamer die Beitrittsanfrage des Zuschauers akzeptiert oder der Zuschauer an die Spitze der Warteschlange aufsteigt, kann der Zuschauer - mit seinem assoziierten Spielplattformbenutzernamen - dem Spiel hinzugefügt werden, um mit und/oder gegen den Streamer zu spielen.
-
Auf diese Weise kann das vorliegende System durch Verwenden der gespeicherten Metadaten die Schwierigkeiten und/oder Verzögerung zwischen dem Übergang zwischen dem passiven Betrachten eines Spielstreams und der aktiven Teilnahme zusammen mit einem Streamer während eines Livestreams minimieren. Auf diese Weise kann das vorliegende System es einem Zuschauer einer Spielinstanz ermöglichen, einem Streamer bei einem aktuellen Spielstand des Streamers innerhalb der Spielinstanz (z.B. im Wesentlichen unmittelbar, oder instantan) beizutreten.
-
In ähnlicher Weise können auch Metadaten, die mit dem Stream assoziiert sind, verfolgt und/oder gespeichert werden, während Zuschauer eine zuvor aufgezeichnete Instanz eines Spielstreams ansehen, den ein Streamer streamt. Hier können die Metadaten den hier beschriebenen Metadaten in Bezug auf Livestreams ähnlich sein (z. B. Informationen zum Namen, Informationen zur Identifizierung der Plattform, Informationen zum digitalen Anbieter usw.). Wenn der Zuschauer den zuvor aufgezeichneten Stream auf einer Anzeige betrachtet, kann ein grafisches Element (z.B. eine Schaltfläche „Jetzt spielen“) erscheinen, das es dem Zuschauer ermöglicht, die spezifische Version des gerade betrachteten Spiels zu spielen. Nach der Auswahl des grafischen Elements kann das Spiel, das der Zuschauer gerade anschaut, gestartet werden (z.B. nach der Verifizierung und in einem Webbrowser-Portal, einer eigenständigen Anwendung usw.).
-
In einigen Ausführungsbeispielen, wenn das Spiel, das der Zuschauer gerade betrachtet, bestimmte Einschränkungen aufweist (z.B. aufgrund des Fortschritts des Streamers, wie z.B. Spielstufen, Errungenschaften, Erfahrungen usw.), wer zu bestimmten Attributen des Spiels Zugang hat, kann dem Zuschauer Zugang zu dem Spiel entsprechend dem Fortschritt des Streamers gewährt werden - auch wenn der Zuschauer sonst keinen Zugang zu solchen Spielstufen, Errungenschaften und/oder Erfahrungen hat. In anderen Ausführungsbeispielen kann es sein, dass der Zuschauer das Spiel nur basierend auf dem aktuellen Fortschritt oder Einschränkungen des Zuschauers innerhalb des Spiels spielen kann, so dass die nicht gesperrten Modifikationen des Spiels verwendet werden können, die gesperrten Modifikationen jedoch gesperrt bleiben. In einigen Fällen kann ein Zuschauer versuchen, eine bestimmte Herausforderung, eine bestimmte Spielstufe oder einen anderen Spielabschnitt, der durch einen Streamer abgeschlossen wurde, unter Verwenden derselben Statistiken, Vergünstigungen und/oder Modifikationen wie der Streamer (z.B. dieselben Lebenspunkte, Waffenbestände, Fahrzeuge, Ausrüstungsgegenstände usw.) nachzuspielen. In einem solchen Beispiel kann das Spielsystem die Metadaten verwenden, die mit der Instanz des zuvor aufgezeichneten, vom Streamer gestreamten Spiels assoziiert sind, einschließlich spezifischer Versionen, Modifikationen, Benutzerinventar usw., die mit dem zuvor aufgezeichneten Spielstream assoziiert sind, um ein derartiges Spielen des Spiels zu ermöglichen. Durch Verwenden der gespeicherten Metadaten kann das aktuelle System die Schwierigkeiten beim Wechseln zwischen einem passiven Betrachten eines Streams einer Instanz eines Spiels mit bestimmten freigeschalteten Einschränkungen zu einer aktiven Teilnahme an einer anderen Instanz des Spiels, die die freigeschalteten Einschränkungen enthält, minimieren.
-
Unter Bezugnahme auf 1A zeigt 1A ein beispielhaftes Systemdiagramm eines Spielsystems 100 zum Beitreten oder Wiedergeben einer Spielinstanz aus einer Spielübertragung für eine Cloud-Spielumgebung, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Es ist zu verstehen, dass diese und andere hier beschriebene Anordnungen nur als Beispiele dargestellt werden. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Befehle, Gruppierungen von Funktionen usw.) können zusätzlich zu oder anstelle der gezeigten verwendet werden, und einige Elemente können ganz weggelassen werden. Weiterhin sind viele der hier beschriebenen Elemente funktionale Einheiten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und an jeder geeigneten Stelle implementiert werden können. Verschiedene hier beschriebene Funktionen, die von Einheiten ausgeführt werden, können von Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Befehle ausführt.
-
Das Spielsystem 100 kann neben anderen Komponenten und/oder Geräten ein oder mehrere Client-Geräte 104, ein oder mehrere Streaming-Client-Geräte 114, einen oder mehrere Streaming-Server 124 und einen oder mehrere Spieleserver 116 umfassen. Das Spielsystem 100 (und dessen Komponenten und/oder Merkmale) kann unter Verwenden eines Spielstreaming-Systems, wie z.B. des hier näher beschriebenen Spielstreaming-Systems 400, implementiert werden. Darüber hinaus kann das Spielsystem 100 (und dessen Komponenten und/oder Merkmale) unter Verwenden eines oder mehrerer Rechengeräte, wie z.B. dem Rechengerät 500 aus 5, das hierin ausführlicher beschrieben wird, implementiert werden.
-
Jedes der Geräte und/oder jede Komponente des Spielsystems 100 kann über das bzw. die Netzwerk(e) 102 kommunizieren. Das (die) Netzwerk(e) kann (können) ein Wide Area Network (WAN) (z.B. das Internet, ein öffentliches Telefonnetz (PSTN) usw.), ein Local Area Network (LAN) (z.B. Wi-Fi, ZigBee, Z-Wave, Bluetooth, Bluetooth Low Energy (BLE), Ethernet usw.), ein Global Navigation Satellite System (GNSS) Netzwerk (z.B. das Global Positioning System (GPS)) und/oder einen anderen Netzwerktyp umfassen. In einem beliebigen Beispiel kann jedes der Geräte oder jede Komponente des Spielsystems 100 mit einem oder mehreren der anderen Geräte und/oder Komponenten über eines oder mehrere der Netzwerke 102 kommunizieren.
-
Das (die) Client-Gerät(e) 104 kann (können) ein Smartphone, einen Laptop-Computer, einen Tablet-Computer, einen Desktop-Computer, ein tragbares Gerät, eine Spielkonsole, ein Virtual-Reality-System (z.B. ein Headset, ein Computer, eine Spielkonsole, Fernbedienung(en), Steuergerät(e) und/oder andere Komponenten), ein NVIDIA SHIELD, ein Smart-Home-Gerät, das einen intelligenten persönlichen Assistenten enthalten kann, und/oder eine andere Art von Gerät, das zumindest ein Anzeigen eines Spielstreams einer Spielsitzung, wie z.B. Spielsitzung 132, und/oder Eingaben in die Spielsitzung 132 von Eingabegeräten, wie z.B. Eingabegerät(e) 112, unterstützt.
-
Das (die) Client-Gerät(e) 104 kann (können) eine Spielanwendung 106, eine Streaming-Anwendung 168, eine Anzeige 108, eine Kommunikationsschnittstelle 110, ein oder mehrere Eingabegerät(e) 112 und einen oder mehrere Datenspeicher 122 umfassen. Obwohl in 1A nur einige wenige Komponenten und/oder Merkmale des (der) Client-Gerätes(e) 104 gezeigt werden, soll dies keine Einschränkung darstellen. Die Client-Einheit(en) 104 kann (können) beispielsweise zusätzliche oder alternative Komponenten enthalten, wie z.B. die unten in Bezug auf die Rechengerät 500 aus 5 beschriebenen.
-
Das (die) Client-Gerät(e) 104 kann (können) eine oder mehrere Komponenten (z. B. eine Kommunikationskomponente, Netzwerkschnittstelle usw.) und Funktionen für die Kommunikation über ein oder mehrere Netzwerke, wie z. B. das (die) Netzwerk(e) 102, sein. Als ein nicht einschränkendes Beispiel für die Kommunikation innerhalb des Spielsystems 100 kann (können) das (die) Client-Gerät(e) 104 eine drahtgebundene Ethernet-Verbindung und/oder Wi-Fi-Verbindung über einen Router verwenden, um auf das Internet zuzugreifen und mit dem (den) Streaming-Client-Gerät(en) 114, dem (den) Streaming-Server(n) 124, dem (den) Spielserver(n) 116 und/oder mit anderen Client-Gerät(en) 104 zu kommunizieren.
-
Bei der Spielanwendung 106 kann es sich um eine mobile Anwendung, eine Computeranwendung, eine Konsolenanwendung, eine Webanwendung und/oder eine andere Art von Anwendung handeln. Die Spielanwendung 106 kann Anweisungen enthalten, die, wenn sie von einem Prozessor/Prozessoren des (der) Client-Gerät(e) 104 ausgeführt wird, den Prozessor (die Prozessoren) veranlassen, eine oder mehrere Operationen auszuführen (wie z.B., aber nicht beschränkt auf, die hier beschriebenen Operationen in Bezug auf das Spielsystem 100). Die Spielanwendung 106 kann Eingaben von einem oder mehreren Eingabegerät(en) 112 des (der) Client-Gerät(e) 104 empfangen und/oder verarbeiten und/oder die Übertragung von Eingabedaten, die für die Eingaben repräsentativ sind, zu dem (den) Streaming-Server(n) 124, dem (den) Spielserver(n) 116, dem (den) Streaming-Client-Gerät(en) 114 und/oder anderen Client-Gerät(en) 104 veranlassen.
-
Die Streaming-Anwendung 168 kann als Vermittler fungieren, um die Anzeige einer Spielinstanz zu ermöglichen (z.B. eine Livestream-Spielinstanz 128 oder eine zuvor aufgezeichnete Spielinstanz 120). Beispielsweise und ohne Einschränkung kann die Streaming-Anwendung 168 die Anzeige eines Livestreams einer Spielinstanz eines Spiels, wie z.B. der Livestream-Spielinstanz 128, der von dem (den) Streaming-Server(n) 124 empfangen wird, bewirken. Die Spielanwendung 106 kann auch eine Anzeige eines zuvor aufgezeichneten Streams einer Spielinstanz eines Spiels bewirken, wie z.B. die zuvor aufgezeichnete Spielinstanz 120, die von dem (den) Streaming-Server(n) 124 empfangen wird.
-
Obwohl als separate Anwendung gezeigt, können die Spielanwendung 106 und die Streaming-Anwendung 168 eine einzige Anwendung umfassen, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Wenn z.B. das Spiel und das Streamen des Spiels auf derselben Plattform gehostet werden (z.B. NVIDIA GEFORCE EXPERIENCE), können die Spielanwendung 106 und die Streaming-Anwendung 168 eine einzige Anwendung umfassen. In anderen Ausführungsbeispielen, wie z.B. in 1A gezeigt, können die Spielanwendung 106 und die Streaming-Anwendung 168 separate Anwendungen sein - selbst wenn das Spiel und das Streaming von derselben Plattform gehostet werden, gemäß Ausführungsbeispielen.
-
Die Spielanwendung 106 und/oder die Streaming-Anwendung 168 können so konfiguriert sein, dass sie Metadaten identifizieren, die mit einer Livestream-Instanz eines Spiels oder einer zuvor aufgezeichneten Instanz eines Spiels assoziiert sind - wie z.B. der Livestream-Spiel-Instanz 128, die von dem (den) Streaming-Server(n) 124 empfangen wird, und/oder die zuvor aufgezeichnete Spiel-Instanz 120, die von dem (den) Streaming-Server(n) 124 empfangen wird. In Bezug auf die Livestream-Spiel-Instanz 128 kann beispielsweise die Spielanwendung 106 und/oder die Streaming-Anwendung 168 so konfiguriert sein, dass sie eine Kennung (z.B. den Benutzernamen) des Streamers, der den Livestream teilt (z.B. streamt), Informationen über die Plattform (z.B. digitaler Anbieter), auf der die Spielinstanz vom Streamer gespielt wird, und/oder den Titel des Spiels identifiziert (identifizieren). Ferner können in Bezug auf die zuvor aufgezeichnete Spielinstanz 120 die Spielanwendung 106 und/oder die Streaming-Anwendung 168 so konfiguriert werden, dass sie die Plattforminformationen (z.B. digitaler Anbieter), auf der die Spielinstanz gespielt wurde, den Spieltitel und/oder jegliche Informationen mit Identifizierern der Spielinstanz (z.B. Informationen, die mit bestimmten Versionen, Modifikationen, dem Inventar des Benutzers, Lebenspunkten, Waffeninventar, Fahrzeug, Ausrüstung, Statistiken usw. assoziiert sind) identifiziert (identifizieren). In einigen Ausführungsbeispielen können die Spielanwendung 106 und/oder die Streaming-Anwendung 168 die identifizierten Metadaten in einem Datenspeicher speichern, z.B. in dem (den) Datenspeicher(n) 122, wie im Folgenden ausführlicher beschrieben.
-
In einigen Beispielen kann (können) das (die) Client-Gerät(e) 104, sobald der Zuschauer am Spiel teilnimmt (z. B. nach er von dem Stream transferiert wurde), die Instanz des Spiels unter Verwenden der Spielanwendung 106 rendern. In anderen Beispielen kann (können) das (die) Client-Gerät(e) 104 Anzeigedaten empfangen (z.B. codierte Anzeigedaten, wie in 4 beschrieben), und die Spielanwendung 106 kann die Anzeigedaten verwenden, um die Anzeige der Spielinstanz auf der Anzeige 108 zu veranlassen. In Beispielen, in denen die Anzeigedaten von dem (den) Client-Gerät(en) 104 empfangen werden (z.B. wenn das (die) Client-Gerät(e) 104 die Darstellung nicht erzeugt (erzeugen)), kann das Spielsystem 100 Teil eines Spielstreaming-Systems sein, wie z.B. das Spielstreaming-System 400 aus 4, das im Folgenden näher beschrieben wird.
-
Die Anzeige 108 kann jede Art von Anzeige umfassen, die in der Lage ist, einen Spielinhalt anzuzeigen (z. B. eine Leuchtdiodenanzeige (LED), eine organische LED-Anzeige (OLED), eine Flüssigkristallanzeige (LCD), eine Aktivmatrix-OLED-Anzeige (AMOLED), eine Quantenpunktanzeige (QDD), eine Plasmaanzeige und/oder eine andere Art von Anzeige). In einigen Beispielen kann die Anzeige 108, abhängig von der Konfiguration des (der) Client-Geräts (-Geräte) 104, mehr als eine Anzeige umfassen (z.B. eine Doppelmonitor-Anzeige für Computerspiele, eine erste Anzeige zur Konfiguration eines Spiels und eine Virtual-Reality-Anzeige zum Spielen des Spiels usw.), kann eine Anzeige eines Augmented-Reality (AR)- oder Virtual-Reality (VR)-Systems umfassen und/oder eine andere Anzahl oder einen anderen Typ von Anzeigen umfassen. Handelt es sich bei der Anzeige 108 um eine Anzeige mit Touchscreen, wie z.B. ein berührungsempfindlicher Bildschirm eines Smartphones, eines Tablet-Computers, eines Laptops und/oder ähnlichem, kann die Anzeige 108 als mindestens eines der Eingabegeräte 112 der Client-Geräte 104 verwendet werden (z.B. eines der Eingabegeräte 112 zur Erzeugung von Eingaben für eine Instanz des Spiels, wie z.B. zur Übertragung an das (die) Streaming-Client-Gerät(e) 114, den (die) Streaming-Server 124, den (die) Spielserver 116 und/oder andere Client-Geräte 104). Die Anzeige 108 kann einen Spielstream, wie z.B. die Livestream-Spielinstanz 128 und/oder die zuvor aufgezeichnete Spielinstanz 120, mit einer oder mehreren Spielsitzungen, wie z.B. Spielsitzung 132, anzeigen. Die Spielsitzung 132 kann eine beliebige Anzahl von Spielsitzungen umfassen, an denen der Benutzer (z.B. Streamer) des (der) Streaming-Client-Gerät(e) 114 und/oder der Benutzer (z.B. Zuschauer) des (der) Client-Gerät(e) 104 teilnimmt.
-
Die Anzeige 108 kann während des Spielens eine Instanz eines Spiels anzeigen und/oder einen Stream eines Spiels eines anderen Spielers (z.B. eines Streamers) anzeigen, wie z.B. die Spielsitzung 132, die die Livestream-Spiel-Instanz 128 und/oder die zuvor aufgezeichnete Spiel-Instanz 120 repräsentiert. Obwohl sie als Visualisierung eines Spielstreams in 1A (somit einschließlich der Schaltfläche 136) dargestellt ist, kann die Spielsitzung 132 ohne Einschränkung eine Spielsitzung enthalten, an der der Benutzer (z.B. Zuschauer) des (der) Client-Gerät(e) 104 (und in solchen Beispielen möglicherweise ohne die Schaltfläche 136), der Benutzer (z.B. Streamer) des (der) Streaming-Client-Gerät(e) 114, sowohl der Streamer des (der) Streaming-Client-Gerät(e) 114 als auch der Zuschauer des (der) Client-Gerät(e) 104, durch Benutzer (z.B. Zuschauer) anderer Client-Gerät(e) 104 und/oder Streaming-Client-Gerät(e) 114 und/oder einer Kombination davon teilgenommen hat.
-
Die Spielsitzung 132 kann Spielsitzungsdaten (z.B. Spielstandsdaten) enthalten. Die Spielsitzungsdaten können einen aktuellen Zustand des Spiels repräsentieren, einschließlich Spielstatistiken, Objektzustände, Inventare, Gesundheitsinformationen, Spielerstandorte, Leistungsfortschritt, Modifikationen und/oder andere Informationen über Spieler, Spielinformationen und/oder Umgebungsmerkmale (z.B. ein Standort von „Spieler 1“ 150, ein Gebäudezustand 146, Attribute der Klippe 148, aktuelles Waffeninventar 130, Informationen über die Tötungszahl 138, Spielerinformationen 140 usw.).
-
Die Spielsitzung 132 oder deren Anzeige innerhalb der Spielanwendung 106 und/oder der Streaming-Anwendung 168 kann weitere grafische Elemente enthalten, wie z.B. Streamer-Fenster 142, Chat-Box 134, Chat-Nachrichten 144A und 144B und die Schaltfläche 136. Wie in 1A gezeigt, kann das Streamer-Fenster 142 eine visuelle Darstellung des Benutzers (z.B. Streamer) auf dem (den) Streaming-Client-Gerät(en) 114 darstellen, der eine Instanz eines Spiels spielt, die einem Benutzer (z.B. Zuschauer) des (der) Client-Gerätes(e) 104 auf Anzeige 108 angezeigt wird. Die Schaltfläche 136 kann ein grafisches Element enthalten, das es dem Zuschauer der Spielinstanz unter Verwenden der Metadaten im Stream der Spielinstanz ermöglicht, entweder einem Livestream der Spielinstanz beizutreten, um mit und/oder gegen den Streamer zu spielen, oder einen zuvor aufgezeichneten Stream der Spielinstanz einschließlich einer beliebigen Kombination der Modifikationen am Spiel (z.B. Waffeninventar, Ausrüstung, Fahrzeug usw.) zu spielen. Obwohl die graphischen Elemente (z.B. die Schaltfläche 136, das Chat-Feld 134 usw.) sich in der illustrierten Anordnung in der Visualisierung der Spielsitzung 132 befinden, soll dies nicht einschränkend sein, und die graphischen Elemente können sich an jeder beliebigen Stelle innerhalb der Spielsitzung 132 befinden, können im Verlauf der Spielsitzung 132 und/oder ähnlichem die Positionen wechseln, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Zum Beispiel kann sich die Schaltfläche 136 im Chat-Feld 134 befinden, das Streamer-Fenster 142 kann sich unten rechts befinden, und so weiter.
-
Das (die) Eingabegerät(e) 112 kann (können) jede Art von Geräten umfassen, die in der Lage sind, Benutzereingaben in das Spiel einzugeben. Das (die) Eingabegerät(e) 112 kann (können) eine Tastatur, eine Maus, einen Joystick, eine Anzeige mit Touchscreen, eine Steuereinheit(en), eine Fernbedienung(en), ein Headset (z.B. Sensoren eines AR- oder VR-Headsets), eine andere Art von Eingabegerät und/oder eine Kombination davon umfassen.
-
Die Kommunikationsschnittstelle 110 kann eine oder mehrere Komponenten und Funktionen zur Kommunikation über ein oder mehrere Netzwerke, wie z.B. das (die) Netzwerk(e) 102, umfassen. Die Kommunikationsschnittstelle 110 kann so konfiguriert sein, dass sie über eine beliebige Anzahl von Netzwerk(en) 102, wie hier beschrieben, kommuniziert. Zur Kommunikation im Spielstreamingsystem 100 von 1A kann das (die) Client-Gerät(e) 104 beispielsweise eine Ethernet- oder Wi-Fi-Verbindung über einen Router verwenden, um auf das Internet zuzugreifen und mit dem (den) Streaming-Server(n) 124, dem (den) Spielserver(n) 116, dem (den) Streaming-Client-Gerät(en) 114 und/oder anderen Client-Gerät(en) 104 zu kommunizieren.
-
Der (die) Datenspeicher 122 kann (können) beliebige Speichergerätetypen enthalten. In Ausführungsbeispielen, in denen die Spielinstanz ein Livestream ist, wie z.B. der Livestream Spielinstanz 128, kann (können) der (die) Datenspeicher 122 mit der Speicherung von Metadaten beauftragt werden, die mit der Livestream Spielinstanz 128 assoziiert sind, die durch Komponenten des (von) Client-Gerät(en) 104 identifiziert sind, wie z.B. die Spielanwendung 106 und/oder die Streaming-Anwendung 168. Insbesondere können die Metadaten, die mit der Livestream-Spielinstanz assoziiert sind, eine Kennung (z.B. den Benutzernamen) des Streamers, der den Livestream teilt (z.B. streamt), Informationen über die Plattform (z.B. digitaler Anbieter), auf der die Spielinstanz vom Streamer gespielt wird, den Titel des Spiels und/oder andere Informationen enthalten. Beispielsweise können die Metadaten, die mit einer Livestream-Spiel-Instanz 128 assoziiert sind, die Information enthalten, dass „Streamer_123“ eine Instanz von „Spiel_ABC“ unter Verwenden von „Plattform_XYZ“ live streamt. Wenn ein Zuschauer also die Schaltfläche 136 auswählt, können diese Metadaten verwendet werden, um sich bei „Plattform_XYZ“ anzumelden, den Zuschauer für das Spiel „Spiel_ABC“ zu authentifizieren und die Instanz des Spiels für das Spiel mit „Streamer_123“ zu starten.
-
In Ausführungsbeispielen, in denen die Spielinstanz ein zuvor aufgezeichneter Stream ist, wie z.B. die zuvor aufgezeichnete Spielinstanz 120, kann (können) der (die) Datenspeicher 122 mit der Speicherung von Metadaten beauftragt werden, die mit der zuvor aufgezeichneten Spielinstanz 120 assoziiert sind, die durch Komponenten des (der) Client-Geräts (-Geräte) 104 identifiziert sind, wie z.B. die Spielanwendung 106 und/oder die Streaming-Anwendung 168. Insbesondere können die Metadaten, die mit der voraufgezeichneten Spielinstanz assoziiert sind, die Informationen über die Plattform (z.B. digitaler Anbieter), auf der die Spielinstanz gespielt wurde, den Titel des Spiels, jegliche Informationen mit Identifizierern der Spielinstanz (z.B. Informationen, die mit bestimmten Versionen, Modifikationen, Benutzerinventar, Lebenspunkten, Waffeninventar, Fahrzeug, Ausrüstung, Statistiken usw. assoziiert sind) und/oder andere Informationen umfassen. Beispielsweise können die Metadaten, die mit einer vorab aufgezeichneten Spielinstanz assoziiert sind, Informationen umfassen, dass das Spiel den Titel „Spiel_ABC“ trägt, dass das Spiel auf der Plattform „Plattform XYZ“ gespielt wird und/oder dass der Identifizierer der Spielinstanz „1234ABC" ist. Der Identifizierer der Spielinstanz kann verwendet werden, um Informationen über die bestimmte voraufgezeichnete Instanz des Spiels zu bestimmen, wie z.B. Informationen über den Spielstatus, Änderungsinformationen usw. Beispielsweise kann eine Modifikation für Spiel_ABC eine Raytracing-Modifikation sein (einschließlich, ohne Einschränkung, Path Tracing und Ray- oder Path Casting sowie deren Abwandlungen), und die Spielstatusinformationen können Benutzerinventar, Lebenspunkte, Waffen inventar, Fahrzeuge, Outfits, Statistiken usw. für Spiel_ABC repräsentieren.
-
In einigen Beispielen kann (können) der (die) Datenspeicher 122 nur einen Teil der Metadaten speichern, die mit der Livestream-Spielinstanz 128 und/oder der zuvor aufgezeichneten Spielinstanz 120 assoziiert sind. In anderen Beispielen kann (können) der (die) Datenspeicher 122 alle Metadaten speichern, die mit der Livestream-Spielinstanz 128 und/oder der zuvor aufgezeichneten Spielinstanz 120 assoziiert sind.
-
Bei dem (den) Streaming-Client-Gerät(en) 114 kann es sich um ein Smartphone, einen Laptop-Computer, einen Tablet-Computer, einen Desktop-Computer, ein tragbares Gerät, eine Spielkonsole, ein AR- oder VR-System (z. B. ein Headset, einen Computer, eine Spielkonsole, Fernbedienung(en), Controller und/oder andere Komponenten), ein NVIDIA SHIELD, ein Smart-Home-Gerät, das einen intelligenten persönlichen Assistenten umfassen kann, und/oder eine andere Art von Gerät, das Spielen und/oder Streaming unterstützen kann, handeln.
-
Obwohl nicht dargestellt, kann das (die) Streaming-Client-Gerät(e) 114 eine Spielanwendung ähnlich der Spielanwendung 106 des (der) Client-Gerät(e) 104, eine Streaming-Anwendung ähnlich der Streaming-Anwendung 168 des (der) Client-Gerät(e) 104, eine Anzeige ähnlich der Anzeige 108 des (der) Client-Gerät(e) 104 umfassen, eine Kommunikationsschnittstelle ähnlich der Kommunikationsschnittstelle 110 des (der) Client-Gerät(e) 104, ein oder mehrere Eingabegerät(e) ähnlich dem (den) Eingabegerät(en) 112 des (der) Client-Gerät(e) 104 und einen oder mehrere Datenspeicher ähnlich dem (den) Datenspeicher(n) 122 des (der) Client-Gerät(e) 104. Die Komponenten, die in dem (den) Streaming-Client-Gerät(en) 114 enthalten sind, können ähnliche Merkmale und/oder Funktionen umfassen wie die Komponenten, die in dem (den) Client-Gerät(en) 104 enthalten sind. Obwohl keine der Komponenten und/oder Funktionen des (der) Streaming-Client-Gerät(e) 114 in 1A gezeigt werden, ist dies nicht als Einschränkung zu verstehen. Beispielsweise kann das (die) Streaming-Client-Gerät(e) 114 zusätzliche oder alternative Komponenten umfassen, wie z.B. die unten in Bezug auf das Rechengerät 500 aus 5 beschriebenen.
-
Das (die) Streaming-Client-Gerät(e) 114 kann (können) eine oder mehrere Komponenten (z. B. eine Kommunikationskomponente, Netzwerkschnittstelle usw.) und Funktionen für die Kommunikation über ein oder mehrere Netzwerke, wie z. B. das (die) Netzwerk(e) 102, umfassen. Als ein nicht einschränkendes Beispiel für die Kommunikation innerhalb des Spielstreamingsystems 100 kann das (die) Streaming-Client-Gerät(e) 114 eine drahtgebundene Ethernet-Verbindung und/oder Wi-Fi-Verbindung über einen Router verwenden, um auf das Internet zuzugreifen und mit dem (den) Client-Gerät(en) 104, dem (den) Streaming-Server(n) 124, dem (den) Spiel-Server(n) 116 und/oder mit anderen Streaming-Client-Geräten 114 zu kommunizieren.
-
Obwohl nicht gezeigt, kann die Spielanwendung des (der) Streaming-Client-Gerät(e) 114 eine mobile Anwendung, eine Computeranwendung, eine Konsolenanwendung, eine Webanwendung und/oder eine andere Art von Anwendung sein. Die Spielanwendung von Streaming-Client-Gerät(en) 114 kann Anweisungen umfassen, die, wenn sie von einem Prozessor/Prozessoren des (der) Streaming-Client-Gerät(e) 114 ausgeführt werden, den (die) Prozessor(en) veranlassen, eine oder mehrere Operationen auszuführen (wie z.B., aber nicht beschränkt auf, die hier beschriebenen Operationen in Bezug auf das Spielstreamingsystem 100). Die Spielanwendung von Streaming-Client-Gerät(en) 114 kann als Vermittler fungieren, um das Spielen einer Spielinstanz zu ermöglichen (z.B. Spielen einer Spielinstanz für einen Livestream an Zuschauer; Spielen einer Spielinstanz, die in Zukunft als zuvor aufgezeichnete Spielinstanz gestreamt werden soll).
-
Beispielsweise kann eine Spielanwendung des (der) Streaming-Client-Gerät(e) 114 ohne Einschränkung die Anzeige einer Spielinstanz eines Spiels für einen Streamer veranlassen, und eine Streaming-Anwendung kann die Erzeugung der Livestream-Spielinstanz 128 und/oder der zuvor aufgezeichneten Spielinstanz 120 zur Übertragung an einen oder mehrere Zuschauer, wie z.B. die mit dem (den) Client-Gerät(en) 104 assoziierten Zuschauer, veranlassen. Die Erzeugung der Livestream-Spiel-Instanz 128 kann in nicht einschränkenden Beispielen das Aufnehmen des Streams am Streaming-Client-Gerät 114 und/oder die Übertragung eines Signals an den (die) Streaming-Server 124 zur Erzeugung der Livestream-Spiel-Instanz 128 und/oder der zuvor aufgezeichneten Spiel-Instanz 120 umfassen - z.B. unter Verwenden der Spielanwendung und/oder der Streaming-Anwendung des Streaming-Client-Geräts 114. In Beispielen, in denen ein Signal an die Server übertragen wird (z.B. in einer Cloud-Spielumgebung, wie in 4 beschrieben), können der (die) Spielserver 116 und/oder der (die) Streaming-Server 124 allein oder in Kombination die Livestream-Spielinstanz 128 und/oder die zuvor aufgezeichnete Spielinstanz 120 als Stream zur Übertragung an ein oder mehrere Client-Gerät(e) 104 erfassen (z.B. zur Anzeige unter Verwenden der Streaming-Anwendung 168 des (der) Client-Gerätes(e) 104). Die Spielanwendung von Streaming-Client-Gerät(en) 114 kann Eingaben von einem oder mehreren Eingabegerät(en) des (der) Streaming-Client-Gerät(e) 114 empfangen und/oder verarbeiten und/oder die Übertragung von Eingabedaten, die für die Eingaben repräsentativ sind, zu dem (den) Streaming-Server(n) 124, dem (den) Spielserver(n) 116, dem (den) Client-Gerät(en) 104 und/oder anderen Streaming-Client-Gerät(en) 114 veranlassen.
-
Die Spielanwendung und/oder die Streaming-Anwendung des (der) Streaming-Client-Gerät(e) 114 kann so konfiguriert sein, dass sie Metadaten umfasst, die mit einer Livestream-Spielinstanz 128 eines Spiels und/oder einer zuvor aufgezeichneten Spielinstanz 120 eines Spiels assoziiert sind. Im Hinblick auf eine Livestream-Spiel-Instanz eines Spiels kann die Spielanwendung und/oder die Streaming-Anwendung des (der) Streaming-Client-Gerät(e) 114 beispielsweise so konfiguriert sein, dass sie - mit den für die Livestream-Spiel-Instanz 128 repräsentativen Daten - eine Kennung (z.B. den Benutzernamen) des Streamers, der den Livestream gemeinsam nutzt (z.B. Streaming), Informationen über die Plattform (z.B. digitaler Anbieter), auf der die Spiel-Instanz vom Streamer gespielt wird, den Titel des im Stream dargestellten Spiels und/oder andere Informationen überträgt. Als weiteres Beispiel und im Hinblick auf eine zuvor aufgezeichnete Streaming-Instanz eines Spiels kann die Spielanwendung und/oder Streaming-Anwendung des (der) Streaming-Client-Gerät(e) 114 so konfiguriert sein, dass sie - mit den für die Livestream-Spiel-Instanz 128 repräsentativen Daten - eine Kennung (z.B. den Benutzernamen) des Streamers überträgt, der die Live-Spielsitzung teilt (z.B. streamt), die Informationen der Plattform (z.B. digitaler Anbieter), auf der die Spielinstanz vom Streamer gespielt wird, den Titel des im Stream dargestellten Spiels, beliebige Informationen mit Identifizierern der Spielinstanz (z.B. Informationen, die mit bestimmten Versionen, Modifikationen, dem Inventar des Benutzers, Lebenspunkten, Waffeninventar, Fahrzeug, Ausrüstung, Statistiken usw. assoziiert sind) und/oder andere Informationen. Obwohl sie als übertragen durch das (die) Streaming-Client-Gerät(e) 114 diskutiert werden, können die Metadaten zusätzlich zu oder alternativ von dem (den) Streaming-Client-Gerät(en) 114 von dem (den) Streaming-Server(n) 124 und (oder) dem (den) Spielserver(n) 116 generiert und/oder übertragen werden.
-
In einigen Beispielen kann (können) das (die) Streaming-Client-Gerät(e) 114 die Spielinstanz (z.B. Livestream einer Spielinstanz, zuvor aufgezeichnete Spielinstanz) unter Verwenden der Spielanwendung des (der) Streaming-Client-Gerät(e) 114 rendern, während in anderen Beispielen das (die) Streaming-Client-Gerät(e) 114 Anzeigedaten (z.B. codierte Anzeigedaten, wie in 4 beschrieben) empfangen und verwenden kann (können), um die Spielinstanz auf der Anzeige des (der) Streaming-Client-Gerät(e) 114 anzuzeigen. In Beispielen, in denen die Anzeigedaten von dem (den) Streaming-Client-Gerät(en) 114 empfangen werden (z.B. wenn das (die) Streaming-Client-Gerät(e) 114 das Rendern nicht erzeugt (erzeugen)), kann das Spielsystem 100 Teil eines Spielstreamingsystems sein, wie z.B. das Spielstreamingsystem 400 von 4, das unten ausführlicher beschrieben wird.
-
Der (die) Spielserver 116 können einen oder mehrere Server (z.B. dedizierte Spielserver) zum Speichern, Hosten, Verwalten und, in einigen Beispielen, zum Rendern eines Spiels umfassen. Der (die) Spielserver 116 kann (können) zum Erstellen, Aktualisieren und/oder Modifizieren eines Spiels (z.B. des Programmcodes des Spiels) sowie zum Hosten des Spiels (z.B. als dedizierte Spielserver) verwendet werden. Der (die) Spielserver 116 kann (können) ferner eine Kommunikationsschnittstelle 162 ähnlich der Kommunikationsschnittstelle 110 des (der) Client-Geräts(e) 104, eine Spielengine 118 und einen/mehrere Datenspeicher 152 ähnlich dem (den) Datenspeicher(n) 122 des (der) Client-Geräts(e) 104 umfassen. Obwohl in 1A nur einige wenige Komponenten und/oder Merkmale des (der) Spielserver(s) 116 gezeigt werden, ist dies nicht als Einschränkung zu verstehen. Zum Beispiel kann (können) der (die) Spielserver 116 zusätzliche oder alternative Komponenten umfassen, wie z.B. die unten in Bezug auf den (die) Spielserver 402 von 4 und/oder das Rechengerät 500 von 5 beschriebenen.
-
Der (die) Spielserver 116 können einen oder mehrere Server (z.B. dedizierte Spielserver) zum Speichern, Hosten, Verwalten und, in einigen Beispielen, zum Rendern eines Spiels umfassen. Der (die) Spielserver 116 kann (können) zum Erstellen, Aktualisieren und/oder Modifizieren eines Spiels (z.B. des Programmcodes des Spiels) sowie zum Hosten des Spiels (z.B. als dedizierte Spielserver) verwendet werden. Der (die) Spielserver 116 kann (können) weiter eine Kommunikationsschnittstelle 162 ähnlich der Kommunikationsschnittstelle 110 des (der) Client-Gerät(e) 104, eine Spielengine 118 und einen/mehrere Datenspeicher 152 ähnlich dem (den) Datenspeicher(n) 122 des (der) Client-Gerät(e) 104 umfassen. Obwohl in 1A nur einige wenige Komponenten und/oder Merkmale des (der) Spielserver(s) 116 gezeigt werden, ist dies nicht als Einschränkung zu verstehen. Zum Beispiel kann (können) der (die) Spielserver 116 zusätzliche oder alternative Komponenten umfassen, wie z.B. die unten in Bezug auf den (die) Spielserver 402 von 4 und/oder das Rechengerät 500 von 5 beschriebenen.
-
Die Spielengine 118 kann die Funktionalität umfassen, die es ermöglicht, ein Spiel von einem oder mehreren Benutzern (z. B. Streamer, Zuschauer usw.) über ein Netzwerk, wie z. B. Netzwerk(e) 102, zu spielen. Die Spiel-Engine 118 kann eine Rendering-Engine, eine Audio-Engine, eine Physik-Engine, eine Animations-Engine, eine Künstliche Intelligenz-Engine, eine Netzwerk-Engine, eine Streaming-Engine, eine Speicherverwaltungs-Engine und/oder andere Komponenten oder Funktionen umfassen. Die Game-Engine 118 kann verwendet werden, um einige oder alle Daten der Spielsitzung (z.B. Metadaten) während einer Spielsitzung zu erzeugen.
-
Die Kommunikationsschnittstelle 162 kann eine oder mehrere Komponenten und Funktionen für die Kommunikation über ein oder mehrere Netzwerke, wie z.B. das (die) Netzwerk(e) 102, umfassen. Die Kommunikationsschnittstelle 162 kann so konfiguriert sein, dass sie über eine beliebige Anzahl von Netzwerk(en) 102, wie hier beschrieben, kommuniziert. Für die Kommunikation im Spielstream-System 100 der 1A kann der (die) Spielserver 116 beispielsweise eine Ethernet- oder Wi-Fi-Verbindung über einen Router verwenden, um auf das Internet zuzugreifen und mit dem (den) Streaming-Server(n) 124, dem (den) Streaming-Client-Gerät(en) 114, dem (den) Client-Gerät(en) 104 und/oder anderen Spielserver(n) 116 zu kommunizieren.
-
Der (die) Datenspeicher 152 kann (können) beliebige(n) Speichergerätetyp(en) umfassen. Der (die) Datenspeicher 152 kann (können) die Speicherung von Metadaten vornehmen, die mit der Livestream-Spielinstanz 128 und/oder der zuvor aufgezeichneten Spielinstanz 120 assoziiert sind, die durch den (die) Spielserver 116, den (die) Streaming-Server 124, das (die) Streaming-Client-Gerät(e) 114, das (die) Client-Gerät(e) 104 und/oder eine Kombination davon identifiziert ist (sind). Die Metadaten können die hier beschriebenen Arten von Metadaten (z.B. Titel, Benutzername usw.) umfassen, sind aber nicht darauf beschränkt. Wie hierin beschrieben, kann (können) der (die) Datenspeicher 152 in einigen Beispielen nur einen Teil der Metadaten speichern, die mit der Livestream-Spielinstanz 128 und/oder der zuvor aufgezeichneten Spielinstanz 120 assoziiert sind. In anderen Beispielen kann (können) der (die) Datenspeicher 152 alle Metadaten speichern, die mit der Livestream-Spiel-Instanz 128 und/oder der zuvor aufgezeichneten Spiel-Instanz 120 assoziiert sind. Die Metadaten können beispielsweise zwischen und unter den verschiedenen Geräten des Spielsystems 100 aufgeteilt gespeichert und zur Aufnahme in Spielstreams zur Übertragung auf Client-Gerät(e) 104 abgerufen werden.
-
Der (die) Streaming-Server 124 können einen oder mehrere Server umfassen. Streaming-Server können unter anderem dedizierte Streaming-Server zur Speicherung, zum Hosting, zur Verwaltung, zur Bereitstellung (z.B. aus einem Cloud-Computing-Ökosystem) und, in einigen Beispielen, zum Rendern einer Spielinstanz (z.B. wenn ein Stream aus Spielstandsdaten erzeugt wird, die einem Spiel entsprechen) umfassen. In einigen Beispielen können andere Streaming-Server 124 für die Verwaltung von Livestreams als für die Verwaltung zuvor aufgezeichneter Streams verwendet werden, während in anderen Beispielen jeder Streaming-Server 124 sowohl Livestreams als auch zuvor aufgezeichnete Streams verarbeiten kann. Der (die) Streaming-Server 124 kann (können) weiter eine Kommunikationsschnittstelle 164 ähnlich der Kommunikationsschnittstelle 110 des (der) Client-Gerät(e) 104, einen Stream-Manager 126 und einen oder mehrere Datenspeicher 160 ähnlich dem (den) Datenspeicher(n) 122 des (der) Client-Gerät(e) 104 umfassen. Obwohl in 1A nur einige wenige Komponenten und/oder Merkmale des (der) Streaming-Server(s) 124 gezeigt werden, ist dies nicht als Einschränkung zu verstehen. Zum Beispiel kann (können) der (die) Streaming-Server 124 zusätzliche oder alternative Komponenten umfassen, wie z.B. die unten in Bezug auf das Rechengerät 500 der 5 beschriebenen.
-
Der (die) Streaming-Server 124 kann (können) eine oder mehrere APIs umfassen, um einen Stream einer Instanz eines Spiels an das (die) Client-Gerät(e) 104 zu erzeugen und/oder zu übertragen und/oder um die Kommunikation von Informationen (z. B. Metadaten, Spielsitzungsdaten usw.) an, zwischen und/oder zwischen dem (den) Spieleserver(n) 116, dem (den) Streaming-Client-Gerät(en) 114 und/oder dem (den) Client-Gerät(en) 104 zu ermöglichen. Der (die) Streaming-Server 124 kann (können) beispielsweise eine oder mehrere Spiel-APIs umfassen, die eine Schnittstelle mit den Streaming-Anwendungen 168 der Client-Geräte 104 bilden, um die Übertragung eines Streams einer Spielinstanz an das (die) Client-Gerät(e) 104 zu ermöglichen. Als weiteres Beispiel kann (können) der (die) Streaming-Server 124 eine oder mehrere Spielsitzungs-APIs umfassen, die eine Schnittstelle mit Spielanwendungen und/oder den Streaming-Anwendungen des (der) Streaming-Client-Gerät(e) 114 und/oder der Spiel-Engine 118 (oder anderer Komponenten) des (der) Spielerserver 116 bilden, um den Empfang, die Erzeugung und/oder die Übertragung eines Streams einer Spielinstanz zu ermöglichen. Obwohl hierin verschiedene APIs beschrieben sind, können die APIs Teil einer einzigen API sein, können zwei oder mehrere der APIs kombiniert sein, und verschiedene APIs können andere als die hier beispielhaft beschriebenen oder eine Kombination davon umfassen.
-
Der Stream-Manager 126 kann so konfiguriert sein, dass er eine beliebige Anzahl von Instanzen eines Spiels verwaltet, wie z.B. Livestream Spielinstanz 128 und/oder zuvor aufgezeichnete Spielinstanz 120. Zum Beispiel kann ein Benutzer (z.B. ein Streamer) eine Instanz eines Spiels auf Streaming-Client-Gerät(en) 114 spielen. Die Spielinstanz kann auf dem (den) Spielserver(n) 116 und/oder auf dem (den) Streaming-Client-Gerät(en) 114 gerendert und auf einer Anzeige des (der) Streaming-Client-Gerät(e) 114 angezeigt werden. Der Streamer kann die Instanz des Spiels live streamen wollen. Der Stream-Manager 126 des (der) Streaming-Server(s) 124 kann so konfiguriert sein, dass er den Livestream des Streamers (z.B. Livestream-Spiel-Instanz 128) verwaltet und die Livestream-Spiel-Instanz 128, einschließlich assoziierter Metadaten, an Client-Gerät(e) 104 überträgt. In ähnlicher Weise kann ein Benutzer (z.B. ein Streamer) eine Spielinstanz auf Streaming-Client-Gerät(en) 114 spielen. Die Spielinstanz kann auf dem (den) Spielserver(n) 116 gerendert und auf einer Anzeige des (der) Streaming-Client-Gerät(e) 114 angezeigt werden. Der Streamer kann die Instanz des Spiels für ein späteres Streaming an andere Benutzer (z.B. Zuschauer) aufzeichnen wollen. Der (die) Streaming-Server 124 können so konfiguriert sein, dass sie den zuvor aufgezeichneten Stream des Streamers (z.B. die zuvor aufgezeichnete Spielinstanz 120) verwalten und die zuvor aufgezeichnete Spielinstanz 120 einschließlich der assoziierten Metadaten an das (die) Client-Gerät(e) 104 übertragen.
-
Unter Bezugnahme auf BILD 1B zeigt BILD 1B eine beispielhafte Schnittstelle einer Spielsitzung, die ein grafisches Element zur Teilnahme an einem Livestream einer Spielinstanz umfasst, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Insbesondere beinhaltet 1 B eine Schaltfläche 136 als graphisches Element, die, wenn sie (z.B. von einem Zuschauer) betätigt wird, Funktionen und Operationen auslöst, die es dem Zuschauer ermöglichen, während des Livestreams der Spielinstanz mit und/oder gegen einen Streamer zu spielen. Ein Zuschauer kann z.B. eine Livestream-Instanz des Spieles betrachten, die von einem Streamer gestreamt wird. Während des Livestreams können Metadaten (wie hier beschrieben), die mit der Livestream-Instanz des Spiels assoziiert sind, empfangen und gespeichert werden. Unter Verwenden der Metadaten (z.B. sobald sie empfangen und/oder verarbeitet wurden) und während der Zuschauer den Livestream betrachtet, kann die Schaltfläche 136 auf der Anzeige eingeblendet werden, um es dem Zuschauer zu ermöglichen, Zugang zum Spiel des Streamers anzufragen. Auf diese Weise kann das Spiel nach Betätigung der Schaltfläche 136 als grafisches Element und unter Verwenden der Metadaten auf dem Client-Gerät 104 des Zuschauers gestartet werden (z.B. in einem Webbrowser-Portal, in einer eigenständigen Anwendung usw.). Dies wird weiter unten in Verbindung mit Verfahren 200 von 2 näher beschrieben. Es ist zu verstehen, dass das graphische Element 136, das die Anfrage zum Spielen der Livestream-Instanz des Spiels darstellt, eine beliebige Anzahl von Spiel-/Betritts-Phrasen anzeigen kann, wie z.B. „Spiel gegen Spieler 1 auf der Spielplattform“, wie in 1B zu sehen ist.
-
Unter Bezugnahme auf 1C zeigt 1C eine beispielhafte Schnittstelle einer Spielsitzung, die ein grafisches Element zum Abspielen eines zuvor aufgezeichneten Streams einer Spielinstanz umfasst, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Insbesondere beinhaltet 1C eine Schaltfläche 154, die, wenn sie (z.B. von einem Zuschauer) betätigt wird, dem Zuschauer Zugang zum Spielen des spezifischen, im Stream dargestellten Spiels ermöglicht. Zum Beispiel kann ein Zuschauer eine zuvor aufgezeichnete Instanz eines Spiels ansehen, die von der Spielinstanz eines Streamers erzeugt wurde. Der Stream des zuvor aufgezeichneten Spiels und die mit dem Stream assoziierten Metadaten (wie hierin beschrieben) können empfangen und gespeichert werden. Unter Verwenden der Metadaten (z.B. sobald sie empfangen und/oder verarbeitet wurden) und während der Zuschauer den zuvor aufgezeichneten Stream ansieht, kann die Schaltfläche 154 erscheinen, die es dem Zuschauer ermöglicht, die spezifische Version des Spiels zu spielen, die er gerade ansieht (z.B. dasselbe Spiel, mit einigen oder allen Modifikationen, von einem bestimmten Wegpunkt oder Ladepunkt innerhalb des Spiels usw.). Nach Auswahl der Schaltfläche 154 kann das Spiel, das der Zuschauer gerade anschaut, gestartet werden (z.B. nach Verifizierung, und in einem Webbrowser-Portal oder einer eigenständige Anwendung usw.). Dies wird in Verbindung mit Verfahren 300 der 3 weiter unten ausführlich beschrieben. Es ist zu verstehen, dass die Schaltfläche 154, die die Anfrage repräsentiert, die voraufgezeichnete Instanz eines Spiels zu spielen, eine beliebige Anzahl von Spiel-/Beitritts-Phrasen anzeigen kann, wie z.B. „Spiele aufgezeichnetes Spiel“, wie in 1C zu sehen ist. Als Beispiel kann zusätzlich zu oder anstelle der Schaltfläche 154 eine Schaltfläche 156 mit den wählbaren Optionen 158A-158E auf der Schnittstelle einer Spielsitzung angezeigt werden. Wie hierin beschrieben, können, wenn ein Zuschauer eine zuvor aufgezeichnete Spielinstanz, wie z.B. die zuvor aufgezeichnete Spielinstanz 120 aus 1A, betrachtet, Informationen bezüglich beliebiger spezifischer Versionen, Modifikationen, Benutzer-Inventar usw., die mit dem zuvor aufgezeichneten Spielstream assoziiert sind, identifiziert und gespeichert werden, wie z.B. durch die Spielanwendung 106 und/oder die Streaming-Anwendung 168 des (der) Client-Gerät(e) 104 aus 1A.
-
In einigen Ausführungsbeispielen kann der Zuschauer den Wunsch haben, ein Spiel zu spielen, das dem zuvor aufgezeichneten Stream in einigen oder allen Modifikationen der im Stream aufgezeichneten Spielinstanz entspricht. Die Schaltfläche 156, die die wählbaren Optionen 158A-158E umfasst, kann es einem Zuschauer ermöglichen, keine Modifikationen, eine einzelne Modifikation, mehrere Modifikationen oder alle Modifikationen auszuwählen, mit denen eine Instanz des Spiels gespielt werden soll. Die wählbaren Optionen 158A-158E stellen eine beispielhafte und nicht erschöpfende Liste wählbarer Optionen dar, aus der ein Zuschauer auswählen kann, und die Optionen können je nach Ausführungsbeispiel, dem spezifischen Spiel, der Spielinstanz usw. variieren, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Nach der Auswahl der Schaltfläche 154 und/oder der Schaltfläche 156 (einschließlich mindestens einer der auswählbaren Optionen 158A-158E) kann das Spiel, das der Zuschauer gerade betrachtet, innerhalb der Spielanwendung 106 gestartet werden (z.B. nach Verifizierung, und in einem Webbrowser-Portal, einer eigenständigen Anwendung usw.). Dieses Verfahren wird in Verbindung mit Verfahren 300 von 3 weiter unten ausführlich behandelt.
-
Unter Bezugnahme auf 2 und 3 umfasst jeder Schritt der hier beschriebenen Verfahren 200 und 300 einen Rechenprozess, der unter Verwenden beliebiger Kombinationen von Hardware, Firmware und/oder Software durchgeführt werden kann. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Befehle ausführt. Die Verfahren können auch als computerverwendbare, auf Computerspeichermedien gespeicherte Befehle ausgeführt werden. Die Verfahren können durch eine eigenständige Anwendung, einen Dienst oder einen gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder ein Plug-In für ein anderes Produkt bereitgestellt werden, um nur einige zu nennen. Darüber hinaus werden die Verfahren 200 und 300 beispielhaft in Bezug auf das System von 1A beschrieben. Diese Verfahren können jedoch zusätzlich oder alternativ von einem beliebigen System oder einer beliebigen Kombination von Systemen ausgeführt werden, einschließlich, aber nicht beschränkt auf die hier beschriebenen.
-
2 ist ein Flussdiagramm, das ein Verfahren 200 zur Teilnahme an einem Livestream einer Spielinstanz aus einer Spielübertragung zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Das Verfahren 200 umfasst in Schritt B202 ein Empfangen eines Livestreams einer Spielinstanz, wobei der Livestream Metadaten enthält, die mit dem Spiel assoziiert sind. Zum Beispiel kann die Livestream-Spiel-Instanz 128 von der Streaming-Anwendung 168 des Client-Geräts 104 empfangen werden, wobei die Livestream-Spiel-Instanz 128 Metadaten umfassen kann, wie z.B. eine Kennung (z.B. Benutzername) des Streamers, der den Livestream teilt, die Plattform (z.B. digitaler Anbieter), auf der die Spiel-Instanz vom Streamer gespielt wird, den Titel des Spiels und/oder andere Informationen. Die Metadaten können z.B. die Information umfassen, dass der Streamer „Streamer_123“ eine Instanz eines Spiels „Spiel_ABC“ unter Verwenden einer Spielplattform „Plattform_XYZ“ live streamt. Die in den Metadaten enthaltenen Informationen können durch eine beliebige Anzahl von Komponenten des Client-Geräts 104 identifiziert sein, wie z.B. die Spielanwendung 106 und/oder die Streaming-Anwendung 168 von (dem) Client-Gerät(en) 104 der 1A. Der Livestream kann basierend auf einem Streamer (z.B. ein Benutzer, der das Spiel auf einem Streaming-Client-Gerät 114 spielt) erzeugt werden, der die Erzeugung eines Livestreams seines Spiels anfragt.
-
Das Verfahren 200 umfasst in Schritt B204, basierend auf einer Eingabe in ein GUI innerhalb einer Streaming-Anwendung und während der Anzeige des Livestreams, ein Generieren einer Anfrage zum Beitritt zur Spielinstanz für einen ersten Benutzer, der sich den Livestream ansieht. Zum Beispiel kann unter Verwenden der identifizierten Metadaten und während ein Zuschauer den Livestream der Spielinstanz auf der Anzeige 108 des Client-Geräts 104 betrachtet, die Schaltfläche 136 (z.B. eine Schaltfläche „Jetzt beitreten“ oder eine Schaltfläche „Spiel gegen Spieler 1 auf der Spielplattform spielen“) auf der Anzeige 108 eingefügt werden. Die Schaltfläche 136 kann es dem Zuschauer ermöglichen, Zugang zum Spiel des Streamers zu beantragen. Auf diese Weise kann nach Auswahl des grafischen Elements - und unter Verwenden der für den digitalen Anbieter repräsentativen Metadaten, des Spielnamens und/oder der Plattforminformationen - das Spiel auf dem Gerät des Zuschauers gestartet werden (z.B. in einem Webbrowser-Portal, in einer eigenständigen Anwendung usw.), wie hierin beschrieben.
-
Das Verfahren 200 umfasst in Schritt B206 ein Übermitteln einer Authentifizierungsanfrage an einen digitalen Anbieter, der mit einer Plattform assoziiert ist, die die Instanz des Spiels hostet, um festzustellen, dass der erste Benutzer authentifiziert ist. Beispielsweise kann eine Authentifizierungsanfrage unter Verwenden der Zugangsdaten des Zuschauers, des Titels des Spiels und/oder anderer Informationen generiert werden, um festzustellen, ob der Zuschauer Zugang zur Plattform hat (z.B. NVIDIA's GEFORCE NOW) und/oder um festzustellen, ob der Zuschauer Zugang zu und/oder eine Kopie des Spiels innerhalb der Plattform besitzt. Als solches kann der Zuschauer durch das Spielsystem 100 validiert werden, um zu bestätigen, dass der Zuschauer das Spiel spielen darf. In einigen Beispielen kann das System Anmeldedaten des Benutzers speichern oder eine Single-Sign-On (SSO)-Technik verwenden, um die Benutzeranmeldeinformationen des Zuschauers automatisch auszufüllen und/oder den Zuschauer automatisch bei der Plattform anzumelden. In Beispielen, in denen die Spielplattform und die Streaming-Plattform dieselbe Plattform sind, kann der Benutzer bereits authentifiziert sein. In anderen Beispielen, in denen sich die Plattformen unterscheiden, kann die Validierung von der Spielanwendung 106 und/oder der Streaming-Anwendung 168 vor dem Start der Spielinstanz und/oder der Spielanwendung 106 für den Zuschauer angefragt und/oder ausgeführt werden. Wenn der Benutzer nicht validiert wird, kann die Streaming-Anwendung 168 die Live-Instanz des Spiels ohne Unterbrechung weiter streamen (z.B. mit Ausnahme einer Benachrichtigung, dass die Validierung nicht erfolgreich war). In einigen Ausführungsbeispielen kann die Validierung durch das Spielsystem 100 ausgeführt werden, während der Zuschauer den Stream betrachtet (z.B. im Hintergrund), so dass die Schaltfläche 136 erst dann in der Streaming-Anwendung 168 angezeigt wird, wenn der Zuschauer validiert wurde. In anderen Beispielen kann die Validierung nach Auswahl oder Betätigung der Schaltfläche 136 erfolgen. Darüber hinaus kann der Zuschauer durch Validierung der Spielplattform und Anmeldung in der Lage sein, am Spiel teilzunehmen, indem er eine assoziierte Kennung des Zuschauers, wie z.B. einen Benutzernamen, verwendet. Infolgedessen können alle Errungenschaften, Vergünstigungen, Freischaltungen, Modifikationen, Fähigkeiten und/oder andere Informationen, die mit der Kennung des Zuschauers assoziiert sind, während des Spiels verwendet werden. Die Validierung, das Einloggen, der Abruf des Benutzernamens oder der Kennung usw. kann Teil eines Identifikations-Managementsystems innerhalb des Spielsystems 100 sein. Zum Beispiel kann das Identifikations-Managementsystem individuelle Identitäten, Authentifizierung, Autorisierung, Rollen, Privilegien und/oder andere Informationen innerhalb des Spielsystems 100 verwalten.
-
Das Verfahren 200 umfasst in Schritt B208 nach der Authentifizierung eine Anmeldung bei einer Spielanwendung unter Verwenden der Anmeldedaten des ersten Benutzers. Wenn der Zuschauer beispielsweise für das Spielen des Spiels auf der Spielplattform authentifiziert oder validiert wurde, kann er sich mit den Anmeldedaten des Zuschauers bei der Spielplattform anmelden. In einem oder mehreren Ausführungsbeispielen, wie hierin beschrieben, kann der Zuschauer nach der Validierung unter Verwenden des Identitätsmanagementsystems bei der Plattform angemeldet werden, so dass der Benutzername des Zuschauers für das Spiel mit dem oder gegen den Streamer aktiv ist.
-
Das Verfahren 200 umfasst in Schritt B210 ein Starten der Spielinstanz durch die Spielanwendung, die zumindest teilweise auf der Akzeptanz eines zweiten Benutzers zum Spielen mit dem ersten Benutzer basiert. Beispielsweise kann der Streamer, der seine Teilnahme an der Spielinstanz streamt, eine Anfrage vom Spielesystem 100 erhalten, um dem Zuschauer die Teilnahme an der Spielinstanz zu erlauben. In einigen Beispielen kann die Anfrage eine allgemeine Anfrage sein, die der Streamer bestätigt, um beliebigen Zuschauern seines Streams ein Beitreten der Spiele (d.h. ein Teilnehmen an den Spielen) auf Anfrage zu erlauben. In anderen Beispielen kann der Streamer jedes Mal, wenn ein Zuschauer die Generierung einer Anfrage veranlasst, eine Anfrage empfangen und darauf antworten. Beispielsweise kann der Streamer eine Anfrage oder einen anderen Hinweis erhalten, dass der jetzt im Spiel befindliche Zuschauer an seiner Spielinstanz teilnehmen möchte. Der Streamer kann die Anfrage wahlweise akzeptieren oder ablehnen, oder der Zuschauer kann in eine Warteschlange zum Spielen mit dem Streamer aufgenommen werden. Die Anfrage kann in einigen Ausführungsbeispielen als Antwort auf eine Eingabe in das grafische Element 136 generiert werden. Wenn der Streamer die Beitrittsanfrage des Zuschauers akzeptiert, kann der Zuschauer zur Spielinstanz für mit und/oder gegen den Streamer hinzugefügt werden. In einigen Fällen kann der Zuschauer zu einer Warteschlange hinzugefügt werden, um in naher Zukunft mit und/oder gegen den Streamer zu spielen (z.B. wenn Platz in der Gruppe des Streamers verfügbar wird). In einigen Ausführungsbeispielen kann der Zuschauer zwischen dem Spiel mit dem Streamer und dem Spiel gegen den Streamer wählen.
-
Unter Bezugnahme auf 3 zeigt 3 ein weiteres Flussdiagramm, das ein Verfahren 300 zum Beitreten zu einem zuvor aufgezeichneten Stream einer Spielinstanz aus einer Spielübertragung zeigt, gemäß Ausführungsbeispielen der vorliegenden Offenbarung. Das Verfahren 300 umfasst in Schritt B302 ein Empfangen eines Streams einer ersten Spielinstanz, wobei der Stream Metadaten umfasst, die mit der Spielinstanz assoziiert sind. Zum Beispiel kann eine erste Spielinstanz (z.B. die zuvor aufgezeichnete Spielinstanz 120 aus 1A) des Streaming-Client-Geräts 114 eines Streamers vom Client-Gerät 104 eines Zuschauers (z.B. über den (die) Streaming-Server 124 und/oder den (die) Spiel-Server 116) empfangen werden. Die zuvor aufgezeichnete Spielinstanz 120 kann assoziierte Metadaten (wie hierin beschrieben) umfassen, wie z.B. die Namensinformationen des Spiels, das gestreamt wird, die Informationen zur Identifizierung der Plattform, auf der das Spiel gespielt wird und auf der der Streamer spielt, Informationen des digitalen Anbieters, die damit assoziiert sind, wo das Spiel gekauft werden kann (falls ein Kauf notwendig sein sollte), Informationen mit Identifizierern der Spielinstanz des Spiels (z.B. Informationen, die mit bestimmten Versionen, Modifikationen, dem Inventar des Benutzers, Lebenspunkten, Waffeninventar, Fahrzeug, Ausrüstung, Statistiken usw. assoziiert sind) usw.
-
Das Verfahren 300 umfasst in Schritt B304, basierend auf einer Eingabe in ein GUI innerhalb der Streaming-Anwendung, ein Generieren einer Anfrage zum Starten einer zweiten Spielinstanz für einen Benutzer, der den Stream betrachtet. Zum Beispiel können unter Verwenden der identifizierten Metadaten und während ein Zuschauer die zuvor aufgezeichnete Spielinstanz auf der Anzeige 108 betrachtet, die Schaltfläche(n) 154 und/oder 156 innerhalb der Streaming-Anwendung 168 eingefügt werden. Nach Auswahl der Schaltfläche(n) 154 und/oder 156 - und unter Verwenden der Metadaten - kann das Spiel auf dem Client-Gerät 104 des Zuschauers gestartet werden (z.B. in einem Webbrowser-Portal, in einer eigenständigen Anwendung usw.), wie hierin beschrieben.
-
Das Verfahren 300 umfasst in Schritt B306 ein Übermitteln einer Authentifizierungsanfrage an einen digitalen Anbieter, der mit einer Plattform assoziiert ist, um festzustellen, dass der Benutzer authentifiziert ist. Zum Beispiel kann, ähnlich der obigen Beschreibung in Bezug auf Schritt B206 von 2, der Zuschauer durch das Spielsystem 100 validiert werden, um zu bestätigen, dass der Zuschauer das Spiel spielen darf.
-
Das Verfahren 300 umfasst in Schritt B308 nach der Authentifizierung ein Einloggen in eine Spielanwendung unter Verwenden der Anmeldedaten des Benutzers. Dieses Verfahren kann dem in Schritt B208 von 2 dargestellten Verfahren ähnlich sein.
-
Das Verfahren 300 umfasst in Schritt B310 umfasst ein Starten der zweiten Spielinstanz einschließlich mindestens eines Modifikators, der durch den Zugriff auf die Spieldaten der ersten Spielinstanz bestimmt wird. Zum Beispiel kann auf Spielsitzungsdaten (z.B. Metadaten, Spielstandsdaten, mit dem Streamer assoziierte Freischaltungen, Vergünstigungen, Modifikationen usw.) zugegriffen werden (z.B. unter Verwenden eines Identifizierers der ersten Spielinstanz), um mindestens einen Modifikator für den Start einer neuen, zweiten Spielinstanz in der Spielanwendung 106 zu bestimmen, an der der Zuschauer teilnehmen kann. Da der Zuschauer, wie hier vorliegend beschrieben, unter Verwenden einer Kennung (z.B. eines Benutzernamens) angemeldet sein kann, können die Spielinformationen verfolgt und mit dem Konto des Zuschauers assoziiert werden.
-
Unter Bezugnahme auf 4 zeigt 4 ein beispielhaftes Systemdiagramm für ein Spielstreamingsystem 400, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. 4 beinhaltet Spielserver 402 (die ähnliche Komponenten, Merkmale und/oder Funktionalität wie der (die) Spielserver 116 aus 1A und/oder das Rechengerät 500 aus 5 umfassen können), Client-Gerät(e) 404 (die ähnliche Komponenten, Merkmale und/oder Funktionalität wie die Client-Geräte 104 aus 1A und/oder das Rechengerät 500 aus 5 umfassen können) und Netzwerk(e) 406 (die ähnlich wie das (die) Netzwerk(e) 102 aus 1A sein können). In einigen Ausführungsbeispielen kann das System 400 zumindest als Teil des Spielsystems 100 implementiert sein. Beispielsweise kann die Cloud-Computing-Umgebung des Systems 400 durch das Spielsystem 100 genutzt werden, wobei in solchen Ausführungsbeispielen der (die) Spielserver 116 und/oder die Spielplattform dem (den) Spielserver(n) 402 und/oder das (die) Client-Gerät(e) 104 und/oder das (die) Streaming-Client-Gerät(e) 114 dem (den) Client-Gerät(en) 404 ähnlich sein kann (können).
-
Im System 400 kann das (die) Client-Gerät(e) 404 für eine Spielsitzung Eingabedaten nur als Reaktion auf Eingaben an das (die) Eingabegerät(e) empfangen, die Eingabedaten an den (die) Spielserver 402 übertragen, kodierte Anzeigedaten vom (von den) Spielserver(n) 402 empfangen und die Anzeigedaten auf dem Display 424 anzeigen. Dadurch wird die rechenintensivere Berechnung und Verarbeitung auf den (die) Spielserver 402 ausgelagert (z.B. wird das Rendern der Spielsitzung von dem (den) Grafikprozessor(en) des (der) Spielserver(s) 402 ausgeführt), und die Spielsitzung wird von dem (den) Spielserver(n) 402 auf das (die) Client-Gerät(e) 404 gestreamt - wodurch die Anfragen des (der) Client-Gerätes(e) 404 an die Grafikverarbeitung und das Rendern reduziert werden.
-
In Bezug auf eine Instanziierung einer Spielsitzung kann beispielsweise ein Client-Gerät 404 ein Einzelbild der Spielsitzung auf der Anzeige 424 anzeigen, basierend auf dem Empfang der Anzeigedaten von dem (den) Spielserver(n) 402. Das Client-Gerät 404 kann eine Eingabe an eines der Eingabegeräte empfangen und als Reaktion darauf Eingabedaten erzeugen. Das Client-Gerät 404 kann die Eingabedaten über die Kommunikationsschnittstelle 420 und über das (die) Netzwerk(e) 406 (z.B. das Internet) an den (die) Spielserver 402 übertragen, und der (die) Spielserver 402 kann (können) die Eingabedaten über die Kommunikationsschnittstelle 418 empfangen. Die CPU(s) kann (können) die Eingabedaten empfangen, die Eingabedaten verarbeiten und Daten an den (die) Grafikprozessor(en) übertragen, der (die) den (die) Grafikprozessor(en) veranlasst (veranlassen), ein Rendern der Spielsitzung zu erzeugen. Die Eingabedaten können z.B. repräsentativ sein für eine Bewegung einer Figur des Benutzers in einem Spiel, das Abfeuern einer Waffe, das Nachladen, das Passen eines Balls, das Wenden eines Fahrzeugs usw. Die Rendering-Komponente 412 kann die Spielsitzung rendern (z.B. repräsentativ für das Ergebnis der Eingabedaten) und die Render Capture-Komponente 414 kann das Rendering der Spielsitzung als Anzeigedaten erfassen (z.B. als Bilddaten, die das Einzelbild der Spielsitzung erfassen). Der Kodierer 416 kann dann die Anzeigedaten kodieren, um kodierte Anzeigedaten zu erzeugen, und die kodierten Anzeigedaten können über das (die) Netzwerk(e) 406 über die Kommunikationsschnittstelle 418 an das Client-Gerät 404 übertragen werden. Das Client-Gerät 404 kann die kodierten Anzeigedaten über die Kommunikationsschnittstelle 420 empfangen, und der Dekodierer 422 kann die kodierten Anzeigedaten dekodieren, um die Anzeigedaten zu erzeugen. Das Client-Gerät 404 kann dann die Anzeigedaten über die Anzeige 424 anzeigen.
-
5 ist ein Blockdiagramm eines beispielhaften Rechengerätes 500, das zur Verwendung bei einer Implementierung einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist. Das Rechengerät 500 kann einen Bus 502 umfassen, der die folgenden Geräte direkt oder indirekt koppelt: Speicher 504, eine oder mehrere Zentraleinheiten (CPUs) 506, eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 508, eine Kommunikationsschnittstelle 510, Ein-/Ausgabeports 512, Ein-/Ausgabekomponenten 514, ein Stromversorgung 516 und eine oder mehrere Darstellungskomponenten 518 (z.B. Anzeige(n)).
-
Obwohl die verschiedenen Blöcke von 5 als über den Bus 502 mit Leitungen verbunden dargestellt sind, ist dies nicht als Begrenzung gedacht und dient nur der Übersichtlichkeit. Beispielsweise kann in einigen Ausführungsbeispielen eine Darstellungskomponente 518, wie z.B. ein Gerät zur Anzeige, als E/A-Komponente 514 betrachtet werden (z.B. wenn die Anzeige ein Touchscreen ist). Als weiteres Beispiel können die CPUs 506 und/oder GPUs 508 Speicher umfassen (z.B. kann der Speicher 504 zusätzlich zum Speicher der GPUs 508, der CPUs 506 und/oder anderer Komponenten ein Speichergerät darstellen). Das Gerät von 5 hat daher lediglich illustrativen Charakter. Es wird nicht zwischen Kategorien wie „Workstation", „Server“, „Laptop“, „Desktop“, „Tablet“, „Client-Gerät“, „mobiles Gerät“, „Handheld-Gerät“, „Spielkonsole“, „elektronische Steuereinheit (ECU)“, „Virtual-Reality-System“ und/oder anderen Geräte- oder Systemtypen unterschieden, die alle als unter dem Umfang des Rechengeräts von 5 betrachtet werden.
-
Der Bus 502 kann einen oder mehrere Busse repräsentieren, wie z.B. einen Adressbus, einen Datenbus, einen Steuerbus oder eine Kombination davon. Der Bus 502 kann einen oder mehrere Bustypen umfassen, wie z.B. einen ISA-Bus (Industry Standard Architecture), einen EISA-Bus (Extended Industry Standard Architecture), einen VESA-Bus (Video Electronics Standards Association), einen PCI-Bus (Peripheral Component Interconnect), einen PCIe-Bus (Peripheral Component Interconnect Express) und/oder einen anderen Bustyp.
-
Der Speicher 504 kann beliebige computerlesbare Medien umfassen. Bei den computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die das Rechengerät 500 zugreifen kann. Zu den computerlesbaren Medien können sowohl flüchtige als auch nicht flüchtige Medien sowie Wechselmedien und nicht wechselbare Medien gehören. Als Beispiel, und nicht als Einschränkung, können die computerlesbaren Medien Computerspeichermedien und Kommunikationsmedien umfassen.
-
Die Computer-Speichermedien können sowohl flüchtige als auch nicht flüchtige Medien und/oder Wechselmedien und nicht wechselbare Medien umfassen, die in beliebigen Verfahren oder Technologien zur Speicherung von Informationen wie computerlesbaren Befehlen, Datenstrukturen, Programmmodulen und/oder anderen Datentypen implementiert sind. Zum Beispiel kann der Speicher 504 computerlesbare Anweisungen speichern (z.B. die ein Programm (Programme) und/oder ein Programmelement (Programmelemente), wie ein Betriebssystem, repräsentieren). Computer-Speichermedien können unter anderem RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, Digital Versatile Disks (DVD) oder andere optische Speicherplatten, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder beliebige andere Medien umfassen, die zur Speicherung der gewünschten Informationen verwendet werden können und auf die das Rechengerät 500 zugreifen kann. Wie hier vorliegend verwendet, umfassen Computerspeichermedien keine Signale per se.
-
Die Kommunikationsmedien können als computerlesbare Anweisungen, Datenstrukturen, Programmodule und/oder andere Datentypen in einem modulierten Datensignal wie einer Trägerwelle oder einem anderen Transportmechanismus ausgebildet sein und beliebige Informationsträger umfassen. Der Begriff „moduliertes Datensignal“ kann sich auf ein Signal beziehen, bei dem eine oder mehrere seiner Eigenschaften so eingestellt oder geändert wurden, dass Informationen in dem Signal kodiert werden. Als Beispiel und ohne Einschränkung können die Kommunikationsmedien drahtgebundene Medien wie ein drahtgebundenes Netzwerk oder eine direkte verdrahtete Verbindung sowie drahtlose Medien wie akustische, HF-, Infrarot- und andere drahtlose Medien umfassen. Kombinationen beliebiger der oben genannten Medien sollen ebenfalls in dem Umfang der computerlesbaren Medien eingeschlossen sein.
-
Die CPU(s) 506 kann (können) so konfiguriert sein, dass sie die computerlesbaren Befehle zur Steuerung einer oder mehrerer Komponenten des Rechengeräts 500 ausführt (ausführen), um eines oder mehrere der vorhandenen Verfahren und/oder Prozesse auszuführen. Die CPU(s) 506 kann (können) jeweils einen oder mehrere Kerne (z.B. einen, zwei, vier, acht, achtundzwanzig, zweiundsiebzig usw.) umfassen, die in der Lage sind, eine Vielzahl von Software-Threads gleichzeitig zu verarbeiten. Die CPU(s) 506 können jeden beliebigen Prozessortyp umfassen und je nach Art des implementierten Rechengeräts 500 verschiedene Typen von Prozessoren enthalten (z.B. Prozessoren mit weniger Kernen für mobile Geräte und Prozessoren mit mehr Kernen für Server). Je nach Art des Rechengeräts 500 kann der Prozessor z.B. ein ARM-Prozessor sein, der unter Verwenden von RISC (Reduced Instruction Set Computing) implementiert ist, oder ein x86-Prozessor, der unter Verwenden von CISC (Complex Instruction Set Computing) implementiert ist. Das Rechengerät 500 kann eine oder mehrere CPUs 506 zusätzlich zu einem oder mehreren Mikroprozessoren oder zusätzlichen Koprozessoren, wie z.B. mathematische Koprozessoren, umfassen.
-
Die GPU(s) 508 kann (können) vom Rechengerät 500 zum Rendern von Grafiken (z. B. 3D-Grafiken) verwendet werden. Der (die) GPU(s) 508 kann Hunderte oder Tausende von Kernen umfassen, die in der Lage sind, Hunderte oder Tausende von Software-Threads gleichzeitig zu verarbeiten. Der (die) GPU(s) 508 kann (können) Pixeldaten für Ausgabebilder in Reaktion auf Rendering-Befehle erzeugen (z.B. Rendering-Befehle von der (den) CPU(s) 506, die über eine Host-Schnittstelle empfangen werden). Die GPU(s) 508 kann (können) Grafikspeicher, wie z.B. Anzeigespeicher, zur Speicherung von Pixeldaten umfassen. Der Anzeigespeicher kann als Teil des Speichers 504 enthalten sein. Die GPU(s) 508 kann (können) zwei oder mehr parallel (z. B. über eine Verbindung) arbeitende GPU(s) umfassen. Wenn sie miteinander kombiniert werden, kann jede GPU 508 Pixeldaten für verschiedene Teile eines Ausgabebildes oder für verschiedene Ausgabebilder erzeugen (z.B. eine erste GPU für ein erstes Bild und eine zweite GPU für ein zweites Bild). Jede GPU kann ihren eigenen Speicher umfassen oder Speicher mit anderen GPUs gemeinsam nutzen.
-
In Beispielen, in denen das Rechengerät 500 die GPU(s) 508 nicht umfasst, kann (können) die CPU(s) 506 zum Rendern von Grafiken verwendet werden.
-
Die Kommunikationsschnittstelle 510 kann einen oder mehrere Empfänger, Sender und/oder Transceiver umfassen, die es dem Rechengerät 500 ermöglichen, mit anderen Rechengeräten über ein elektronisches Kommunikationsnetz, einschließlich drahtgebundener und/oder drahtloser Kommunikation, zu kommunizieren. Die Kommunikationsschnittstelle 510 kann Komponenten und Funktionen umfassen, die eine Kommunikation über eine beliebige Anzahl verschiedener Netzwerke ermöglichen, wie z.B. drahtlose Netzwerke (z.B. Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee, usw.), drahtgebundene Netzwerke (z.B. Kommunikation über Ethernet), Weitbereichsnetzwerke mit geringem Stromverbrauch (z.B. LoRaWAN, SigFox, usw.) und/oder das Internet.
-
Die E/A-Ports 512 können es ermöglichen, das Rechengerät 500 logisch mit anderen Geräten zu koppeln, einschließlich der E/A-Komponenten 514, der Präsentationskomponente(n) 518 und/oder anderer Komponenten, von denen einige in das Rechengerät 500 eingebaut (z.B. integriert) sein können. Die gezeigten E/A-Komponenten 514 umfassen ein Mikrofon, eine Maus, eine Tastatur, einen Joystick, ein Gamepad, einen Gamecontroller, eine Satellitenschüssel, einen Scanner, einen Drucker, ein drahtloses Gerät usw. Die E/A-Komponenten 514 können eine natürliche Benutzerschnittstelle (NUI) bieten, die Luftgesten, Stimme oder andere physiologische Eingaben verarbeitet, die von einem Benutzer erzeugt werden. In einigen Fällen können Eingaben zur weiteren Verarbeitung an ein geeignetes Netzwerkelement übertragen werden. Eine NUI kann eine beliebige Kombination von Spracherkennung, Stifterkennung, Gesichtserkennung, biometrischer Erkennung, Gestenerkennung sowohl auf dem Bildschirm als auch neben dem Bildschirm, Gesten in der Luft, Kopf- und Augenverfolgung und Berührungserkennung (wie unten ausführlicher beschrieben), die mit einer Anzeige des Rechengeräts 500 assoziiert ist, implementieren. Das Rechengerät 500 kann Tiefenkameras umfassen, wie z.B. stereoskopische Kamerasysteme, Infrarotkamerasysteme, RGB-Kamerasysteme, Touchscreen-Technologie und Kombinationen davon zur Gestendetektion und -erkennung. Zusätzlich kann das Rechengerät 500 Beschleunigungssensoren oder Gyroskope (z.B. als Teil einer Trägheitsmesseinheit (IMU)) umfassen, die die Erkennung von Bewegungen ermöglichen. In einigen Beispielen kann der Ausgang der Beschleunigungssensoren oder Gyroskope vom Rechengerät 500 verwendet werden, um immersive Augmented Reality oder Virtual Reality zu rendern.
-
Das Stromversorgung 516 kann ein fest verdrahtetes Netzgerät, eine Batteriestromversorgung oder eine Kombination daraus umfassen. Die Stromversorgung 516 kann das Rechengerät 500 mit Strom versorgen, um den Betrieb der Komponenten des Rechengeräts 500 zu ermöglichen.
-
Die Präsentationskomponente(n) 518 kann (können) eine Anzeige (z.B. einen Monitor, einen Touchscreen, einen Fernsehbildschirm, ein Head-Up-Display (HUD), andere Anzeigetypen oder eine Kombination davon), Lautsprecher und/oder andere Präsentationskomponenten umfassen. Die Präsentationskomponente(n) 518 kann (können) Daten von anderen Komponenten (z.B. der (den) GPU(s) 508, der (den) CPU(s) 506 usw.) empfangen und die Daten ausgeben (z.B. als Bild, Video, Ton usw.).
-
Die Offenbarung kann im allgemeinen Kontext von Computercode oder maschinenverwendbaren Befehlen, einschließlich computerausführbarer Befehle, wie z.B. Programmmodule, beschrieben sein, die von einem Computer oder einer anderen Maschine, wie z.B. einem Personal Data Assistant oder einem anderen tragbaren Gerät, ausgeführt werden. Im Allgemeinen umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw. und beziehen sich auf Code, der bestimmte Aufgaben ausführt oder bestimmte abstrakte Datentypen implementiert. Die Offenbarung kann in einer Vielzahl von Systemkonfigurationen umgesetzt werden, einschließlich Handheld-Geräten, Unterhaltungselektronik, Allzweckcomputern, spezielleren Rechengeräten usw. Die Offenbarung kann auch in verteilten Rechnerumgebungen praktiziert werden, in denen die Aufgaben von entfernten verarbeitenden Geräten ausgeführt werden, die über ein Kommunikationsnetz miteinander verbunden sind.
-
Wie hier vorliegend verwendet, sollte eine Verwendung von „und/oder“ in Bezug auf zwei oder mehr Elemente so interpretiert werden, dass nur ein Element oder eine Kombination von Elementen gemeint ist. Zum Beispiel kann „Element A, Element B und/oder Element C“ nur Element A, nur Element B, nur Element C, nur Element A und Element B, Element A und Element C, Element B und Element C oder die Elemente A, B und C umfassen. Darüber hinaus kann „mindestens eines von Element A oder Element B“ mindestens eines von Element A, mindestens eines von Element B oder mindestens eines von Element A und mindestens eines von Element B umfassen. Ferner kann „mindestens eines von Element A und Element B“ mindestens eines von Element A, mindestens eines von Element B oder mindestens eines von Element A und mindestens eines von Element B umfassen.
-
Der Gegenstand der vorliegenden Offenbarung wird hierin mit Spezifizität beschrieben, um den gesetzlichen Anforderungen zu entsprechen. Die Beschreibung selbst ist jedoch nicht dazu gedacht, den Umfang dieser Offenbarung einzuschränken. Vielmehr haben die Erfinder in Betracht gezogen, dass der beanspruchte Gegenstand auch auf andere Weise ausgebildet sein kann, um verschiedene Schritte oder Kombinationen von Schritten ähnlich denen, die in diesem Dokument beschrieben sind, in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien zu umfassen. Obwohl die Begriffe „Schritt“ und/oder „Block“ hierin verwendet werden können, um verschiedene Elemente der angewandten Verfahren zu bezeichnen, sollten die Begriffe nicht so ausgelegt werden, dass sie irgendeine beliebige Reihenfolge zwischen oder unter den verschiedenen hierin offenbart angegebenen Schritten implizieren, es sei denn, die Reihenfolge der einzelnen Schritte wird ausdrücklich beschrieben.