Multiplayer-Frameworks für Game Engines abstrahieren die komplexe Netzwerkprogrammierung hinter Synchronisation, Lag-Kompensation und Server-Client-Kommunikation – wichtige Vertreter sind Mirror, Unitys Netcode, Photon und Epic Online Services.
Rubrik: Game Design & Interactive Media · Unterrubrik: Game Engines · Niveau: Fortgeschritten
Synonyme / Auch bekannt als: Multiplayer SDK, Netzwerk-Middleware, Networking Framework, Online-Gaming-SDK
Was sind Multiplayer-Frameworks?
Multiplayer-Spieleentwicklung zählt zu den technisch anspruchsvollsten Disziplinen der Softwareentwicklung. Neben der eigentlichen Spiellogik müssen Entwickler Latenzen kompensieren, Datenpakete effizient übertragen, Cheating verhindern, Server-Infrastruktur betreiben und Spielerzustand zwischen Clients synchronisieren.
Multiplayer-Frameworks und -Middlewares abstrahieren diese Komplexität in handhabbare APIs. Sie bieten Konzepte wie RPCs (Remote Procedure Calls – Funktionsaufrufe über das Netzwerk), NetworkVariables (Variablen, die automatisch synchronisiert werden) und vorprogrammierte Lag-Kompensationstechniken.
Erklärung
Grundkonzepte
Client-Server-Architektur: Ein dedizierter Server ist die autoritäre Quelle des Spielzustands. Clients senden Eingaben, der Server berechnet die Ergebnisse, Clients empfangen und zeigen sie an. Verhindert Cheating, erfordert aber Infrastruktur.
Peer-to-Peer (P2P): Clients kommunizieren direkt miteinander, ein Client ist oft „Host" (Listen Server). Einfacher für kleine Spiele, aber anfälliger für Cheating und Verbindungsprobleme.
Rollback Netcode: Weit verbreitet in Fighting Games (Mortal Kombat 11, Guilty Gear Strive). Jeder Client simuliert den Spielzustand eigenständig. Bei Differenzen wird zu einem Checkpoint zurückgegangen und neu simuliert. Ermöglicht sehr responsives Spielgefühl trotz Latenz.
Lag Compensation: Server berücksichtigt beim Auswerten von Spieleraktionen (z. B. Schuss) die Latenz des Clients und berechnet, wo das Ziel war als der Client schoss – nicht wo es ist wenn der Schuss den Server erreicht. Standard in Shootern.
Prediction und Reconciliation: Der Client simuliert Aktionen direkt (ohne auf Server-Bestätigung zu warten) für responsives Feedback. Wenn die Server-Bestätigung ankommt, wird der lokale Zustand ggf. korrigiert.
Mirror (Unity, Open Source)
Mirror ist das populärste Open-Source-Multiplayer-Framework für Unity. Es ist der Community-Nachfolger des eingestellten UNET-Systems.
Features:
- High-Level API (NetworkBehaviour, SyncVars, Commands, RPCs)
- Mehrere Transport-Layer (TCP, UDP/KCP, WebSockets, Steam)
- Modular: Transport-Layer austauschbar
- Unterstützt Listen Server (Host = Client+Server) und dedizierte Server
NetworkBehaviour: Basis-Klasse für netzwerksynchronisierte Objekte. Attribute markieren Felder und Methoden:
[SyncVar]: Variable wird automatisch vom Server zu allen Clients synchronisiert.[Command]: Funktion, die der Client aufruft, aber auf dem Server ausgeführt wird.[ClientRpc]: Server ruft Funktion auf allen Clients auf.
```csharp public class PlayerHealth : NetworkBehaviour { [SyncVar] public int health = 100;
[Command] public void CmdTakeDamage(int damage) { health -= damage; if (health <= 0) RpcOnDeath(); }
[ClientRpc] void RpcOnDeath() { // Auf allen Clients: Todes-Animation abspielen } } ```
Mirror Lizenz: MIT Open Source, kostenlos.
Netcode for GameObjects (Unity, offiziell)
Unitys offizielles Multiplayer-Framework (seit 2021). Ähnliches Konzept wie Mirror, aber tighter in Unity Game Services (UGS) und Unity Gaming Services integriert. Unterstützt:
- NetworkVariable (typed, automatische Synchronisation)
- RPCs (ServerRpc, ClientRpc)
- Network Object Spawning
- Boss Room als offizielles Beispielprojekt
NGO vs. Mirror: Mirror ist ausgereifter, hat größere Community. NGO ist Unitys offiziell unterstützte Lösung mit besserer Integration in Unity's Service-Ökosystem.
Photon (Exit Games)
Photon ist eine Multiplayer-as-a-Service-Plattform mit SDKs für Unity, Unreal, .NET und andere Plattformen.
Photon Realtime: Low-level API für Lobbys, Rooms und Echtzeit-Messaging. Photon Fusion: Modernes, state-sync-basiertes Framework mit Rollback-Support (Fusion 2 ab 2023). Photon Quantum: Deterministische Server-Simulation für fighting-game-artige Präzision. Photon Chat: Standalone-Chat-Lösung.
Photon verwaltet die Server-Infrastruktur – Entwickler müssen keine eigenen Server betreiben. Das Preismodell ist nutzungsbasiert: kostenlos bis zu bestimmten CCU-Zahlen (Concurrent Users), dann gestaffelte Preise.
Stärke: Einfacher Einstieg, kein eigenes Server-Hosting nötig, gute Dokumentation, große Community.
Epic Online Services (EOS)
EOS ist Epics kostenlose Multiplayer-Service-Plattform für alle Engines und Plattformen:
- P2P Networking
- Voice Chat
- Lobbies, Sessions, Matchmaking
- Friends, Achievements, Leaderboards
- Anti-Cheat
EOS ist kostenlos und ohne Umsatzbeteiligung. Es erfordert einen Epic-Entwickler-Account. Besonders interessant für UE5-Projekte (native Integration), aber auch für Unity über ein Plugin nutzbar.
Weitere Frameworks
Fish-Networking: Neueres Open-Source-Framework für Unity mit gutem Performance-Profil. Normcore (Normal): Cloud-basiertes Unity Multiplayer-SDK, einfach zu starten. Steamworks: Valves SDK für Steam-Multiplayer, P2P via Steam-Relay-Server.
Beispiele
- Among Us: Nutzung von Photon in der frühen Version (später auf eigene Lösung migriert).
- Minecraft: Eigene Netzwerkimplementierung auf Basis von Netty (Java).
- Fall Guys (Mediatonic): Unity-basiert, eigene Server-Infrastruktur.
In der Praxis
Für kleine Teams empfiehlt sich der Start mit Photon oder Mirror: beide haben viele Tutorials und erfordern kein eigenes Server-Hosting. Für größere Projekte lohnt eine sorgfältige Evaluation der Netzwerkarchitektur früh im Entwicklungsprozess – nachträgliche Änderungen sind teuer.
Vergleich & Abgrenzung
| Framework | Lizenz | Hosting | Engine | Stärke |
|---|---|---|---|---|
| Mirror | MIT | Selbst | Unity | Flexibel, mature |
| NGO (Unity) | Proprietär | Selbst/UGS | Unity | Offiziell supported |
| Photon Fusion | Proprietär | Photon Cloud | Unity/andere | Einfacher Start |
| EOS | Kostenlos | Epic Cloud | Alle | Services-Ökosystem |
| Unreal EOS | Teil UE5 | Epic Cloud | UE5 | Tief integriert |
Häufige Fragen (FAQ)
Was ist Lag Compensation und warum ist sie wichtig? Ohne Lag Compensation würden Spieler mit hoher Latenz einen unfairen Nachteil haben: Ihr Schuss trifft nur Millisekunden nach der Eingabe auf dem Server, wo sich der Gegner schon weiter bewegt hat. Lag Compensation berechnet rückwirkend die Spielersituation zum Zeitpunkt der Eingabe.
Server-Side Authority – was bedeutet das? In einem autoritären Server-Modell ist der Server die einzige Instanz, die Spielzustand ändert. Clients senden nur Eingaben (Befehle), nie direkt Positionen oder Werte. Das verhindert Cheating, da Clients keine Spielwerte manipulieren können.
Wie viele Spieler kann ein Unity Mirror-Server unterstützen? Das hängt stark von der Spiellogik, den synchronisierten Datenmengen und der Server-Hardware ab. Typisch sind 20–100 Spieler für Action-Spiele; MMO-ähnliche Architekturen erfordern eigene Instanzing-Systeme.
Verwandte Einträge
Weiterführend
- Zink, Josh u. a.: Multiplayer Game Programming: Architecting Networked Games. Addison-Wesley, 2016.
- Gambetta, Gabriel: Fast-Paced Multiplayer. gabrielgambetta.com, 2015–2024 (Online-Artikel-Reihe).
- Mirror Networking Team: Mirror Documentation. mirror-networking.gitbook.io, 2024.
- Exit Games: Photon Fusion 2 Documentation. doc.photonengine.com, 2024.
