Ich recherchiere nur ein bisschen nach Technologien für ein mobiles Multiplayer-Spiel.
Derzeit ist es eher ein Experiment, daher müssen sich die Spieler im Moment nur der anderen Spieler bewusst sein.
Wenn dies eine typische Webanwendung und kein Spiel wäre, müssten immer nur HTTP-Anforderungen gesendet werden - aber da dies ein Spiel ist, werden Leistung und Genauigkeit ein Problem sein.
Da das Spiel auf mehrere Telefonplattformen abzielt, wird der Client beispielsweise in JavaScript oder einem auf JavaScript basierenden Framework geschrieben. Die Servertechnologie ist völlig offen.
Jeder Spieler muss das Äquivalent eines HTTP-Posts erstellen und nur ein schnelleres Protokoll verwenden. Der Grund dafür, dass Multiplayer webbasiert sind, liegt darin, dass Multiplayer über Bluetooth oder ein anderes lokales Netzwerk auf den verschiedenen Plattformen zu unterschiedlich sind und Probleme verursachen können.
Die Frage ist also, welches Protokoll / welche Technologie für den JavaScript-Mehrspielermodus geeignet ist. Irgendwelche Ratschläge auf der Serverseite oder spielt es eine Rolle? Gibt es einen Grund, warum ich diese zweistufige Architektur fallen lassen und eine direkte Telefon-zu-Telefon-Verbindung wählen sollte?
quelle
Sowohl die Frage als auch die akzeptierte Antwort wurden 2011 veröffentlicht und die Zeiten haben sich seitdem ziemlich geändert :)
Websockets sind weit verbreitet, aber eine noch bessere Technologie ist WebRTC, die unzuverlässige UDP-Streams zulässt. Diese sind viel, viel besser für Spiele.
Abgesehen von der Kommunikation sind beim Schreiben von Multiplayer-Spielen noch viele andere Hindernisse zu überwinden, wie z. B. Spielstatusabgleich, clientseitige Vorhersage, Serialisierung und viele andere.
<shameless self promotion>
Ich bin einer der ursprünglichen Entwickler von lance.gg , einem Multiplayer-Spieleserver / einer Multiplayer-Spielebibliothek basierend auf node.js, bei dem wir viele der genannten Probleme gelöst haben (und viele andere!). Unser Ziel ist es, JavasScript-Spielentwicklern die Entwicklung von Multiplayer-Spielen zu erleichtern. Ich lade Sie herzlich ein, es als Ausgangspunkt für Ihr Spiel zu verwenden.
</shameless self promotion>
quelle
Überprüfen Sie dies:
quelle