Factorio News - Freitag Fakten #340 - Tiefe Desyncs

Es gibt eine neue News zu dem Steam Game Factorio vom 27.03.2020. Folgendes hat dabei der Entwickler von Factorio veröffentlicht:

Lesen Ihr diesen Beitrag auf unserer Website.

Es nicht zu erwähnen, wäre seltsam.
Ich glaube wirklich, dass jeder in den letzten Wochen alles darüber gehört hat und sonst nichts, aber ja, das Coronavirus.

Im Moment scheint mit Factorio alles in Ordnung zu sein. Wir arbeiten alle von zu Hause aus, die Mannschaft läuft noch, und bisher folgen wir unserem Plan recht gut. Wir haben letzte Woche die Charakter-GUI und die Statistik-GUI veröffentlicht und diese Woche einige Verbesserungen wie neue Wasserspritzer und Blattanimationen. Die Dinge sind noch in Bewegung.

Wie auch immer, wir haben noch keine wirkliche Erfahrung damit, dass das gesamte Team aus der Ferne arbeitet, also gibt es vielleicht einige Herausforderungen, die wir im Laufe der Zeit angehen müssen. Im Moment wissen wir nicht, ob sich dies auf unser 1.0-Veröffentlichungsdatum auswirken wird, ich schätze, es wird so oder so sein, aber im Moment kündigen wir keine Änderungen an.

Business as usual


Abgesehen von der noch laufenden Entwicklung bleibt auch unser E-Shop in Betrieb, und wir haben soeben alle Varianten unserer T-Shirts neu bestückt. Wir könnt zwar nichts garantieren, aber wenn Ihr zu diesem Zeitpunkt bei uns bestellen, sollten wir Eure T-Shirts trotzdem zu Euch kommen könnt.

Tiefe Desynxen
Letzte Woche hatten wir dort einige mehr Spieler als sonst, und Krastorio 2 wurde veröffentlicht, was viel mehr Stunden in viel mehr Bereiche des Spiels bedeutete. Während der Woche erhielten Boskid und ich einige Desync-Berichte mit Mods. Im Allgemeinen glauben wir, dass es wahrscheinlich die Mods sind, die das Problem verursachen, da es ziemlich einfach ist, eine Desynchronisation mit dem Steuerungs-Scripting zu verursachen, wenn man einige sehr wichtige Gotchas nicht kennt.

Trotzdem haben wir uns entschlossen, die Sache zu untersuchen, um den Spielern zu helfen, herauszufinden, welcher Mod die Probleme verursacht.

Zyklische Referenzen der Schlange


Eine recht knifflige Desynchronisation, die wir gefunden haben, hängt mit zyklischen Verweisen und der Art und Weise zusammen, wie Serpent die globalen Lua-Daten serialisiert.

Nehmen Ihr hier das Beispiel des Mods "Construction Drones". Ihr haben einen Spieler, der die Drohnen zur Arbeit losschickt; der Spieler muss den Überblick behalten, welche Drohnen er besitzt, und die Drohnen müssen sich merken, zu welchem Spieler sie gehören.



Jetzt funktioniert dies auch während der Laufzeit, Ihr könnt vom Player-Objekt aus auf die Drohne zugreifen und vom Drohnen-Objekt aus auf den Spieler zugreifen. Wenn das Spiel gespeichert wird, geht Serpent alle Daten in 'global' durch und serialisiert sie für später. Um die zyklischen Verweise zu verarbeiten, schreibt Serpent, wenn es feststellt, dass es ein Objekt bereits "gesehen" hat, einen Platzhalterwert und kommt zurück, um es später zu korrigieren.

Das Problem ist, dass Serpent als Platzhalterwert Null gewählt hat. In...
Die vollständige News zu Freitag Fakten #340 - Tiefe Desyncs findet ihr auf der Factorio Steam Seite