Seite 3 von 5
Verfasst: 03.01.2005 21:43
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
Oder wir das ganze zu OffTopic?
MFG PMV
Verfasst: 03.01.2005 22:28
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
Verfasst: 03.01.2005 22:44
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:
)
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!
Verfasst: 03.01.2005 23:30
von MVXA
Mich stört nur eine kleine Sache, man kein seine eigenen Schüsse wieder einholen

. Hab mich so selbst vom Himmel geholt o_O.
Verfasst: 04.01.2005 00:04
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%
Verfasst: 04.01.2005 23:55
von Kaeru Gaman
btw:
ich würde statt mehrbuchstabiger kennbegriffe einfach kennbytes verwenden,
würde die interpretation vereinfachen und beschleunigen.
Verfasst: 05.01.2005 00:43
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.
Verfasst: 06.01.2005 00:01
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:
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....
Verfasst: 07.01.2005 00:59
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
Verfasst: 07.01.2005 09:02
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...