AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WinSock geruckel

Ein Thema von sk0r · begonnen am 26. Jun 2009 · letzter Beitrag vom 26. Jun 2009
Antwort Antwort
sk0r

Registriert seit: 1. Mai 2007
181 Beiträge
 
Delphi 7 Enterprise
 
#1

WinSock geruckel

  Alt 26. Jun 2009, 18:17
Hallo,

ich benutze WinSocks für Netzwerkunterhaltung.
Damit habe ich den Austausch eines Space-Shooters programmiert.

Das Problem nun ist, dass der Client nicht flüßig fliegt, sondern ruckelt...
Das Problem habe ich bei UDP und TCP (nonblocking). Was kann das sein?
Die Daten kommen zwar an, aber es ruckelt.

MfG: sk0r
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#2

Re: WinSock geruckel

  Alt 26. Jun 2009, 18:25
Ich habe auch mal ein kleines Multiplayer-Spiel in ActionScript (Flash) gebaut, wobei die Kommunikation der Clients über einen Zentralen Server stattfindet. Da hatte ich auch dieses Problem. Die Lösung dazu liegt für dich eventuell hier:

http://www.gamedev.net/reference/art...article914.asp

Das Thema ist (imo) nicht das einfachste, aber das müsste ein Schritt in die richtige Richtung sein.
Übrigens: Ich habe angefangen, das in mein Spiel zu implementieren, es war am Ende schon besser, zwar noch nicht optimal, aber ich musste die Arbeiten leider unterbrechen und kam seit dem nicht dazu, weiter zu bauen..
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
JanW

Registriert seit: 5. Jun 2009
8 Beiträge
 
Lazarus
 
#3

Re: WinSock geruckel

  Alt 26. Jun 2009, 18:33
In welchem Zeitabstand sendest du die Positionsdaten?
Eine Interpolierung ist die sinnvollste und einzige Möglichkeit. Man braucht aber nicht gleich Cubic Spines für den Anfang und irgendwelche Extrapolierungsalgorithmen wenn das ein eher einfaches und erstes Projekt in der Richtung ist.

Interpolierung heisst dass der Client das rendert was zwischen zwei Paketen passiert. Dadurch ist zwar der Ablauf etwas verzögert, wenn du aber in 25ms Abständen sendest merkt man das nicht.
Hab schon in einigen Foren Anfänger gesehen die jedes Frame eine Nachricht losschicken, das ist natürlich mehr als suboptimal. Mit TCP erst recht.

Gruß,
Jan
Jan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz