Enter the Boss Room: unser neues Multiplayer Beispielspiel

Erforschen Sie die neue, experimentelle Netcode-Bibliothek von Unity und die zugrundeliegenden Muster eines Multiplayer-Spiels in unserem kleinen kooperativen RPG, Boss Room
Die Entwicklung von Multiplayer-Spielen ist nicht einfach, und man fühlt sich oft überfordert, wenn man sich mit der Entwicklung eines Multiplayer-Spiels befasst - selbst mit den zur Verfügung gestellten SDK-Dokumenten. Sie brauchen Ratschläge, was Sie mit den bereitgestellten SDKs und Mustern tun können, die Sie als Bausteine für Ihre eigenen Spiele verwenden können. Unser Ziel als Unity Multiplayer Networking Team ist es, Entwickler (wie Sie) mit den Tools auszustatten und zu unterstützen, die sie benötigen, um großartige Multiplayer-Spielerlebnisse für ihre Spieler zu entwickeln. Ein Teil dieses Versprechens besteht darin, nicht nur die grundlegende Netzwerktechnologie bereitzustellen, sondern auch die Dokumentation und die Schulungsvorlagen, die zum Verständnis ihrer Anwendung erforderlich sind. Hier kommen unsere Multiplayer-Beispiele ins Spiel - mit Boss Room als erstem Bildungsinhalt seiner Art.
Während der Entwicklung von Boss Room werden unter Tutorials zu den verschiedenen Aspekten der Vernetzung des Beispiels für Entwickler auf unserer neuen Dokumentationsseite geschrieben. In diesen Tutorials werden viele kritische Aspekte der Vernetzung eines kleinen kooperativen Spiels behandelt, wie z.B. die Wahl zwischen RPCs und NetworkVariables oder die Gestaltung eines reaktionsschnellen Spiels mit Lag-Kompensationstechniken.
Kommen wir nun zu unserem neuen, frühzeitig verfügbaren Koop-Beispiel: Chefzimmer.
Betreten Sie den Bossraum
Willkommen im Boss Room, einem offiziellen Beispielprojekt auf Basis von 2020 LTS, das die nativen Werkzeuge, Grafiken und die experimentelle Netzwerktechnologie von Unity vorstellt - jetzt als Early Access über Github verfügbar. Boss Room nutzt das neue experimentelle Netcode-Paket, um bis zu acht Spieler zusammenzubringen, um Kobolde und einen Boss in diesem bezaubernden vertikalen Teil eines kooperativen RPG-Dungeons zu besiegen. Lust auf mehr Boss Room? Keine Sorge - sie wird sich zusammen mit der Community weiterentwickeln, da sich auch unsere Multiplayer-Lösung weiterentwickelt.
Starten Sie hier, oder lesen Sie weiter, um einen kurzen Überblick darüber zu erhalten, was Sie heute im Boss Room erwartet.
Die Prämisse
Die Spieler beginnen Boss Room, indem sie einen Spielserver hosten oder ihm beitreten, der auf einem der Geräte der Spieler gehostet wird.
Sobald die Verbindung hergestellt ist, wählen die Spieler einen der acht verfügbaren Helden aus, treten einer Lobby bei und wählen ihren Charakter aus, während sie darauf warten, dass alle Gruppenmitglieder spielbereit sind. Wenn alle Spieler bereit sind, wird ein kurzer Timer angezeigt, und dann werden alle Helden in die Umgebung des Bossraums transportiert.
Im Bossraum müssen die Spieler zusammenarbeiten, um die gegnerischen Schergen zu überwinden und den Boss zu besiegen.
Vernetzung
Da das Hauptziel von Boss Room darin besteht, Entwicklern die grundlegenden Konzepte und Muster eines Multiplayer-Spiels zu vermitteln, sind die Netzwerkaspekte des Beispiels von entscheidender Bedeutung.
Ein Teil des Hauptnutzens von Boss Room sind die Multiplayer-Muster, die es zeigt: Vorwegnahme der Action-Animation, Lobby, Status vs. RPC und mehr. Ziel ist es, den Nutzern nicht nur die Implementierung solcher Muster zur Verfügung zu stellen, sondern auch eine Dokumentation, die ihnen hilft, sie zu verstehen. Behalten Sie unsere Dokumentationsseite im Auge, um über diese Artikel auf dem Laufenden zu bleiben, wenn sie in den kommenden Monaten veröffentlicht werden.
Das in Boss Room verwendete Netzwerkmodell ist ein von einem Client gehosteter Server, und die Spieler können über eine integrierte Photon Relay- und IP-Direktverbindung miteinander in Verbindung treten.
Zeichen und Klassen
Für Spielercharaktere gibt es heute vier 3D-Charakterklassen (Magier, Krieger, Schurke und Bogenschütze), drei Völker (Elfen, Menschen und Zwerge) und zwei Geschlechter. Diese Charaktere haben zwei primäre Fähigkeiten und ein paar Emote-Animationen für jeden. Als KI/Feinde präsentieren wir Kobolde und einen Dungeon-Boss - jeder mit seinen eigenen einzigartigen Fähigkeiten.

Die Figuren in Boss Room basieren alle auf einem gemeinsamen Figurenmodell, das wir liebevoll das "U" nennen - es wurde so konzipiert, dass es wiederverwendet und in neue Formen und Größen skaliert werden kann. Da sie alle eine gemeinsame Struktur haben, sind sie für die Wiederverwendung konzipiert. Boss Room verwendet die UCL-Lizenz, was bedeutet, dass Sie alle unsere Assets wiederverwenden und auf ihnen in Ihrem eigenen Unity-Projekt aufbauen können, also modden Sie ruhig weiter!

Wie bereits erwähnt, demonstriert Boss Room eine Vielzahl von Action-Gameplay-Techniken, die häufig in Koop-RPGs zu finden sind, sowie die Codierungsmuster und -techniken, die bei der Umsetzung dieser Aktionen nützlich sind. Dazu gehören die servergesteuerte Wegfindung und Bewegung mit clientseitiger Interpolation sowie das Aktionssystem als allgemeiner Mechanismus, mit dem Charaktere auf vernetzte Weise "Dinge tun" können.
Zu den Aktionen gehört alles, vom grundlegenden Charakterangriff bis hin zu einer ausgefallenen AOE-Fertigkeit wie dem Volleyschuss des Bogenschützen. Im Folgenden finden Sie eine Liste von Aktionsarchetypen, die mit diesem System umgesetzt wurden:
- Nahkampfangriff mit einer physikbasierten Hitbox-Überprüfung.
- Angriff mit Wirkungsbereich. Der Angriff wird auf einen vom Client angegebenen Punkt zentriert, um die clientseitige Bereichsauswahl mit einem servergesteuerten Effekt zu zeigen.
- Fernkampfangriff "Projektil", der ein servergesteuertes Projektil hervorbringt. Enthält auch eine Variante dieser Aktion mit der Möglichkeit, den Schuss durch Gedrückthalten der Aktionstaste "aufzuladen".
- Betäubte Aktion, die KI-gesteuerte Agenten daran hindert, etwas zu tun.
- Stealth-Aktion, die den Stealth-Modus für Schurken umschaltet.
- Eine Schwabbelaktion mit der Möglichkeit, sie durch Gedrückthalten der Aktionstaste aufzuladen. Erzeugt eine zusätzliche Wirkung auf den maximalen Ladungsgrad.
- Emote-Aktionen, die alberne Charakteranimationen abspielen - diese zeigen die Kommunikation der Spieler.
- Verfolgungsaktion, bei der dein Charakter dem gewählten Ziel folgt
- Zielauswahl, die für Aktionen verwendet wird, die auf ein Ziel zielen können, wenn eines ausgewählt wird.
- Trampel-Aktion, die der Boss ausführt und unvorsichtige Helden zur Seite stößt - dies zeigt Muster für vernetzte Physik.
- Wiederbelebungsaktion, die es den Helden ermöglicht, sich gegenseitig wieder zum Leben zu erwecken.
Kerker und Spielverlauf
Die Umgebung des Boss-Raums ist so gestaltet, dass die Spieler ein paar Momente Zeit haben, die Fähigkeiten ihres Charakters zu testen, bevor sie sich dem Boss stellen.
Der Dungeon besteht aus einem Vorraum und einem Bossraum, mit einem einfachen Schalterrätsel, um in den Bossbereich zu gelangen. Das Ziel ist einfach: Besiege die Kobolde, löse das Rätsel, schalte den Boss aus - und erreiche den Schatz am Ende!

Ein Hinweis von unserem Team
Das Ziel von Boss Room ist mehr als nur API-Bildung. Multiplayer ist einer der Bereiche der Spieleentwicklung, die nicht nur die Implementierung, sondern auch das Design des Spiels beeinflussen. Das Wissen um gute Praktiken wie "wann ist es in Ordnung, clientgesteuert zu sein und wann nicht, wenn ich einen servergesteuerten, physikbeeinflussenden NPC wie den Boss habe" oder "Tricks, wie man Ramp-Up-Animationen verwenden kann, um die Latenz zu verbergen" wird Ihnen helfen, ein besseres Multiplayer-Spiel zu entwickeln. Der gesamte Funktionsumfang von Boss Room ist ein Beispiel für diese Praktiken und Muster.
Das Ziel unseres Teams ist es, Ihnen eine Referenz für den gesamten Entwicklungsprozess von Multiplayer-Spielen zu geben, damit Sie in der Lage sind, ein Multiplayer-Spiel von A bis Z für bestimmte Arten von Spielen zu entwickeln. Dazu gehören Entwurf, Implementierung, Tests und der Umgang mit einer Live-Umgebung. Wir beginnen mit Boss Room als Referenz - unsere Unterlagen dazu werden gerade geschrieben.
Das zweite Ziel von Boss Room ist es, das neue experimentelle Netcode-Paket für GameObjects (eine Weiterentwicklung von MLAPI) zu testen. Das Samples-Team und das SDK-Team arbeiten Hand in Hand, um MLAPI zu verbessern, UX-Feedback zu geben und Probleme aufzuzeigen. Wenn MLAPI neue Funktionen hinzufügt und das SDK aktualisiert, werden wir diese Funktionen weiterhin verwenden und sicherstellen, dass sie im Kontext der Projektentwicklung sinnvoll sind.
Was steht als Nächstes an?
Da unsere Netzwerklösung weiter wächst und sich verbessert, wird auch dieses Beispiel weiter wachsen. Hier finden Sie Möglichkeiten, sich zu engagieren.
- Folgen Sie diesem Projekt auf GitHub, und erkunden Sie seine Möglichkeiten mit diesem Leitfaden
- Verfolgen Sie den Fortschritt des Netcodes auf GitHub und fügen Sie Anfragen für Aktualisierungen oder Funktionen zu unserer öffentlichen Roadmap hinzu
Chatte mit uns auf Discord oder im Unity Multiplayer Forum und teile deine Erfahrungen oder bitte um Hilfe