Modding mit Patch 51.2
Jewsejewitsch
06 Nov 2016
Vorweg, das ist das erste Mal das ich mich neueren Datums mit Modding beschäftige, aber als ehemaliger Systemprogrammierer habe ich da wenig Berührungsängste. Wenn ich Mist geschrieben habe, korrigiert mich bitte.:-)
Wie funktioniert das Modding mit 51.2?
Leider ist hier die Beschreibung von wargaming.net unvollständig. Es gibt zwei völlig getrennte Speicherorte, in die die Daten von Master of Orion gespeichert werden.
1) Dokumente/Eigene Dokumente/Master auf Orion
mit den beiden Unterverzeichnissen /saves und /mods
2) Steamapss/common/Master of Orion
mit einigen Unterverzeichnissen und Dateien, u.a. /Modding und /MasterofOrion_Data
Ein Mod erstellt man indem man ein neues Unterverzeichnis unter Dokumente/Eigene Dokumente/Master of Orion/Mods hängt. Der Name dieses neuen Unterverzeichnisses ist dann der Name des Mods, den man im Spielmenü ein- und ausschalten Kann.
In dieses Unterverzeichnis kopiert man alle geänderten .yaml und .csv-Dateien. Deren Werte überschreiben dann die Orginalwerte im Spiel, und schon ist es gemoddet - theoretisch.
.yaml-Dateien
Sie enthalten so ziemlich alle Spielparameter die man sich vorstellen kann. Die Vorlagen dafür befinden sich im Ordner Steamapss/common/Master of Orion/Modding und können einfach mit dem Texteditor bearbeitet werden (wie eine .txt-Datei).
.csv-Dateien
Auch diese kann man mit dem Texteditor ändern, sie befinden sich aber gut versteckt hier:
Steamapss/common/Master of Orion/MasterofOrion_Data/StreamingAssets/Localistion/Backend oder Frontend
In diesen .csv-Dateien kann man die Texte der verschiedenen Sprachen anpassen. So könnte man den "Holo-Simulator" auch in "Garten der Lüste" umbenennen, wenn man denn will. :-)
Eigentlich selbstverständlich, aber ich erwähne es trotzdem nochmal: Vor jeder Änderung bitte die Orginaldateien sichern! Wenn man es geschafft hat etwas kaputt zu spielen, kann man es dann wenigstens wieder zurückspielen.
Soweit, so gut, oder auch nicht. Ich habe mich gestern mal intensiv durch alle .yaml-Dateien gewühlt und musste erstaunt feststellen, dass dort sehr viele Technologien und Gegenstände definiert sind, die den Weg gar nicht ins Spiel gefunden haben.
Geändert und getestet habe ich:
PlanetBiomeTypes.yaml
Hier habe ich die Biom-Resistenzen vernünftig abgestuft. Funktionierte wunderbar, alles wird im Spiel richtig angezeigt.
ColonyStructureTypes.yaml
Die wohl wichtigste Datei überhaupt, wenn man des Drama des aktuellen Patches wieder in Ordnung bringen möchte. Leider wird diese Datei nicht eingelesen, auch nicht die alte dekomprimierte Asset-Datei, selbst wenn man versucht nur eine einzige Struktur zu ändern. Nix. Es liegt scheinbar nicht an der Datei, sondern dass diese nicht richtig zugeordnet werden kann, vermute ich mal. Ein Bug.
WeaponTypes.yaml
Hier habe ich einfach mal den Schadenswert der Laserkanonen von 5 auf 500 gesetzt um zu sehen, ob denn diese Datei eingelesen wird. Wird sie, der neue DPS wird korrekt berechnet, aber das Infofenster behauptet immer noch dass der Schaden bei 5 liegt. Vielleicht ist das hardcoded, das würde das ganze Modding dann recht suboptimal machen, oder in einer csv-Datei gespeichert, das wäre dann bei vielen Änderungen sehr aufwendig anzugleichen. Vielleicht ist das aber auch nur ein weiterer Bug. Mal schauen.
Beim Starten des Spiels kommt bei mir übrigens nicht das Menü Einzelspieler, wenn ich nicht vorher das Mod ausgeschaltet und wieder eingeschaltet habe, zumindest wenn ich versuche die ColonyStructureTypes.yaml einzulesen.
Soweit meine Erfahrungen. Vielleicht hat noch jemand ergänzende Hinweise oder Tipps?
Nachtrag
Mit dem Hotfix 51.3 scheint sich zumindest technisch einiges zum Besseren gewendet zu haben. Die oben erwähnte nicht einlesbare ColonyStructureTypes.yaml lässt sich nun problemlos einlesen und wird nicht mehr zurück gewiesen. Inzwischen konnte ich herausfinden dass eine Datei dann komplett zurückgewiesen wird, wenn auch nur ein ungültiger Parameter enthalten ist. Das war der Fall.
Edited by Jewsejewitsch, 12 November 2016 - 12:38 PM.
diemerking
12 Nov 2016
Also ich kannte die Yaml.dateien schon bevor sie offiziell im Installationsbaum zu finden waren. Jemand aus dem MoO-Forum auf steam hat die einzelnen Yaml.Dateien aus der resources.assets-datei D:\Steam\steamapps\common\Master of Orion\MasterOfOrion_Data extrahiert. Da war es notwendig, dass einige yaml.dateien in bestimmte verzeichnisse des Spielverzeichnisbaumes kopiert werden mussten. Einige gehörten in das Verzeichnis Shipdata andere ins Verzeichnis Planetdata oder GalaxyGenerationsTables, und die meisten unter Gameplaydaten. Achso die von mir zu erst genannte Verzeichnisse (Shipdata usw) sind dann Unterordner von Ordner Gameplaydaten gewesen.
Ich wünsachte mir, dass hier im Forum einem mal richtig erklärt wird wohin man geänderte Dateine wirklich kopieren soll, dass man seinen eigenen Mod spielen kann. Den wie du schon sagtest nur in ein Unterverzeichnis im unter Dokumente zu findenten Ordner Mods reinzukopieren funktioniert nicht mit jeder Yaml,datei. Möglicherweise müssen dort noch mehr Unterordner angelegt werden. Ich habe mir auch schon auf Steam eine Mod runtergeladen und die im Spiel aktiviert. Trotzdem waren im Modsordner (Dokumente) keinerlei Unterordner mit diesen Dateien zu finden. Ich bin inzwischne ziemlich demotiviert zu modden bzw überhaupt ein neues Spiel zu beginnen. Der Support ist zumindest für uns Deutschsprachige sehr sehr überschaubar.
diemerking
12 Nov 2016
Jewsejewitsch
13 Nov 2016
Wenn du Mods aus dem Workshop herunter lädst findest du die verwendeten Daten unter
steamapps/workshop/content/298050
wobei 298050 wohl der Code für Master of Orion ist. Unter dieses Verzeichnis werden beim Abonnieren von Mods dann Unterverzeichnisse gehängt deren Namen nur aus Zahlen besteht. Dort findest du die geänderten Dateien des jeweiligen Mods.
Wie du Mods erstellst habe ich oben ausführlich beschrieben, und das funktioniert nun auch. Manche Änderungen scheinen aber nur bei neu gestarteten Spielen zu wirken.
Das Modden mit den alten Unterverzeichnissen wie Shipdata etc. funktioniert ab 51.3 übrigens gar nicht mehr. Mods müssen jetzt zwingend unter das Verzeichnis
Dokumente/Eigene Dokumente/Master auf Orion/mods
als EIN neues selbst zu erstellendes Unterverzeichnis beliebigen Namens gehängt werden, wo dann alles geänderte hinein kommt.
Die Mods sollten auch nach weiteren Patches funktionieren. Die Dateien werden dadurch ja nicht geändert.
Edited by Jewsejewitsch, 13 November 2016 - 10:22 AM.
diemerking
18 Nov 2016
Jewsejewitsch
18 Nov 2016
Dass das Modifizieren der BiomeChances.yaml nicht funktioniert kann ich bestätigen. Egal was man da versucht, die Datei scheint nicht eingelesen zu werden. Nach deinen Ausführungen scheint das aber nicht die einzige Datei zu sein die noch nicht funktioniert. Ich habe diese drei von dir erwähnten Dateien mal bei Steam in den aktuell passenden Thread gepostet.
Erfolgreich geändert habe ich bislang folgende Dateien:
ColonyProjects.yaml
ColonyStructureTypes.yaml
PlanetaryDensityPackages.yaml
PlanetBiomeTypes.yaml
RandomEvents.yaml
ShipBlueprintTemplates.yaml
ShipHullTypes.yaml
ShipModules.yaml
TechTree.yaml
Mal schauen was 51.4 an Verbesserungen bringt. Hoffentlich kommt der nächste Hotfix bald.


