AGB  ·  Datenschutz  ·  Impressum  







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

OnlineSpiel ruckelt

Ein Thema von pendragon302 · begonnen am 13. Sep 2006 · letzter Beitrag vom 14. Sep 2006
Antwort Antwort
pendragon302

Registriert seit: 8. Sep 2006
5 Beiträge
 
#1

OnlineSpiel ruckelt

  Alt 13. Sep 2006, 10:41
Hallo zusammen.

Ich habe versucht ein PingPong Spiel fürs Internet zu programmieren, es klappt auch alles ausser, dass das Spiel beim gegenüber ruckelt und nicht so flüssig wie bei mir läuft.
Das Programm ist folgendermassen aufgebaut:

Es gibt zwei Softwaren, zum einen die Serversoftware, die benutze ich zum spielen und die Clientsoftware, die benutzt mein Gegner.

Die Serversoftware besitzt einen Timer der auf 20 gestellt ist, in jedem Zeitintervall werden an den Client die Position des Balles sowie die Position meines Schlägers und die momentanen Punktestände versendet. Die Position des Gegners wird auf der Clientsoftware ermittelt.

Die Clientsoftware sendet lediglich Signale OnKeyPress oder OnKeyUp Ereignisse auftauchen, dann sendet die Clientsoftware, welche Taste momentan betätigt wurde.

Für die Verarbeitung der Daten vom Server also Position des Balls usw. hab ich einen Buffer erstellt, der erstmal alle angegkommenen Daten speichert, und dann abarbeitet mithilfe einer Whileschleife.

Die Verbingung zwischen Client und Server erhalte ich mithilfe TServer-/TClientSocket Komponenten.

Leider ruckelt das Spiel wenn es online gespielt wird im gegensatz zum Lan, da läuft es relativ flüssig. Liegt es an der Verbindung? Der Server sendet ja lediglich einen String aus maximal 30 Zeichen, mehr nicht. Wenn ich den Timer einwenig runter setze dann läuft es ein wenig flüssiger, aber auch nciht erheblich. Wo ist der Fehler in meinem Konzept?
Bei Bedarf würde ich auch den Quelltext verschicken.

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: OnlineSpiel ruckelt

  Alt 13. Sep 2006, 10:54
Was habt ihr denn beide für eine Verbindung? Die 20ms in dem Timer sind ja nicht alles. Du kannst ja die IP deines Gegenüber anpingen und dann die Sendedauer abfragen. Wenn das zB 100ms sind ist das vielleicht der Grund für das Ruckeln.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: OnlineSpiel ruckelt

  Alt 13. Sep 2006, 11:01
Beim Internet hat man nun mal sehr lange Pingzeiten. Daher MUSS das ruckeln. Wenn man dem entgegenwirken will, kann es nur helfen, aus der aktuellen Richtung und Geschwindigkeit des Gegners eine wahrscheinliche Position zu interpolieren.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
pendragon302

Registriert seit: 8. Sep 2006
5 Beiträge
 
#4

Re: OnlineSpiel ruckelt

  Alt 14. Sep 2006, 22:04
Vielen Dank für die antworten, hab jetzt eine interpolation eingebaut bei den clienten, damit klappt es schon viel besser

Gruß
  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 14:01 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