Netzwerk Position updaterate
Übersicht

![]() |
MaTrixCruiserBetreff: Netzwerk Position updaterate |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Timer = millisecs()
if millisecs() - Timer > MILLISEKUNDEN then SchickDaten() ? |
||
www.legacy.de |
![]() |
MaTrixCruiser |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Shark |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group