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
Antwort Antwort
RedShakal
(Gast)

n/a Beiträge
 
#1

"ReSyncronisierung"

  Alt 7. Jul 2009, 12: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
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#2

Re: "ReSyncronisierung"

  Alt 7. Jul 2009, 13:08
Vergiss diese Idee am besten sofort wieder, auf diese Art kannst du das Programm nur zum Absturz bringen.
Entweder du änderst am Grundkonzept des Datenaustauschs etwas oder du lässt es.
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#3

Re: "ReSyncronisierung"

  Alt 7. Jul 2009, 14:26
Ich kann das Grundkonzept nicht ändern, weil das Spiel von 1998 ist und ich den Quellcode nicht habe.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#4

Re: "ReSyncronisierung"

  Alt 7. Jul 2009, 17:22
Welches Game?

für viele Games gibt es inoffizelle Patch oder Remakes.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#5

Re: "ReSyncronisierung"

  Alt 7. Jul 2009, 18:48
Das alte Spiel KKND2 jedoch gibt es dafür weder ein Remake noch einen Patch
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

Re: "ReSyncronisierung"

  Alt 7. Jul 2009, 20:21
Patch gibt es:
http://melbournehouse.kknd2.com/patch.html
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#7

Re: "ReSyncronisierung"

  Alt 7. Jul 2009, 20:54
Der Patch bringt mich nicht wirklich weiter

1. Ist Melbourne Haus seit vielen Jahren pleite und die Links sind defekt
2. Spielen wir seit vielen Jahren mit dem Patch
3. Möchte ich es selber machen
  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 20:22 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