AGB  ·  Datenschutz  ·  Impressum  







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

"ReSyncronisierung"

Ein Thema von RedShakal · begonnen am 7. Jul 2009 · letzter Beitrag vom 7. Jul 2009
 
RedShakal
(Gast)

n/a Beiträge
 
#1

"ReSyncronisierung"

  Alt 7. Jul 2009, 11:12
Hallo, ich habe mit meinem Programm mittlerweile erhebliche Fortschritte gemacht, habe allerdings eine Frage.
Da das Spiel sehr alt ist, neigt es manchmal dazu bei einem Multiplayer Spiel Asyncron zu werden. Das bedeutet irgentein Spieler hat durch einen Lagg oder einen Programmfehler andere Werte im Speicher wie alle anderen, was dazu führt das das Spiel für diesen Spieler nichtmehr richtig läuft. Gebäude tauchen aus dem nichts aus, Einheiten spawnen wilkürlich usw.

Nun die Idee:

ein Resyncronisierungsprogramm schreiben.

die Theorie:

Eine Procedur erstellen die vom Host sämtliche Adressen im bereich von bsp. 0050000 bis 0080000 ausliest und an die Clients schickt.
Diese werten das ganze aus und tragen es entsprechend in den Speicher ein. In der Theorie sollte das Spiel dadurch wieder Syncron werden.

Leider wirft dieser Gedanke Fehler auf. Einzelne Adressen Syncronisieren wie Geld usw stellen kein Problem dar.
Einheitenpositionen aber leider schon. Da die einheiten Positionen in einer dynamischen Adresse stehen, die sich bei jedem Start ändert. Wenn ich die oben genannte Idee umsetzen würde, würde das Spiel vermutlich Crashen, da ja auch Werte die SpielerID und SpielerFarbe usw mitgeändert werden würden. Ausserdem weiß ich nicht genau ob die Position von Einheit 1 bei Spieler 1 die selbe Adresse hat wie die gleiche Spieler 4 z.b.

Relevant sind in diesem Fall wirklich nur Positionen der Einheiten, Geld ( Statisch ), Anzahl der Einheiten und die zugehörigkeit,
Als Ziel wird der Host genommen zur Syncronisierung.

Hat jemand eine bessere Idee wie man dies am besten Realisieren könnte? Die Positionen sind leider ja dynamisch da man ja immer Einheiten nachbauen kann.

Ich habe auch schon überlegt die "Savegame" funktion aus dem Singleplayer so zu Manipulieren das er evtl ein Multiplayer Savegame anlegt.

Hat jemandzufällig eine gute idee?

PS: Ich weiß das es schwer werden wird
  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 23:54 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