AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Client/Server]: Timer und Latenz-Kompensation
Thema durchsuchen
Ansicht
Themen-Optionen

[Client/Server]: Timer und Latenz-Kompensation

Ein Thema von blackfin · begonnen am 20. Aug 2010 · letzter Beitrag vom 20. Aug 2010
 
blackfin
(Gast)

n/a Beiträge
 
#1

[Client/Server]: Timer und Latenz-Kompensation

  Alt 20. Aug 2010, 11:47
Mal wieder eine theoretische Frage von mir, ich brauche keinen Quellcode, sondern nur allgemeine Überlegungen, wie man so etwas praxistauglich mit Delphi-Bordmitteln umsetzen könnte:

Ausgangspunkt:
Ich habe einen Server und einen Client.
Nun kennt ja jeder von Spielen zum Beispiel folgendes:
Der Spieler will einen Zauberspruch casten, dieser braucht eine gewisse "Cast-Zeit", sagen wir mal 1,5 Sekunden.

Wie gehen professionelle Spiele mit so etwas um?
1) Wird der Timer für die Cast-Zeit nur Client-seitig gefeuert? Dann kann man den Client relativ leicht manipulieren.
2) Oder aber: Wird an den Server "Spieler will Zauberspruch x casten" gesendet, der Server erzeugt dann ein Timer-Objekt und feuert ein Event an den Client zurück, sobald die Zeit abgelaufen ist. Dann aber hätte man ein Problem mit der Netzwerk-Paket-Latenz und ggf. auch mit der Server-Auslastung, die man irgendwie kompensieren müsste.
3) Wird der Timer auf beiden Seiten erzeugt und dann vom Server synchronisiert? Auch hier das Latenz- / Auslastungs-Problem, das zu Verzögerungen führen kann. (Client ist mit dem Timer immer früher fertig als der Server)

Das gleiche gilt z.B. auch für Spieler-Bewegungen, die ja auch zwischen den Clients synchronisiert werden müssen.

Ich möchte jetzt diesbezüglich nicht die perfekte Lösung in Hinblick auf Genauigkeit der Timer, sondern Überlegungen und vielleicht sogar Erfahrungswerte, wie so etwas von bereits bestehenden Spielen in der Praxis gemacht wird.

Hat jemand von euch sowas schon einmal gemacht?

Geändert von blackfin (20. Aug 2010 um 11:54 Uhr)
  Mit Zitat antworten Zitat
 


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 15:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz