Erstellen Sie mit Netcode for GameObjects ein produktionsreifes Multiplayerspiel.

Entwickeln Sie ein kooperatives Multiplayer-Spiel mit Unity? Wir haben die perfekte On-Demand-Ressource für Sie: Eine vierteilige Webinarreihe des Multiplayer-Teams - jetzt auf YouTube verfügbar. Diese Serie taucht ein in den Boss Room um herauszufinden, wie Sie mit Unity und Netcode for GameObjects ein produktionsreifes Multiplayerspiel erstellen können.
Bei der Entwicklung von Multiplayer-Spielen geht es nicht nur um die Verwendung der richtigen APIs. In der ersten Folge der Serie geht es um Best Practices und Ratschläge für die Einführung einer chaotischen Technologie wie dem Internet zwischen Ihren Spielern bei der Entwicklung eines Multiplayer-Spiels.
In der ersten Folge behandeln wir das Thema:
- Was ist Netcode for GameObjects (NGO) und Unity Gaming Services (UGS)?
- NetworkVariables vs. RPCs und Gründe für die Wahl der jeweiligen Funktion
- Autorität und warum wir für die meisten unserer Spiele Serverautorität gewählt haben
- Bewegungen und alternative Modelle wie Client Authority zum Umgang mit Verzögerungen und Optimierungstricks für pfadfindungsbasierte Bewegungen
- Grundlegende Spielimplementierung und wie wir State (netvar, Netzwerkliste) und RPCs verwenden
Episode zwei behandelt die Implementierung von Charakterfähigkeiten in Boss Room und wie man die Implementierung von Fähigkeiten in seinem Spiel angeht.
Wir tauchen ein:
- Der allgemeine Ablauf der Implementierung servergesteuerter Fähigkeiten
- Zuverlässigkeit und was es bedeutet, wenn RPCs unzuverlässig sind
- Nahkampfangriffe und die Antizipation von Animationsproblemen
- Funktionalität des Panzerschilds und Interaktion mit der Umwelt
- Bogenschützen-Powershots und Area of Effect (AOE), die nur auf der Client-Seite zeitliche Eingaben erfordern
- Magier-Feuerblitz und Bandbreitennutzung
- Die allgemeine Architektur unseres Fähigkeitssystems
Wir schauen uns auch an:
- Dynamisch erzeugte Objekte
- Spawning statischer in der Szene platzierter Objekte
- Zerstörbare, in der Szene platzierte Objekte spawnen
- Lektionen über Zombie-Imps bei verspätetem Beitritt gelernt
- Benutzerdefinierte Spawning-Logik wie Pools und wie man sie in NGOs integriert
In der dritten Sitzung behandeln wir einige weitere Details der Spielimplementierung, bevor wir uns damit beschäftigen, wie Sie Ihr Multiplayer-Spiel für die Spieler attraktiv machen können.
Wir erforschen:
- Physikalische Interaktionen, Objekte und Elternschaft, Szenen und Szenenmanagement
- Relay und Lobby verwenden, um Ihr Spiel online zu bringen und warum Sie NGO nicht für den Beitritt von Spielern verwenden können
- Synchronisierung des Charakterauswahlbildschirms zwischen Spielern mit NGO und benutzerdefinierter Serialisierung
- Ihr Spiel muss widerstandsfähig sein gegenüber dem Kommen und Gehen von Spielern, Wiederverbindungsströmen, Unterstützung für späte Beitritte, Verbindungsabbrüche und Timeouts
- Handhabung von Wettlaufbedingungen und verschiedene durchzuführende Tests
In der vierten und letzten Sitzung der Reihe erforschen wir die besten Praktiken bei der Spieleentwicklung für Multiplayer-Spiele.
Diese Folge behandelt:
- Bandbreitenoptimierungen und Tools zur Profilierung, Optimierung von NetworkTransforms und andere Tipps
- Debugging-Tools wie Netzzustands-Simulatoren, Statistiküberwachung und benutzerdefinierte Debug-Flows
- Projektarchitektur (Aktionssystem, Spielerarchitektur, usw.)
- Die Zukunft von Boss Room
Haben Sie die Serie gesehen? Teilen Sie uns Ihr Feedback mit, damit wir in Zukunft noch bessere Veranstaltungen planen können.
Wenn Sie bereit sind, Ihr nächstes Multiplayer-Projekt mit Unity und Netcode for GameObjects in Angriff zu nehmen, finden Sie hier einige hilfreiche Ressourcen für den Einstieg:
- Erfahren Sie mehr über Netcode for GameObjects
- Erkunden Sie unsere Muster: 3D Boss Room, 2D Galaktische Kätzchen, Bitesize Samples
- Lesen Sie die Dokumentation
Haben Sie Fragen oder Feedback zur Entwicklung von Multiplayer-Spielen in Unity? Du kannst dich gerne an der Diskussion auf Discord oder in den Foren beteiligen.