Netzwerk Position updaterate

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

MaTrixCruiser

Betreff: Netzwerk Position updaterate

BeitragSo, Jul 23, 2006 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Also
Ich hab es nun hinbekommen per TCP nen minni spiel zu machen.
Der client connected zum server. Später schickt der client die postionsdaten an den server, und der schickt die weiter an die anderen clients.

Nun functioniert das schon ganz gut. Damit aber eine fließende bewegung entsteht sollte man schon eine hohe updaterate der postion haben. Dies wird dann aber denk ich mal zu viel zu für den server.

Wie kann ich bandbreite schonen?
Und sollte ich vllt zwischen werte der postion errechnen lassen? (interp)

der postions string heißt : "/pNAME;X-POSTION;Y-POSITION,Z-POSITION
Amd 64 3200+ (939 winchester)
nvidea 6600gt (PCI-E)
1024 ddr400
200GB HDD
S
 

Virus

BeitragSo, Jul 23, 2006 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Timer = millisecs()

if millisecs() - Timer > MILLISEKUNDEN then SchickDaten()


?
www.legacy.de

MaTrixCruiser

BeitragSo, Jul 23, 2006 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
dann wird aber die bewegung nicht flüssig, sondern die Player zucken ein wenig
Amd 64 3200+ (939 winchester)
nvidea 6600gt (PCI-E)
1024 ddr400
200GB HDD
S

Hummelpups

BeitragSo, Jul 23, 2006 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt die Interpolationsmöglichkeit, die du einmal so einbauen kannst,
das der Spieler an P1 steht und du einen neuen Punkt bekommst (P2)

Nun kannst du den Spieler bewegen lassen von P1 nach P2, hierbei ist
zu beachten, das der Spieler so immer mindestens einen Punkt verspätet
angezeigt wird. Ist bei Beispielsweise Rollenspielen nicht sonderlich schlimm.

Bei Actionspielen würde ich ein ähnliches Prinzip anwenden und die Rotation
des Spielers senden, der Server interpoliert dann aus Geschwindigkeit des
Spielers und richtung seine Positionsdaten. Seine wirklichen Daten werden
dann nur 1 mal die Sekunde gesynct.

Es gibt massenhaft Verfahren wie man dieses Problem lösen
könnte.

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

MaTrixCruiser

BeitragDi, Jul 25, 2006 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Also die latenz sollte nicht stark steigend. und der server sollte nicht übermäßig mehr zu tuen haben.
Aber ich danke schon mal.. werd versuchen sowas ein zu bauen.
Amd 64 3200+ (939 winchester)
nvidea 6600gt (PCI-E)
1024 ddr400
200GB HDD
S

StepTiger

BeitragDi, Jul 25, 2006 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich rate, es wie bei richtigen spielen zu machen

richtung übertragen, schauen ob er läuft und genau so bewegen
nur alle halben sekunden schauen, ob die position korrigiert werden muss
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Shark

BeitragDi, Jul 25, 2006 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich würde alle 25 - 30 ms die Daten senden! Dann kommt es sehr flüssig rüber.
Außerdem würde ich alle Bytes,Shorts usw. in eine Bank speichern und senden. Dadurch wird die Bandbreite kleiner da bei Blitzbasic bei tcp der header ca 25 bytes groß ist. Bei einer Bank würde der Header nur einmal vorkommen.

Falls du nicht weißt was ich mit Bank meine hier ein Theard!
https://www.blitzforum.de/foru...hp?t=19028

mfg Shark

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group