Games

Erstellen Sie mit Netcode for GameObjects ein produktionsreifes Multiplayerspiel.

SAMUEL BELLOMO Netcode Engineer
Apr 5, 2023|5 Min.
Erstellen Sie mit Netcode for GameObjects ein produktionsreifes Multiplayerspiel.
Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

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.

1. Verstehen der grundlegenden Spielimplementierung und der Serverautorität

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
2. Entwicklung von Charakterfähigkeiten, Spawning und Szenenobjekten

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
3. Machen Sie Ihr Multiplayerspiel widerstandsfähig gegenüber Ihren Spielern

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
4. Optimieren Sie Bandbreite und Gamedev-Prozesse

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
Einstieg in die Multiplayer-Entwicklung

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:

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.