Ich bastele an einem einfachen Canvas-basierten Höhlenflieger-Spiel herum und möchte es irgendwann im Mehrspielermodus spielen. Es ist geplant, Node.js auf der Serverseite zu verwenden.
Die übertragenen Daten würden aus der Position jedes Spielers, der Richtung, der Geschwindigkeit usw. bestehen. Die Spielerbewegungen sind einfache Kraftphysik, daher sollte ich in der Lage sein, Bewegungen vor dem nächsten Update vom Server zu extrapolieren.
Irgendwelche Tipps oder Best Practices auf der Kommunikationsseite? Ich denke, Web-Sockets sind der richtige Weg. Sollte ich Informationen in jedem Durchgang der Spielschleife oder in festgelegten Intervallen senden? Es macht mir auch nichts aus, wenn es mit älteren Browsern nicht funktioniert.
quelle
Ich würde vorschlagen, die Dinge auseinander zu halten.
In Stendhal, einem in Java geschriebenen 2D-MORPG, haben wir Folgendes getan und es funktioniert ganz gut:
Die Kommunikation zwischen Client und Server erfolgt über Aktionen und Wahrnehmungen:
Wir haben einige "Tricks" gemacht, um zusätzliche Leistung zu erzielen:
quelle
Verwenden Sie socket.io , eine praktische WebSockets-Abstraktionsbibliothek, die Fallbacks für Browser bietet, die dies nicht unterstützen.
Wenn Sie sich für ein solches Online-Modell entscheiden, würde ich empfehlen, die Spielverarbeitung auf den Server zu verschieben. Auf diese Weise müssen Sie nur grafische Änderungen und Maus- / Tastatureingaben kommunizieren. Es hilft auch einiges, um Betrug zu verhindern.
quelle