Ich habe schon ein wenig Spielnetzwerkcodierung durchgeführt, aber hauptsächlich mit TCP für Spiele ohne Echtzeitbedarf. Ich arbeite an einem 2D-Java-Spiel mit vernetztem Multiplayer. Zum Lernen möchte ich dies selbst tun, ohne eine vorhandene Netzwerk-API.
Wie kann ich den Spielstatus, der von einem Server an Clients gesendet wird, effizient darstellen? Es gibt die naheliegendste, aber wahrscheinlich am wenigsten effiziente Möglichkeit, eine Art Spielstatus-Kontextobjekt mit dem Standort, dem Animationsstatus usw. jedes Spielers zu erstellen und dieses bei jedem Update an jeden Spieler zu senden . Das scheint nicht besonders schwierig zu implementieren, wäre aber wahrscheinlich zu groß, um etwas in der Nähe der Echtzeitinteraktion zu erreichen (natürlich sind meine Erfahrungen damit begrenzt, so dass ich möglicherweise falsch liege).
Gibt es eine solide Methode, die einer von Ihnen zuvor verwendet hat, um nur Zustandsänderungen zu übertragen, und gibt es sogar eine ausreichend große Leistungsunterschiede, die die zusätzliche Arbeit wert ist?