Das NEP die Standardgleise überschreibt ist nützlich und auch sinnvoll da so alle Gleise automatisch upgegradet werden auf die neuen Mesh und Texturen, so muss man nicht das ganze Schienensytem nachbearbeiten
Insofern ist es sicherlich sinnvoll, die Vanillagleise zu überschreiben, wenn man es zu bestehenden Savegames hinzufügt. Allerdings ist das ja nur für die Übergangszeit gewesen, mittlerweile startet jeder wahrscheinlich eine neue Karte direkt mit oder ohne NEP. Rausnehmen macht wahrscheinlich auch keiner, da die wenigsten nur standard und highspeed benutzen.
Außerdem wirken nur manche Änderungen direkt. Die Geschwindigkeit verlegter Gleise zB nicht. Insofern ist es dann eher unintuitiv, wenn dasselbe Gleis "high_speed.lua" im verlegten Zustand 300kmh hat und neu gebaute Gleise plötzlich 160.
Der NEP ist als Stand-alone Mod gedacht worden, zum einfachen Aktivieren ohne (viele) andere Mods. Das ist auch erstmal okay so. Nur wenn jeder das von seiner Mod denkt und viele Vanilladateien verändert, leidet natürlich die Kompatibiltät. Im Nachhinein sagen was besser wäre*, ist natürlich immer einfach, aber wenn ich dürfte, hätte ich gesagt, dass alle Gleisdateien in einen Unterordner "/nep" kommen. Die Standardgleise könnten sich durch einen (optionalen) Filter ausblenden lassen. Die aktuelle Dateibenennung mit Geschwindigkeiten ist nicht gerade schön, aber natürlich das Ergebnis einer Entwicklung, die bestehende Savegames berücksichtigen muss. Insofern kann man da natürlich keinen Vorwurf machen. Nicht zuletzt ist es ja auch das leidige Gleistyp/geschwindigkeit Problem, das sich seit Train Fever durchzieht und noch nicht von UG gelöst ist.
Vanilla Dateien in einer Mod zu verwenden (also nur zu lesen) ist erstmal gut, da es ressourcen sparend ist. Hierbei muss man sich allerdings auf die Integrität der Spieldaten verlassen. (d.h. Modder die Auswirkungen von anderen Mods, die eben die Vanilladateien ändern, auf ihre eigenen Objekte befürchten, werden sich evtl die Vanilladateien kopieren oder eigene Materialen nehmen)
Vanilla Dateien aktiv zu veränden/überschreiben sollte nur aus 2 Gründen passieren:
- Es ist technisch notwendig. Nur wenn es wirklich nicht anders geht, z.B. wegen fehlendem Interface, sollte man Dateien überschreiben. Sollte in der Modbeschreibung erwähnt werden.
- Die Änderungen passieren bewusst. Das kann Sinn machen, wenn man etwas global austauschen will, was also auch andere Mods beeinflussen soll. (z.B. Straßenbelag, Oberleitung, UI-Icons). Dies sollte in der Modbeschreibung immer eindeutig benannt werden. Bitte alle möglichen Nebeneffekte (auch auf andere Mods) vorher bedenken.
Das Problem zu 1: Gerade Modding Beginner kennen noch nicht das gesamte Modding Interface, aber das Grundsystem, dass Dateien wie im Spielverzeichnis überschrieben werden, versteht man relativ schnell. Das führt dann zu solchen Mods, die dann Vanilla Scriptdateien, Standardgleise, Industrien oder anderes überschreiben, obwohl nur 1 Zeile Code geändert wird! (z.B. Geschwindigkeit, Kosten, Bahnhofslänge). Das funktioniert zwar im ersten Schritt, hat aber die Nachteile dass:
- Änderungen an diesen Dateien durch Spielupdates nicht in den kopierten Dateien sind und es daher nach Updates oft zu Fehlern kommt, obwohl es an einer ganz anderen Stelle der Datei ist.
- Andere Mods, die in denselben Datei etwas anderes ändern, sind nicht kompatibel, obwohl sie sich von der Logik nicht überschneiden würden.
- Anpassungen wirken nur für Vanillaobjekte. Wenn z.B. in allen Straßen die maximale Steigung von Hand geändert wird, würden keine Modstraßen berücksichtigt.
--> Daher ist die Lösung oft ein Script, d.h. ein Modifier in der mod.lua, der alle Dateien durchgeht und eben nur genau die Änderungen durchführt, die die Mod machen will. Wenn man manche Mods/Dateien auslassen will, kann man eine if Abrage einbauen. Wenn ihr nicht wisst, wie/ob so etwas geht, fragt bitte einfach im Forum nach.
Wenn wir schon bei Dateinamen sind, so wäre mein Wunsch an Modersteller eindeutigere Bezeichnungen. Grundsätzlich wenn man mehr als 1-2 Objekte hat, ist eigentlich ein Unterordner, benannt nach Modname/autor, Pflicht. Alleine schon, um Konflikte zu vermeiden, was bei "standard_80.lua" oder "empty.mdl" ganz schnell passiert. Auch wenn im Modordner die Zuordnung offensichtlich ist - im Spiel wird ja alles "zusammengemischt", zu welcher Mod ein Objekt gehört, ist dann gar nicht mehr herauszufinden. Ordner sind übersichtlicher als viele Dateien mit vielen _ z.B. "country_medium_one_way_new.lua". Außerdem: Niemand hat behauptet, dass Bezeichnungen wie "medium", "large", "new" oder "old" sinnvoll wären, weil man keine Ahnung hat was es genau bedeutet. Also keinen Grund das von UG zu übernehmen.
Diejenigen die viele Terrain oder Mal Mods erstellt haben, schaut doch bitte, das es nicht das gleiche nochmals im Mod drin ist, wenn dies schon in zig andern Mods auch vorhanden ist. Wenn Ihr solche Mods erstellt, schaut doch mal, was ist denn schon vorhanden in andern Mods oder von UG.. so kann man das 2,3,4 x das gleiche minimieren.
Die Idee ist prinzipiell gut, da es Ressourcen und Performance sparen würde.
Abhängigkeiten von anderen Mods sind aber generell schwierig, da man hierbei auch auf verlässliche Dateien angewiesen ist (d.h. updatesicher). Der andere Modautor muss also auf jeden Fall informiert sein. Zum anderen gibt es viele Leute die Abhängigkeiten regelrecht hassen, was leider dazu führt, dass Modder eher alles in die Mod packen und ihre eigenen Texturen statt existierende zu nehmen.
Da hochauflösende Texturen in großer Anzahl ein ernsthafter Performance Killer sind, wäre es aber schon wichtig, hier eine Lösung zu finden, ggf durch Verwendung von (mehr) Vanilla Texturen in verschiedenen Auflösungen.
*Ich würde niemals das sachliche Hinweisen auf Probleme als meckern oder motzen bezeichnen