TT-MS Headquarters

Normale Version: Gleiches Savegame, jedoch Unterschiedliches Aussehen in Singleplayer und Multiplayer
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallöchen, folgendes komisches Problem plagt mich:
Spiele zurzeit die USA-Map von myfineshrine.

Wenn ich mein Savegame im Singleplayer lade sieht es wie folgt aus:

[attachment=2387]

Lade ich das gleiche Savegame dann im Multiplayer, sieht es auf einmal so aus:

[attachment=2388]

Was ich meine, sind die unterschiedlich aussehende Straßen und Tunnelportale. Hat jemand eine Erklärung dafür?
Hmm... wenn ich das richtig sehe, sind das die beiden unterschiedlichen Zeitstufen aus TTRS, im Singleplayer sieht man die neuen Straßen, im Multiplayer die alten. Vermutlich kann man das irgendwo auf der Konsole zurücksetzen, aber frag' mich bitte nicht, wie...
Das ist ein Desync-Schutz im Multiplayer-Code.

Das GRF macht unterschiedliche Dinge je nach Datum, an dem es aktiviert wurde. Bei Single-Player ist das das Datum, an dem der Spielstand geladen wurde, aber im Multiplayer ist das das Datum, an dem das Spiel gestartet wurde, weil es nicht sein kann, daß Leute, die später dem Spiel beitreten, anderes Verhalten haben.

PS: TTRS hat Parameter, mit denen man die Straßen einstellen kann, dann hängen sie nicht mehr vom Datum ab.
(15.04.2010 17:54)Eddi schrieb: [ -> ]Das ist ein Desync-Schutz im Multiplayer-Code.

[...] weil es nicht sein kann, daß Leute, die später dem Spiel beitreten, anderes Verhalten haben.

PS: TTRS hat Parameter, mit denen man die Straßen einstellen kann, dann hängen sie nicht mehr vom Datum ab.

Was hat denn das Aussehen, mit dem Verhalten zu tun? Ob die Straße nun grün-weiß gepunktet ist, oder lila, sie verhält sich doch immernoch wie eine Straße...

Die Parameter scheinen keinen Effekt auf den Multiplayer zu haben... Traurig
(15.04.2010 21:15)jakob900 schrieb: [ -> ]
(15.04.2010 17:54)Eddi schrieb: [ -> ]Das ist ein Desync-Schutz im Multiplayer-Code.

[...] weil es nicht sein kann, daß Leute, die später dem Spiel beitreten, anderes Verhalten haben.

PS: TTRS hat Parameter, mit denen man die Straßen einstellen kann, dann hängen sie nicht mehr vom Datum ab.

Was hat denn das Aussehen, mit dem Verhalten zu tun? Ob die Straße nun grün-weiß gepunktet ist, oder lila, sie verhält sich doch immernoch wie eine Straße...

Die Parameter scheinen keinen Effekt auf den Multiplayer zu haben... Traurig
Es geht da einfach nur darum, mit welchen Werten der "Zufallsgeneraor" gefüttert wird.
Damit die Straßen nicht in jedem Spiel am 1. Januar 1960 umgebaut werden, gibt es eine gewisse Zeitspanne, die die der Autor in der grf-Datei vorgibt. Das trifft beispielsweise auch auf die Neueinführung von Fahrzeugen zu. Da OpenTTD aber schwierig erkennen kann, was da nun Datumsabhängig passiert, und das Handhaben von zwei verschiedenen Zufallswerten schwierig wäre, werden alle Zufallsereignisse im Multiplayer an den Spielstart gekoppelt, um ein faires Spiel zu ermöglichen.
(15.04.2010 21:15)jakob900 schrieb: [ -> ]Was hat denn das Aussehen, mit dem Verhalten zu tun? Ob die Straße nun grün-weiß gepunktet ist, oder lila, sie verhält sich doch immernoch wie eine Straße...

Das Problem ist aber, daß OpenTTD nicht erkennen kann, was nun durch dieses Datum geändert wird. Es kann eine Straße sein, oder aber eine Geschwindigkeitsbegrenzung auf Brücken, oder die Eigenschaften eines Fahrzeuges.

Da das nicht festgestellt werden kann, wird das pauschal für alle Änderungen gemacht, die vom Datum abhängen. Wichtig ist, daß alle Mitspieler im Multiplayer dieselben Werte haben.

@pETe!: das mit dem Zufallsgenerator ist hier eher zweitrangig, der wird von OpenTTD nur dazu benutzt, zu prüfen, ob das Spiel noch synchron läuft. GRFs können selbst keine Zufallsereignisse auslösen.
Das Datum für die Änderung der Geschwindigkeit einer Brücke wird aber doch (pseudo-)zufällig ausgewählt?
Nein, an Brücken ist gar nichts zufällig. Es geht hier um GRF-Actions die beim Laden des GRFs ausgeführt werden, Action 6 [ändere die folgende Aktion], Action 7/9 [überspringe die folgende Aktion] oder Action D [setze/ändere einen Parameter]. Die können auf bestimmte Variablen zugreifen, hier zum Beispiel das aktuelle Datum, und dann die Auswirkungen des GRFs beeinflussen. Diese Aktionen müssen für alle Mitspieler exakt auf die gleiche Weise ausgeführt werden, unabhängig vom Datum, an dem sie dem Spiel beitreten, deswegen darf dort nicht das aktuelle Datum benutzt werden.
Referenz-URLs