Netcode

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Till

Betreff: Netcode

BeitragMo, Jan 05, 2004 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Jungs,



ich werkle schon seit einer ganzen Weile
an einem Multiplayer Puzzle herum.


Ich bin inzwischen SEHR weit und optimiere
nur noch am netcode herum. In Game übertrage
ich NOCH!!! 30mal pro sec die x,y coord. des
Mauszeigers der anderen 3 Spieler.

Nun möchte ich das ganze natürlich herunter
bringen und denke das ich da bewegungsinter-
polation brauche, wenn ich z.b. nur 10 mal
pro sec daten schicke.

Leider habe ich NULL ahnung was interpolation
angeht und wollte nachfragen ob jemand so etwas
coden kann ODER mir nen kleines Beispiel coden
könnte von dem ich lernen könnte.....

Bitte keine Englishen TUT's zwar bin ich recht
fit was englisch angeht aber ich habe schon
teilweise die Tuts von surial gelesen und null
kapiert
 

furbolg

BeitragMo, Jan 05, 2004 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso sendest du die Mauspositionen ? Send doch einfach wo welcher Spieler ein Ding erfolgreich plaziert hat.

Alpha

BeitragMo, Jan 05, 2004 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht möchte er den Mauszeiger den anderen anzeigen... ich fänd das nicht schlecht bei nem 3d puzzle
 

Till

BeitragMo, Jan 05, 2004 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
weil gerade das anzeigen der mauszeiger von den anderen spielern
das ganze so interessant macht!!!!



BITTE KEINE WEITEREN POST's dieser art das Game ist schon fertig
und das gameplay sehr weit entwickelt...ich möchte lediglich den netcode
besser machen und müsste wie oben getippt die mausbewegungen
interpolieren um so bandbreite zusparen.
 

furbolg

BeitragMo, Jan 05, 2004 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Lineare oder Quadratische Interpolation ?
 

Till

BeitragMo, Jan 05, 2004 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
tjo ich hab mir eben ne mini demo von verschiedenen methoden
angesehen...bei der demo war "Hermite_Interpolate" irgendwie die
beste methode für soetwas...jedenfalls sahen die kurven relativ
"natürlichaus"


wie gesagt ein großes problem finde ICH ist folgendes:

wenn ich z.b. 10 mal pro sek die x,y coor. der mauszeiger sende
müsste ja der andere Rechner (andere spieler) bis zum nächsten
packet die bewegung interpolieren ABER!! da müsste ja noch mit
timings gearbeitet werden...da ja die rechner nicht alle mit der selben
speed zb. rennt ein rechner mit 70fps und müsste in dieser zeit die
bewegung/strecke auf 70 frames verteilen. Genau so als wenn er
mit 30 fps laufen würde Smile

naja aber vieleicht habt ihr ja nen klareren kopf Wink hab nur mittlere reife Wink

DC

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragMo, Jan 05, 2004 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm so würde ich das dann machen (wobei man dadurch dann leider zusätzlich zum Ping noch eine Verzögerung hat):

Immer wenn eine neue Position reinkommt (alle 100ms) setzt du den Zeiger nicht auf diese Position sondern speicherst die aktuelle und die empfangene Position in Variablen.

Nun kannst du Anhand dieser 2 Positionen in den Variablen einfach Zwischenschritte berrechnen.Theoretisch geht das so:

Du nimmst die Distanz zwischen den beiden Positionen und dividierst sie durch die Anzahl der Schritte die du berrechnen willst (wieviele das sind hängt natürlich von den FPS und der Senderate ab). Dann addierst/subtrahierst du diese dividierte Distanz zur aktuellen Position (also brauchst du insgesamt 3 Positionsvariablen: die Position die beim Empfangen war, die empfangene Position und die aktuelle Position). Ob du addieren oder subtrahieren musst kannst du ermitteln in dem du einfach die größe der beiden Positionen vergleichst. Ist die empfangene größer musst du addieren, ansonsten subtrahieren. Das ganze musst du für X und Y seperat machen.

Ich hoffe das war jetzt halbwegs verständlich Wink
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com |
www.CarnageContest.com | www.Stranded3.com
 

Till

BeitragMo, Jan 05, 2004 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
dc: jo so etwas hatte mich mir auch schon überlegt....obwohl man dann
nur "gerade strecken" hätte sieht vieleicht etwas zu eckig aus...aber
ich werde das mal weiter bedenken.
 

Till

BeitragMo, Jan 05, 2004 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
nebenbei würde das nicht eigendlich extrapolieren sein was ich machen
will?!?!


bin total verwirrt Smile

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group