Ich habe über die Feiertage an einem kleinen (simplen) spielchen geschrieben, das einige von den älteren hier evtl auch vom C64 her kennen. Es heißt DogFight (auch am C64) und es ist ein Spiel in dem 2 Spieler mit einem Flugzeug herrum fliegen und sich gegenseitig beschießen können.
Ich habe nun versucht über die PB Netzwerk befehle auch eine Lan version zu integrieren. Habe es eigentlich auch geschafft doch leider sind diese Befehle arg Langsam oder ich kenne noch nicht die richtige Methode um sowas zu Programmieren.
Dogfight the Game
Im ZIP sind 3 versionen, einmal die 2 Spieler auf einem PC version die fast alle Grafiken enthält die im Spiel vorgesehen sind. Gesteuert wird dort über folgende Tasten...
1 Spieler________
Cursor Rechts und Links - verändert den Winkel des Roten Flugzeugs
Rechtes Shift - Feuert einmal
2 Spieler________
Taste A und D - verändert den Winkel des blauen Flugzeugs
Linkes Shift - Feuert einmal
Dann gibt es eine HOST und eine CLIENT version des Spiels, den Host einfach starten und auf Client warten. Beim Client die IP des HOST eingeben und dann Client starten.
Wenn beide sich verbunden haben wartet der Host darauf das der Client einmal ENTER drückt und damit signalisiert das er bereit ist. Das gleiche muss der Host auch tun und damit beginnt das Spiel.
Da beide versionen nur Testversionen sind gibt es hier kein wirkliches Spielziel (abschuss des gegners).
Das Problem ist nun das Spiel wird asyncron sobald ein paar schüsse fliegen. Der Host überträgt zum Server den Winkel und die X und Y Pos des roten Flugzeugs und die X und Y Pos den blauen Flugzeugs und wenn der Host schießt auch den Befehl zum schießen.
Der Client übertägt zum Host nur den Winkel des Flugzeugs und einen Befehl zum schießen.
Anfangs habe ich die Positionen der Schüsse (max 12) auch mit übertragen, doch leider wurde das Spiel dadurch sehr langsam bzw. ruckelte es. Jetzt ist es so das wenn einer schießt nur noch das Signal übertragen wird das die andere Seite geschossen hat.
Doch leider verschwinden da hin und wieder ein paar Informationen, so das die andere Seite anscheinend gar nicht mit bekommt das da jemand schiessen wollte

Hat jemand ne Idee wie man sowas programmieren könnte?? Ich meine ich weiß TCP/IP gilt als langsam dennoch läuft zb. Age of Empires oder C&C auch mit TCP/IP schnell genug um Positionen von sehr vielen Einheiten zu übertragen.