Multiplayer mit Network - Ruckelt

    Multiplayer mit Network - Ruckelt

    Hallo zusamman,

    ich programmiere gerade ein MPgame bei dem sich zwei Gegner gegenseitig bekämpfen sollen. Im Grunde ganz banal. Wenn ich es nun über zwei Rechner im LAN oder übers Internet spiele, beginnen die Figuren gelegentlich zu ruckeln, was bei einem direkt ausgeführten Kampf ein absolutes No Go ist.

    Zu meiner Programmierung: ich habe mir eines der hier zur Verfügung stehenden Tutorials als Vorbild genommen. Es gibt ein Server-Objekt und ein Client-Objekt (auf jeder Seite natürlich nur eines von beiden). Beide reagieren auf ankommende Nachrichten über das Network-Event. Während des Spieles werden folgende Infomationen versendet:

    x-Position, y-Position und die Richtung einer Figur.

    Erst wenn sich die Position einer Figur verändert, wird diese Information versendet, also nicht automatisch in jedem Step.

    Beobachte ich den Datenverlauf übers Internet handelt es sich um sehr kleine Datenpakete. Trotzdem geraten die Figuren auf dem Bildschirm relativ häufig ins Ruckeln und werden auffallend langsamer. Dies geschieht besonders dann, wenn sich beide Figuren gleichzeitig bewegen.

    Dies ist mein erstes MPgame. Daher bin ich noch Neuling auf dem Gebiet. Ich konnte hier leider keine Informationen finden, die über allgmeine Richtlinien für ein gutes MPgame aufklären. Woraf muss ich achten? Was kann man besser machen? Wo kann man etwas falsch machen?

    Ich arbeite über eine TCP/IP Verbindung, die auch problemlos funktioniert.
    Schau mal mit der fps_real variable oder mit draw_debug_overlay nach was die fps zu der zeit machen bzw wieviele drawcalls es gubt usw
    docs.yoyogames.com/source/dadi…g/show_debug_overlay.html

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
    Ich habe das Problem ausfindig gemacht. Die Wurzel des Übels lag mal wieder ganz woanders. Um zu beobachten, welche Daten wann abgeschickt werden, habe ich parallel dazu sämtliche Datenpakete in eine externe Textdatei ausgeben lassen. Das hat den Prozessor dann doch etwas überfordert jedenfalls mitten in einem Geschicklichkeitsspiel.
    Mit dem Abschalten dieser Funktion lief das Spiel tadellos.

    :headtouch: