Wenn ich ein vernetztes Multiplayer-Spiel entwerfe, bei dem sich ein Spieler und andere Spieler verbinden, gibt es zwei Strategien, die mir bekannt sind:
- Lassen Sie das Spiel des Host-Spielers die Autorität sein , wobei alle anderen Spieler als Dummköpfe versuchen, den aktuellen Spielstatus einzuholen. Im Code muss es viele Sonderfälle geben, je nachdem, ob der aktuelle Spieler der Host ist oder nicht.
- Machen Sie den Host zu einem dummen Client wie alle anderen, indem Sie einen versteckten dedizierten Server auf einem anderen Thread ausführen. Der dedizierte Server ist die Autorität, und der Host stellt wie alle anderen eine Verbindung her (über localhost).
Was sind die Vor- und Nachteile dieser beiden? Welches wird am häufigsten verwendet (oder variiert es je nach Spieltyp / -größe)?