DogFight - Multiplayer

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

DogFight - Multiplayer

Beitrag von Epyx »

Hi,
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.
If you can't make it good, at least make it look good.
Bill Gates
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

nicht schlecht :mrgreen: nur könntest du die Feuer Taste von Shift auf Strg legen ? Unter WinXP gibt es diese blöde Einrast funktion und wenn Windows das Fenster minimiert stürzt das Spiel ab :(
Bild
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: DogFight - Multiplayer

Beitrag von GPI »

Epyx hat geschrieben: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.
Sicher, das die nicht udp nehmen?
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

Beitrag von Epyx »

@GPI
Nun sicher bin ich mir natürlich nicht, aber speziell beim AOE kann man TCP/IP als Protokoll Anwählen um das Spiel damit zu Spielen.


@Furz
Habe ich nicht bedacht, werde ich ändern, in der Host und Client version schießt man mit Space (habe ich vergessen zu erwähnen)
If you can't make it good, at least make it look good.
Bill Gates
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Nunja, mal abgesehen davon, dass es das Spiel schon lange auch für WinXP gibt unter dem selben Namen find ich die Grafiken gut.

Wegen dem TCP/IP Problem: Das ist nur für Strategie-, MMORPG-, Brett- und Adventurespiele zu gebrauchen. Bei Shootern bringt das nur etwas, wenn man Beispielsweise ein IRC Chatsystem einbaut. Ich glaub das ist einfach so :cry: . Hab ja auch schon viel experimentiert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Unter WinXP gibt es diese blöde Einrast funktion

... die man abschalten kann.

Grüße ... Kiffi
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kiffi hat geschrieben:> Unter WinXP gibt es diese blöde Einrast funktion

... die man abschalten kann.

Grüße ... Kiffi
Nö, geht nicht, der Requester kommt immernoch.
Ahh doch in den Einstellungen ganz weit hinten.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
orange-blue
Beiträge: 556
Registriert: 04.09.2004 22:23
Kontaktdaten:

Beitrag von orange-blue »

Also mir persöhnlich sind die Flugzeuge zu schnell, und dazu diese wolken, das ganze verwirrt ein bisschen.
Die Schießtaste würd ich trotzdem wo anders hinlegen, beim Laptop is das nämhkich ziehmlich blöd.
zur Netzwerkversion:
Du kannst solltest mal versuchen die ganzen netzwerk sachen in einem Thread zu stecken und dem eine geringere Priorität setzten, dann läuft (vielleicht) das spiel schneller. Find ich aber trozdem komisch.
Hab mal eine MP fürs windows Solitär gemacht, und da is mir das nicht so langsam vorgekommen.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

DarkDragon hat geschrieben:Ahh doch in den Einstellungen ganz weit hinten.
Ich schau dann nochmal nach. Ich dachte alles abgesucht zu haben :?

edit: Ah, habs :D
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

orange-blue hat geschrieben:Also mir persöhnlich sind die Flugzeuge zu schnell, und dazu diese wolken, das ganze verwirrt ein bisschen.
Die Schießtaste würd ich trotzdem wo anders hinlegen, beim Laptop is das nämhkich ziehmlich blöd.
zur Netzwerkversion:
Du kannst solltest mal versuchen die ganzen netzwerk sachen in einem Thread zu stecken und dem eine geringere Priorität setzten, dann läuft (vielleicht) das spiel schneller. Find ich aber trozdem komisch.
Hab mal eine MP fürs windows Solitär gemacht, und da is mir das nicht so langsam vorgekommen.
:P Ich hab ein Notebook und bei mir sind die Tasten ganz ok und die Flugzeuge sind sau lahm.

Achja: Threads helfen bei Netzwerkspielen nicht.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten