DogFight - Multiplayer

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

hm ... heißt das jetzt, das bei allen deiner 3 versuchen die Spieler unterschiedlich schnell waren?

dedicated server hab ich jetzt mal schnell bei Wikipeda nach geschaut, was det ist /:-> ...

da würds vermutlich sinnvoller sein ... aber ich glaub jeder müsste für sich die Vorteile und Nachteile eines Threads auflisten, wenn er es ohne Programmiert. Oder du könnteste ja auch ne Liste mit vor und Nachteilen für Threads in diesem Bereich der Multiplayerspiele machen :D
Oder wir das ganze zu OffTopic?

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
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 »

So, ich habe mal ne neue version hoch geladen. In der 2 Player version sind nun die Control Tasten zum schießen da und alles bewegt sich in relation zu den FPS.


Die Netzwerk Teile habe ich auch noch mal durchsucht und da tatsächlich ein Delay(1) gefunden. Das hatte den Sinn im Windowed Modus nicht die 99% prozessor auslastung zu haben, von daher sehr sinnvoll wenn man netzwerk geschichten auf einem Rechner testen will dann laufen die nämlich sehr smooth.

Ich habe also das Delay entfernt und auf Vollbild geschaltet, und siehe da über LAN läuft alles sehr flüssig. Ich vermute sogar das jeder Schuss korrekt übertragen wird.
Im Moment übernimmt der HOST noch nicht die Aktualisierung der Schüsse sondern jedes Programm macht das für sich selbst. deshalb ist es auch wichtig das die Auslösung des Schusses möglichst Zeitnah ist.

Ich werde es aber dennoch noch mal umschreiben das der Host alles managed, wenn das klappt mache ich evtl noch ne 3 player version oder gar 4 <g> mal schauen.

Ist der selbe Download Link, achja netzwerk kann man jetzt leider wirklich nur noch über Net oder Lan testen :(

Download Neue Version

Greetz Epyx
If you can't make it good, at least make it look good.
Bill Gates
orange-blue
Beiträge: 556
Registriert: 04.09.2004 22:23
Kontaktdaten:

Beitrag von orange-blue »

Code: Alles auswählen

 nur dann waren die Spieler immer unterschiedlich schnell.
Mann muss eben die Server und Client synchronisieren(per zeitdifferenz z.b.)

Mit den Threads könnte man das so handeln dass, der netzwerk-Thread immer direkt von fps abhängt(weis nicht ob Epyx das vielleicht eh schon so gemacht hat siege:

Code: Alles auswählen

alles bewegt sich in relation zu den FPS.
)
Ich habe also das Delay entfernt und auf Vollbild geschaltet, und siehe da über LAN läuft alles sehr flüssig
Stimmt! Im Fenstermodus läuft immer alles langsamer!
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Mich stört nur eine kleine Sache, man kein seine eigenen Schüsse wieder einholen :freak:. Hab mich so selbst vom Himmel geholt o_O.
Bild
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 »

@Furz
Mich stört nur eine kleine Sache, man kein seine eigenen Schüsse wieder einholen Freak. Hab mich so selbst vom Himmel geholt o_O.
Huh wie meinst du das?? Du überholst auf einer geraden Linie deine eigenen Schüsse, oder wie??? Oder meinst du das die zb. einem Rundflug abgeschossenen Kugeln auf der anderen Bildschirmseite wieder herrein kommen und dich so treffen?!
Das war im Original auch so, ich habe das nur übernommen. Die Kugeln sind immer um das 5 Fache schneller als das Flugzeug, egal wie schnell es fliegt.


@Orange
Mit den Threads könnte man das so handeln dass, der netzwerk-Thread immer direkt von fps abhängt(weis nicht ob Epyx das vielleicht eh schon so gemacht hat siege:
Ich benutze dafür keine Threads, ich halte sie in so einem simplen Spielchen auch nicht für sinnvoll. Bei einem Spiel das sehr aufwendige Berechnungen tätigt vermute ich macht ein extra Thread sinn aber nicht bei einem Spiel das nur ein paar Positionen aktualisiert.
Bei mir liegen die Netzwerk Befehle inmitten der Hauptschleife. Wenn der Host alle Positions Berechnungen durchführt und sie dann überträgt kann das Spiel eigentlich nicht mehr asyncron laufen, weil der Client höchstens komplett stehen bleiben kann oder stark ruckelt.

Stimmt! Im Fenstermodus läuft immer alles langsamer!
Nunja wie gesagt ich hatte den Delay(1) nur wegen der 99% auslastung im Windowed Modus, wenn man dann 2 Programme startet die 99% auslastung haben ruckelt es auch. Mit dem Delay lag die Auslastunge beider Programme nur noch bei 8%
If you can't make it good, at least make it look good.
Bill Gates
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

btw:
ich würde statt mehrbuchstabiger kennbegriffe einfach kennbytes verwenden,
würde die interpretation vereinfachen und beschleunigen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Ich habe mich etwas durch das Spiel gelenkt und wurde dadurch etwas schneller. Danach habe ich geschossen und mein Flugzeug hat in den Wolken die Schüsse wieder eingeholt.
Bild
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Hi Epyx,

Die Grafiken sind richtig schön geworden, besonders das Menübild mit dem Sonnenuntergang sieht genial aus. Leider werden die Wolken fehlerhaft dargestellt. Nur im Window-Mode mit einer Desktop-Farbtiefe von 16-Bit wird komischerweise bei mir alles korrekt dargestellt. Hier meine kleine Testtabelle:

Windowmode 16-Bit: alles OK
Windowmode 32-Bit: Wolken fehlerhaft
Fullscreen 16-Bit: Wolken fehlerhaft
Fullscreen 32-Bit: Wolken fehlerhaft:

Bild

Schießen ist zwecklos. Scheinbar ist der Schuss langsamer als das Flugzeug und man trifft sich sofort selber, nachdem man einen Schuss abgegeben hat. Auch ist der Flugradius der Flugzeuge enorm groß. Wenn ich einen Kreis fliege, so ist der Durchmesser so groß, dass ich oben und unten aus dem Sichtbereich fliege.

So viel zu den Dingen, die mir aufgefallen sind (solltest du dem Test auf meiner alten PC-Kiste Aufmerksamkeit schenken :-)). Sonst bestimmt ein klasse Spiel, habs noch nicht über Netzwerk getestet, mach ich aber noch....
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 »

Huch wie alt ist deine Kiste bzw. deine GFX Karte denn?? Auf meinen 3 Rechnern (GF4 440MX, GF2 MX und Radeon 9600pro) funktioniert die Grafik.
Sind ja auch keine großen Tricks, ein paar simple Blending Modes 5,7 .

Netzwerk kannst du vergessen, das bei liegende Beispiel ist mehr als asynchron. Ich habe es jetzt umgeschrieben das permanent alle Positionen inkl. max 12 Schüsse übertragen werden doch leider ruckelt das ergebnis auf dem P2 350 mhz. starte ich den Client bei mir 2.4 ghz ruckelt gar nix SNIEF. :(
Muss also noch ein bischen drüber grübeln, vieleicht nur alle 10 sek jede pos übertragen den Rest der Bewegung evtl. interpolieren lassen.


Übrigens das Spiel das ich meine ist original von c64 und heißt Super Dogfight. So einfach es auch aussieht, es hat nen heiden spaß gemacht :)
http://www.lemon64.com/games/details.php?ID=3727
If you can't make it good, at least make it look good.
Bill Gates
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Es ist ein AMD mit 350MHz und einer Matrox G200 mit 8MB Grafikspeicher http://www.matrox.com/mga/products/tech ... gag200.cfm. Scheinbar werden ja die Wolken richtig dargestellt, nur die letzte Schicht scheint schwarz zu sein. Komisch nur, dass es im 16-Bit-Desktop-Modus einwandfrei funktioniert.

Noch ein paar Ideen: Vielleicht solltest du den Sichtbereich noch etwas größer machen. Man fliegt zu viel im Blindflug. Und beim Zusammentreffen beider Flugzeuge würde ich einen Crash auslösen. Schließlich fliegen ja beide Flugzeuge in einer Ebene...
Antworten