Terrain-Generator oder Mod für höhentypische Baumvorkommen

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


  • Hallo zusammen,


    ich stehe vor dem Problem, auf eine neu erstellte Karte - in experimental map size und auf der Basis von OpenStreetMap/Geodaten einer Alpenregion in der Schweiz - Bäume auftragen zu wollen. Dies würde ich gerne weitgehend automatisiert und möglichst realistisch machen, so dass in Abhängigkeit von der Höhe des Geländes bestimmte Baumarten in bestimmten Anteilen und Mengen plaziert werden, ähnlich wie dies in der Natur der Fall ist und in dieser Grafik beschrieben wird: http://www.biberberti.com/imgs/hoehenstufen.jpg

    (die Grafik inklusive Erläuterungen findet sich unter: http://www.biberberti.com/DE/schutzwald_6.php )


    Es gibt bereits einige Terrain-Generatoren, bei denen man über einen Schieberegler die Anzahl der Bäume festlegen kann, darunter auch einen, bei dem man die Baumgrenze einstellen kann (was aber bei meinen Maps bislang nicht wirklich funktionierte?) - leider kann man aber nicht viel mehr vorgeben. Daneben gibt es natürlich auch die Baum -Asset - Malwerkzeuge, aber eine große Map damit manuell zu gestalten erfordert viel zu viel Zeit.


    Ich würde mich daher über einen entsprechenden Mod, eine modifizierte Lua-Datei oder einen Terrain Generator freuen.

  • Ich werde mir das ganze mal ansehen, da ich aber noch neu in TPF2 modding bin kann das dauern, also wenn ein anderer Modder schneller ist soll er sich bitte keinen Zwang antun. Zusätzlich möchte ich nicht nur die Baumgeneration ändern sondernden kompletten map generator. Mein erster Test für bis zu 4697 Meter hohe Berge war schonmal etwas zu bergig:

    Beachte das der Baumgenerator noch nicht modifiziert wurde (außer die Treeline auf 2500 Meter zu setzen).

    //EDIT: Das war einfacher als erwartet. Bitte schau ob es dir so schon gefällt: Alpengenerator BETA1.zip

    //EDIT: Screenshots in Ehren kann niemand Verwehren:


    //EDIT: Nach einem Gespräch mit Geologen habe ich minimalste Änderungen am Mod gemacht. Dies betrifft unter anderem den maximalen Steigungswinkel an dem Bäume wachsen können: Alpengenerator BETA2.zip
    Bitte beachte das hier Kompromisse eingegangen wurden, ich hoffe es gefällt trotzdem. :)

    5 Mal editiert, zuletzt von V10lator ()

  • Hi V10lator!


    ich habe mir den Kartengenerator in der Version Beta 2 angeschaut und gestaunt, wie hoch die Berge auf einer Karte sein können...


    Das habe ich überhaupt nicht berücksichtigt, als ich meine Anfrage formulierte! Denn für die von mir geplanten Maps stellt sich das Problem etwas anders dar, da ich diese im Maßstab 1:2 bauen werde - die Berge sind also in "Transport-Fever-Metern" nur halb so hoch wie in der Realität. Ein Berg mit 4000 Metern Höhe in der Realität hat auf meiner Map also 2000 Meter Höhe - zumindest ist das das, was mir in Transport Fever über die Höhenlinien dargestellt wird.


    Das Gelände als solches erstelle ich mir aus Geodaten. Ich bilde einen Ausschnitt aus der Realität ab, daher auch das Vorhaben, eine möglichst realistische Bewaldung zu erreichen.


    Im Idealfall würde der Mod vielleicht - da zahlreiche Maps einen eigenen Maßstab haben - für das Auftragen der Bäume einem Kartenbauer die Möglichkeit bieten, die einzelnen Höhengrenzen anzugeben. Also von welcher Höhe bis zu welcher Höhe die Tallage, Mittellage 1, Mittellage 2, Hochlage 1 etc. liegt (entsprechend der Abbildung in meinem ersten Beitrag). Das könnte man über das Editieren einer Lua-Datei vorgeben, über die GUI wird das vermutlich nicht machbar sein.


    Auf die einzelnen Lagen würden dann die verschiedenen Baumtypen in möglichst passenden Stückzahlen und Anteilen zueinander aufgetragen werden - und unter Berücksichtigung des von Dir eingebrachten Steigungswinkels, was das alles nochmal realitätsgerechter macht.


    Vielleicht kann man noch die die Wald- und Baumdichte parametrisierbar machen. Ein normaler Kartengenerator trägt Bäume in Wäldern mit Abständen zueinander auf. Es sind also einerseits Lücken zwischen den Bäumen eines Waldes vorhanden, andererseits auch Lücken zwischen den Wäldern.


    Wie weit Lücken zwischen einzelnen Wäldern auseinander liegen, kann man in manchen der existierenden Generatoren über einen Schieberegler einstellen. Die Lücken parametrisierbar zu machen, wäre für den angestrebten Generator sicher hilfreich - ich kann mir vorstellen, das bei einer größenwahnsinnigen Karte dann, wenn lückenlos Bäume aufgetragen werden, die Performance so stark in den Keller geht, dass die Map nicht mehr spielbar ist. Andererseits könnte man bei einer kleinen Map mit einer dichten Bewaldung eine sehr realitätsnahe Abbildung erreichen. Bei einer Parametrisierbarkeit könnte man dann als Kartenbauer durch Ausprobieren gute Kompromisse/Ergebnisse für die eigene Map erzielen...


    Würde mich sehr freuen, wenn Du weiter am Ball bleibst! Ich kann mir vorstellen, dass dieser Generator auch für alle anderen Map-Bauer interessant ist, auch wenn bei diesen das Höhenspektrum in der realen Vorlage ihrer Maps geringer ist. Es gibt ja auch schon zwischen Tal- und Mittellage erkennbare Unterschiede in den Baumtypen und die müsste dann niemand mehr manuell nachbilden, der eine realitätsnahe Karte erstellen will.

  • Hey Ranger,

    mir war schon klar das mein Mod mehr macht als du möchtest, deswegen wollte ich das du dir diese Testversion mal anschaust und Feedback gibst. Einen Regler für einen Maßstab oder Ähnliches einzubauen könnte einfacher sein als du denkst (bisher bin ich selbst überrascht: Vanilla hat bereit alle Codes für das was ich getan habe, ich musste nur mit ein paar Variablen spielen).

    Hast du Links zu den Kartengeneratoren mit Lücken? Ich tue mich besser manche Dinge in Code als in menschlicher Sprache zu verstehen.


    Keine Angst, ich habe vor erstmal am Ball zu bleiben. Aber nochmal: Noch ist der Mod extrem simpel. Für ein paar deiner Ideen könnte es nötig sein härtere Codeanpassungen zu machen und dazu kenne ich die Codes von Urban Games einfach noch nicht gut genug. Je weiter ich modde, um so besser werde ich sie aber verstehen, es ist also hoffentlich nur eine Frage der Zeit bis all deine (und auch die der Geologen die mir z.B. sagen Berge darf man nicht zufällig berechnen sondern man muss bei den Alpen den Wirbel des plattentektonischen Dorns mit einbeziehen) Vorstellungen umgesetzt sind. :)

    Nun ist es aber schon spät und ich muss zugeben deinen Beitrag nur überflogen zu haben. Schlaf gut und bis Morgen.


    //EDIT: Selbst wenn ich nicht am Ball bleibe / das Interesse verliere ist der Mod unter einer Copyleft Lizenz (LGPL), sprich jeder andere Modder darf die Codes nutzen / erweitern. :)

    //EDIT²: Eine erste Testversion mit Skalierung: Alpengenerator BETA 3.zip

    2 Mal editiert, zuletzt von V10lator ()

  • Hi V10lator,



    die Berge auf den neuen Bildern haben noch eine sehr starke Steigung. Auf meinen Maps soll das Baumvorkommen weniger von der Steigung gesteuert werden, sondern von der Höhe des Terrains.


    Auf diesem Beispielbild erkennt man ganz gut, was mir vorschwebt. Die Berge haben eine realitätsnahe Steigung und mit zunehmender Höhe nimmt der Baumbestand ab. Dabei sind noch nicht die typischen Baumarten verwendet worden.


    https://steamuserimages-a.akamaihd.net/ugc/1469815385312853427/3AAA08090F437939BBDA0AF3C4B8AA1174CD65D1/?imw=637&imh=358&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true


    Passend wäre es, wenn man die neuen Nadelbäume mit einbinden/per Generator auftragen lassen könnte:

    https://steamcommunity.com/sha…id=2247194383&searchtext=


    Da Du nach den Lücken gefragt hast:

    Letztlich tragen alle Terrain-Generatoren, also auch der Vanilla-Generator, Bäume nicht flächendeckend auf, was ja für viele Maps auch gut ist. Das meinte ich mit den "Lücken". Die Menge der Bäume, die sich mit dem Vanilla-Generator maximal auftragen lässt, ist geringer als die bei diesem Generator:


    Erweiterter Kartengenerator (gemäßigt)

    https://steamcommunity.com/sha…iledetails/?id=1959994153


    Der erweiterte Kartengenerator unterstützt zwar eine Baumgrenze, allerdings nur über einen Schieberegler (keine Vorgabe in Metern) und auch nicht ganz zuverlässig, was aber vielleicht auch an meiner Map liegt? Davon unabhängig lassen sich die verschiedenen zu verwendenden Lagen (Höhe der Tallage, Mittellage 1, Mittellage 2, Hochlage 1 etc.) mit den dort zu plazierenden Baumarten nicht vorgeben.


    Perfekt wäre es, wenn man zusätzlich noch eine Tallage definieren könnte, auf der keine oder nur vereinzelt Bäume aufgetragen werden sollen. So erkennt man in dem oben angefügten Beispielbild, dass im Tal kaum Bäume existieren - und dies ist auch in der Region, die ich auf meiner Map abbilden möchte, der Fall.


    Vielleicht kann man das alles auch kompatibel gestalten, so dass auch andere Baum-Mods mit verwendet werden, wenn diese installiert sind, so zum Beispiel dieser hier:


    Tree Shade Variation (by JK)):

    https://steamcommunity.com/sha…id=2287247119&searchtext=

    (dieser Mod verändert die Farben der Bäume, so dass hellere und dunklere Varianten darunter sind)


    oder dieser hier:


    Bäume in verschiedenen Größen:

    https://www.transportfever.net/filebase/index.php?entry/5174-b%C3%A4ume-in-verschiedenen-gr%C3%B6%C3%9Fen/


    Dann habe ich auch irgendwo einen Mod gesehen, bei dem die Bäume mit Schnee bedeckt sind... Finde ich aber gerade nicht.


    Bin gespannt, was Du dazu sagst und ob das machbar ist...

  • Danke für all die Infos, ich werde sie die Tage durchgehen und sehen was davon mit meinem immernoch begrenzten Wissen der UG Codes machbar ist.


    Kannst du mi evtl deine Heightmap zur Verfügung stellen (gerne per PM) und mir die Koordinaten (oder einen Google Maps Link) der Region geben?

    //EDIT: Trägst du den Schnee auf deinem Bild manuell auf oder hast du es geschafft den Gletschermod zu portieren? Die verschneiten Bäume sind bekannt, bringen meiner Meinung nach aber ohne Gletschermod nicht viel.

    Einmal editiert, zuletzt von V10lator ()

  • Hi,


    den Schnee auf den Bergen bekommt man mit dem Alpine Climate-Mod, von dem auch das Bild stammt, welches ich in meinem vorherigen Beitrag verlinkt habe:

    https://steamcommunity.com/sha…iledetails/?id=2190015091


    Eine "gelungene" Heightmap habe ich noch nicht, nur einige "Experimente". Ich werde in den nächsten Tagen mal schauen, was ich Dir per PN zumailen kann. Prinzipiell kannst Du aber jede Heightmap mit Bergen verwenden, auch neu über denn Kartengenerator erzeugte. Der Mod sollte im Idealfall generisch verwendbar sein und vermutlich werde ich dann, wenn ich meinen Workflow zusammen habe (QGis, Google Maps-Overlay, OSM-Overlay), auch mehrere Maps von verschiedenen Regionen bereitstellen.


    Die Region, für die ich meine erste Map gerade bearbeite, ist eine aus der Region des Genfer Sees:

    https://www.google.com/maps/pl…!3d46.1049798!4d7.0755334

  • Changelog:

    • Berg generator gefixt (Falls Urban Games mitliest: startDir = startDir + math.random(-maxAngle, maxAngle); ist falsch, das sollte startDir = startDir + math.randf(-maxAngle, maxAngle); sein... ;))
    • Berg generator eine Startrichtung (+ Schwankung) für alle Berge eingestellt.
    • Go up / go down Logik des Berggenerators neu geschrieben.
    • Kein Heightmap-rauschen auf den Bergen.
    • Schnee hinzugefügt (early WIP - Funktioniert im Moment nur bei 1:1 scale und selbst da werden Berge nur selten so hoch).
    • Wasser zugefügt.
    • Viele empfindliche Schieberegler zugefügt.

    Alpengenerator BETA 4.zip

    Zu mehr bin ich leider noch nicht gekommen.

    //EDIT:
    Ich habe es geschafft eine Variable vom Terragen zum Klima ins Savegame und vom Savegame ins Klima zu geben womit nun der Schnee auch mit Skalierung funktioniert. Getestet ist das ganze aber nur unter Linux: Alpengenerator BETA 5.zip

    //EDIT²:
    IPC vereinfacht, somit hoffentlich höhere chance das es unter Windows funzt: Alpengenerator BETA 6.zip

    9 Mal editiert, zuletzt von V10lator ()

  • Das hört sich nicht gut an. Könntest du den Fehler in der stdout.txt suchen und mir mitteilen?


    //EDIT: Es ist nie einfach einen Fehler zu beheben dessen Quelle man nicht kennt aber versuchen wir es mal:

    Changelog:

    • Implemented os.execute (als Wrapper zu io.popen. io.popen wurde davor benutzt also ist dies nur eine kosmetische Änderung die die Funktion in keinster Weise beeinträchtigen sollte).
    • Codes vereinfacht / versucht weitere betriebssystemspezifische Codes zu eliminieren.
    • Environment Variablen werden nun gelesen und intern verarbeitet anstatt zu hoffen das das Betriebssystem einem diese Arbeit abnimmt (dies könnte den Windows Bug beheben).


    Alpengenerator BETA 7.zip


    Sollte es jetzt immernoch crashen brauche ich aber wirklich die komplette Fehlermeldung aus der stdout.txt.

    2 Mal editiert, zuletzt von V10lator ()

  • Ich habe Dir gerade die Fehlermeldung und die stdout.txt per PN geschickt. Ist noch wie gehabt, bei der Auswahl des Alpengenerators in der Drop Down-Liste wirft er immer einen Fehler. Ich habe auch mal probeweise alle anderen Mods aus dem Mod-Verzeichnis herausgenommen und dann Transport Fever neu gestartet - aber das brachte keine Änderung.

  • Dank @RocketRanger funktioniert es nun auch unter Windows. Zusätzlich wurden ein paar Dinge modifiziert, ich weiss aber nicht mehr genau was: Alpengenerator BETA 8.zip



    @RocketRanger Ich habe mir Spacky_Trees Nadelbäume und Tree Shade Variation (by JK) mal angesehen. Keine Garantie aber die Bäume sollten bereits genutzt werden. :)

  • Leider ist es anscheinend so, dass V10lator nicht mehr aktiv ist. Ich würde daher diese Modanfrage gerne "neu stellen" und verweise dazu auf den ersten Eintrag dieses Threads.


    Der Mod würde meiner Meinung nach Transport Fever auf ein ganz neues Level bringen. Wahrscheinlich würden viele von denen, die eine Karte für die Community bauen, die Mod verwenden, da diese - insbesondere bei großen Karten - eine Menge Arbeit abnehmen würde und es unter Umständen auch zu realistischeren Karten führt, als wenn manuell Bäume und Schnee aufgetragen werden.


    Der von v10lator entwickelte Prototyp war recht vielversprechend. Man konnte zumindest erkennen, dass man wahrscheinlich alle dafür nötigen Bestandteile (Schnee, Baum-Vorkommen in Abhängigkeit von der Höhe) modden kann. Leider blieb es bei diesem Experimentierstadium - ein fertiger Mod wurde nicht daraus.


    Würde mich freuen, wenn jemand dieses Thema neu angehen würde.

BlueBrixx