Hallo!
Erstmal danke für die vielen Antworten. Ich hab mir jetzt die Tutorials von FalkT durchgelesen, sie haben mir beim Verständnis von Netzwerkprogrammierung sehr weitergeholfen.
Leider häng ich beim Design meines Spiels weiterhin, vielleicht könnt ihr mir ja helfen:
Da das Spiel ja Tilebasiert ist, kann man sich immer nur 1 Tile fortbewegen (ich glaube dieses System ist um einiges leichter zu implementieren, als wenn man sich pixelweise fortbewegen kann, oder?
Diese Bewegungen basieren auf den Characterspeed der in msec angegeben ist.
Schickt mir ein Client ein Moverequest, wird der Character sofort auf das nächste Tile gesetzt. Für den Server spielt der speed also nur eine Rolle, wenn sich der Spieler ein weiteres mal bewegen will, denn dann wird überprüft ob zb. 1000msec seit der letzten Bewegung vorbei sind, oder nicht.
Der speed spielt allerdings auch eine Rolle für alle anderen cients, denn der speed steht ja in Relation zur bewegungsanimation.
Wo ich jetzt aber noch immer hänge ist folgendes:
Client A sendet Moverequest an server, der server gibt diese information nun an alle anderen clients die wissen müssen dass sich dieser spieler bewegt und setzt ihn dann auf das nächste Tile.
Nun ist seit dem ersten Moverequest und das versenden der information schon etwas zeit vergangen, d. h. dass Client A schon etwas mit der Animation vorne ist. Wie genau kompensiere ich jetzt diesen Zeitverlust?
Kann ich auf irgendeine Art und Weise erfahren, wieviel Zeit seit dem Moverequest vergangen ist? Denn wüsste ich den Zeitverlust könnte ich einfach die Bewegungsanimation bei den anderen clients etwas schneller machen.
Bzw. Event state system:
Das würde doch heißen ich bekomm ein event wie zb. das moverequest und schicke solange an die anderen clients informationen wo die animation gerade sein soll, bis die bewegung vorbei ist, oder?
Wenn ich das richtig verstehe würde dieses system aber total auslastend für den server sein. Nehmen wir an es gibt 30 spieler und an all diese müsste ständig diese informationen über derzeitige position gesendet werden?