Anpassung der Verteilung von Steinen auf Karten vom Map-Generator

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Da ich herausbekommen habe, wie man den Map-Generator dazu bringt, die Anzahl der Steine in generierten Karten auf ein erträgliches Niveau abzusenken (und ich glaube es steht noch nirgends im Forum), wollte ich euch das natürlich nicht vorenthalten. Vielleicht nützt es dem ein oder anderen etwas. :) Vorweg, es ist ein bisschen kompliziert, da es nicht ganz einheitlich geht.

    Grundlagen:

    TpF2 nutzt je nach Klimazone andere Einstellungen für den Map-Generator. Definiert sind diese in .lua-Dateien im Pfad:


    ...\Transport Fever 2\res\scripts\terrain\


    Für die Steine, sind je nach Klimazone jeweils die drei folgenden Dateien interessant:

    • temperateassetsgen.lua --> gemäßigte Klimazone
    • tropicalassetsgen.lua --> tropische Klimazone
    • desertassetsgen.lua --> trockene Klimazone

    Je nach gewünschter Klimazone am besten mit einem Editor ala Notepad++ öffnen. In diesen Dateien suchen wir jetzt nach der Funktion, die unter anderem die Steine setzt, die nennt sich layers:WhiteNoise(), und versuchen deren Parameter zu ändern.


    Und jetzt wird's blöd. In jeder dieser Dateien ist's jetzt ein bisschen anders.

    temperateassetsgen.lua

    Hier muss man nun den folgenden Bereich suchen:

    Code
    -- #################
    -- ####  ROCKS
    layers:WhiteNoise(rocksMap, 0.005)

    Die 0.005 ist die "Intensität" mit der Steine auf die Karte geschmissen werden. Je niedriger der Wert, desto weniger Steine.

    tropicalassetsgen.lua

    Hier muss man nun den folgenden Bereich suchen:

    Code
    -- #################
    -- #### ROCKS
    layers:WhiteNoise(tempMap, 0.005)

    Die 0.005 ist die "Intensität" mit der Steine auf die Karte geschmissen werden. Je niedriger der Wert, desto weniger Steine.

    desertassetsgen.lua

    Hier waren die Entwickler so schlau, die entsprechenden Einstellungen über lokale Variablen zu definieren, die später in den layer:WhiteNoise-Aufrufen benutzt werden.

    Code
    local savannaRockDensity = 0.01 -- notice trees override rocks, density might be lower
    local desertRockDensity = 0.6 -- notice trees override rocks, density might be lower

    Die Zahlen sind jeweils die "Intensität" mit der Steine auf die Karte geschmissen werden. Dieser Generator verfügt dabei über zwei Arten von Steinen. Je niedriger der Wert, desto weniger Steine. Wie man sieht, sind die Werte wesentlich höher eingestellt, als bei den anderen Karten, was zur Folge hat, dass auf Wüsten-Karten so viele Steine rumliegen.

    Abschluss

    Im Prinzip muss man also nur die Werte ändern, die Dateien speichern, TpF2 starten und eine neue Karte generieren. Schon geht's. :)

    Übrigens sind das jeweils nur die normalen Steine, nicht die an den Flussufern. Die Flusssteine werden etwas anders gesetzt. Ist aber auch alles in den Dateien definiert.

  • Oder bei Steam einfach den Mod "No random rocks in map-generator" Laden

    Das hab ich auch erst, um dann festzustellen, dass die für Wüsten irgendwie nicht funktioniert. Wahrscheinlich weil eine angepasste Kopie der desertassetsgen.lua fehlt. Das ist natürlich blöd, wenn man wie ich ne Canyon-Karte mit Texturen der gemäßigten Karte haben will. Da sieht's dann aus wie nach ner Stein-Lawine.^^

    Die Methode oben hat noch den kleinen Vorteil, dass man eine Zwischenlösung mit wenigen Steinen hinbekommt. Je nach Zeitalter und Kartentyp machen ein paar Steine in der Landschaft ja durchaus Sinn.

    Wenn das so machbar ist, wäre das doch einen Lexikoneintrag wert - oder !?

    Ja, das ist keine so schlechte Idee. Vielleicht mit ein paar mehr interessanten Parametern (wie der für Flusssteine). Vielleicht schreib ich am Wochenende mal was zusammen.

  • @pdca_cycle: Hast Du in den Dateien auch gefunden, wie man bestimmen kann, mit welcher Intensität Bäume aufgetragen werden? Ich würde gerne den integrierten Terrain-Generator - "Gemäßigt (nur Assets)" nutzen, um auf eine vorhandene Heightmap Bäume aufzutragen. Die Bäume werden dann jedoch so dicht beieinander geplanzt, dass man auf einer großen Karte schon in frühen Jahren Performance-Probleme haben wird. Halb so dichte Bepflanzungen würden immer noch gut aussehen...

BlueBrixx