Real-Nachbau in TPF 2

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


  • Dies ist eine kompakte Sammlung von Informationen zum Thema Nachbau von realen Gegenden in Transport Fever 2. Theoretisch gibt es gute Möglichkeiten, die TPF2 Simulationsumgebung zum Realnachbau zu nutzen, allerdings ist das Thema noch wenig erforscht und die wenigen Informationen sind verstreut. Der Artikel soll diese sammeln und einen groben Überblick geben, um ein eigenes Nachbau Projekt zu starten. Allerdings haben sich erst relativ wenige daran gewagt und oft mit unterschiedlichen Ansätzen. Daher gibt es nicht den einen Weg und man muss für sich die passenden Methoden suchen und ausprobieren. Falls jemand auf Probleme stößt, gerne mir oder ins Forum schreiben.

    Ich fange nicht bei der Ursuppe an. Du solltest wissen, wie man experimental Mapsizes aktiviert und eine png Heightmap ins Spiel lädt.


    Ich habe mich bei meinem Projekt überwiegend an der Anleitung zur Kartenerstellung von Rutel orientiert, zeige hier aber auch alle mir bekannten Alternativen auf, sowie eventuelle Fallstricke.

    1 Auswahl des Gebiets

    Zuerst muss man sich natürlich überlegen, was man überhaupt nachbauen will. Die Spanne reicht von Hauptbahnhof mit Gleisvorfeld, über mittlere/große Stadt bis zu einer ganzen Metropolregion. Im Workshop gibt es ja auch Karten für ganze Länder, wobei klar ist, dass man hier aufgrund der Kartengröße nicht mehr maßstabsgetreu sein kann.

    1.1 Maßstab

    Daher muss man sich entscheiden zwischen 1:1 Nachbau oder einem skalierten Nachbau. Man möchte natürlich soviel wie möglich auf die Karte bekommen, aber die maximale Größe ist nunmal begrenzt.


    Man kann theoretisch z.B. einen 1:2 Maßstab machen, wenn man sagt man will eine doppelt so lange Karte (bzw. 4x mehr Fläche). Es ist aber nicht möglich, alles gleichmäßig runterzuskalieren, denn dann wären alle Abstände, Züge, Bahnsteige, Kurvenradien halbiert. Ich bin sicher, das wäre schon bei 1:2 ein ziemlicher Krampf die Längenverhältnisse halbwegs beizubehalten, wobei das in dicht bebauten Gebieten schwieriger ist als in ländlichen Gegenden. Man kann zwar kürzere Bahnen einsetzen, aber gekürzte Gleisvorfelder und engere Kurven sind wahrscheinlich nicht zufriedenstellend. Deshalb, was man machen kann ist eine Art „Kreativnachbau“: Damit meine ich das bewusste Weglassen mancher Kartenbereiche, um sich nur auf die wichtigsten Stellen z.B. Bahnhöfe zu konzentrieren und diese tendenziell 1:1 auszubauen. Bei den Zwischenbereichen müsste man dann improvisieren.


    Ein 1:1 Nachbau macht daher viele Dinge einfacher, weil das Spiel schon von realen Distanzen ausgeht und in Meter darstellt.

    1.2 Kartengröße

    Dann stellt sich die Frage, welche Kartengröße man in TPF2 wählen sollte. Hier sind in erster Linie Performance Gründe bzw. deine Hardware relevant.


    Die Längen findet man im wiki und auch hier im Lexikon mit den exakten Werten (immer ein Vielfaches von 256). Eine quadratische Karte kann maximal 24,5 km lang sein, mit einer länglichen Karte sind maximal 53,7 km möglich.


    Kartengrößen wirken sich in erster Linie auf den RAM aus. Wobei man auf jeden Fall den Bebauungsgrad beachten muss: Eine leere Karte lässt sich meist noch problemlos laden. Tests mit dem OSM Importer haben ergeben, dass der RAM Verbrauch alleine mit der Anzahl von Straßen extrem hoch werden kann (Faustregel ~1GB / 10 000 Edges). Da für einen guten Nachbau zudem viele Mods benötigt werden, sollte man ausreichend Puffer einplanen oder aufrüsten.


    KartengrößeBebauungsdichte gering
    mittelhoch
    Groß (14km)²16 GB24 GB32 GB
    Sehr groß (16km)²16 GB32 GB48 GB
    Riesig (20km)²20 GB40 GB64 GB
    Größenwahnsinnig (24km)²24 GB48 GB80 GB

    * Mit hoch meine ich den Nachbau in vollen Details (z.B. via OSM-Importer). In normalen freien Spielen erreicht man meist nur mittel.


    Diese Tabelle stellt eine grobe Orientierung dar, welche RAM Größe ich empfehlen würde. Das ist nur meine Einschätzung, basierend auf meinen bisherigen Tests, daher nicht allzu genau nehmen. Bei dünner Besiedlung wie ländlichen Gegenden fallen die Anforderungen niedriger aus. Die Performance ist je nach Gegebenheiten auch von anderen Faktoren betroffen, z.B. können unoptimierte Mods bei hoher Renderdistanz die Grafikkarte schnell in die Knie zwingen. Macht einfach mal Tests mit einer größenwahnsinnigen Karte und beobachtet wie flüssig das Spiel noch läuft. Den tatsächlichen RAM Bedarf (inkl. Auslagerung) kann man unter Windows im Ressourcenmonitor sehen.

    1.3 Gebiet planen

    Nachdem man das alles berücksichtigt hat, kann man sein Gebiet mit den ausgewählten Maßen planen, z.B via https://heightmap.skydark.pl/ so sieht man direkt was alles drauf passt.

    2 Heightmap

    Dieser Schritt ist optional. Theoretisch kann man einen Nachbau auf einer komplett flachen Karte machen. Ob das Sinn macht, kommt auf die Region an. Für eine norddeutsche Stadt wahrscheinlich schon, in einer bergigen Region ist die Höhenkarte essentiell. Für Regionen dazwischen sollte man es sich überlegen, da 1. der Aufwand natürlich vorhanden ist, 2. man sowieso noch Nachkorrekturen machen muss (je nach Qualität der Heightmap), und 3. man auf der anderen Seite auch mit den Terrain Tools im Spiel arbeiten kann/muss. Allerdings bekommt man mit einer Höhenkarte ein besseres Gefühl für die Topografie des Gebiets. Wenn man auf einer flachen Karte direkt drauf los baut, besteht die Gefahr, dass später die Höhen von verschiedenen Bereichen nicht zusammenpassen.

    2.1 Flüsse

    Zuerst noch ein paar Worte zu Wasser: Wie wir alle wissen hat TPF2 nur einen konstanten Wasserpegel. In der Realität haben Flüsse allerdings einen Gradienten und es gibt Seen auf anderer Wasserhöhe. Große Flüsse ändern sich auf TPF Kartenlängen nicht viel in der Höhe, z.B. so 10m auf 24km. Hier kann man einfach den Mittelwert als Wasserhöhe nehmen und die Ufer etwas anpassen. Bei kleinen Flüssen kann das jedoch problematischer werden, man bekommt hier richtige Schluchten. Daher muss man entweder die umliegenden Bereiche stark abflachen oder mit Wassertexturen arbeiten.


    Auch wenn Flüsse nicht besonders tief sind, sollte man bei Gewässern so 10m tief graben. Bei geringen Wassertiefen kann es zu Z-Fighting mit dem Terrain kommen, was besonders bei großer Entfernung direkt von oben negativ auffällt.

    2.2 Heightmap beschaffen

    Webseiten für Terraindaten:

    • https://terrain.party/ - Die Party ist vorbei, Seite funktioniert nicht mehr.
    • https://heightmap.skydark.pl/ - Aktuelle Alternative der Cities Skylines Community. Nur quadratische Karten. Am besten alle 5 Optionen downloaden. (Es gibt auch einen OSM Download für OpenStreetMap Daten. So hat man diese für den OSM Importer gleich passend zum selben Kartenausschnitt. Hier stehen auch die Bounds Koordinaten drin, falls man die später braucht.)
    • https://tangrams.github.io/heightmapper/ - Höhendaten direkt sichtbar mit Autoskalierung, aber genaue Lokalisierung des Kartenausschnitt nur schwer möglich.
    • https://www.opendem.info/ - Daten aus der Copernicus Vermessung, wahrscheinlich gute Qualität, aber spezielle Dateiformate. Teilweise DTMs verfügbar.
    • https://www.d-copernicus.de/daten/datenzugang/ - Copernicus Vermessung, (kostenlose) Anmeldung notwendig.
    • https://sonny.4lima.de/ - DTMs im hgt Format, laut eigener Aussage sehr gute Qualität
    • Manche Bundesländer haben ein Geoportal mit eventuell kostenlosen, hochaufgelösten DTM (DGM).

    Kein Download, aber trotzdem praktisch (für spätere Checks und Korrekturen):

    Die skydark Seite bietet wohl den schnellsten und einfachsten Export. Die Qualität und Auflösung ist aber bei opendem/copernicus vermutlich besser. Allerdings ist hier der Bearbeitungsaufwand höher. Gegeben ist bestenfalls eine .tif Datei, die man mit GIMP in eine korrekte Graustufen png umwandeln muss.


    Ich habe mir damals Daten von opendem geholt und kann daher keine Vergleiche mit anderen Quellen über die Qualität/Auflösung ziehen. Grundlegendes Problem ist, dass es sich oft nur um Oberflächenmodelle (DSM) handelt, welche auch Bäume und Gebäude enthalten. Für einen anspruchsvollen Nachbau wäre ein richtiges Geländemodell (DTM) idealer. Am besten mit einer Auflösung von 4m (die Terrain Auflösung von TPF) oder besser, dann hätte man sogar Dämme von Straßen und Gleisen schon drin. Grundsätzlich gilt: je schlechter die Heightmap, desto mehr Nachbearbeitung hat man im Spiel oder man lebt mit gewissen Ungenauigkeiten. Z.B. kann es dann passieren, dass ein Gebiet mit Wald 15m höheres Terrain hat und die Übergänge dann schwierig sind. Am Ende muss die ganze Karte ja zusammenpassen. Gerade für Bahngleise sind Höhen und Steigungen relevant.


    Wichtig beim Export ist, auf die Kartengröße zu achten. TPF skaliert später einfach die gesamte Höhenkarte auf die aktuelle Map. Daher musst du darauf achten, dass die Exportgröße (oder nach Bearbeitung) genau mit der geplanten Kartengröße übereinstimmt. Bei skydark gibt ein Feld für die Länge. Außerdem sollte man sich die Minimal- und Maximalhöhe vom Kartenausschnitt aufzuschreiben, sofern möglich. Will man ein Overlay nutzen, sollte man sich auch die Randkoordinaten aufschreiben, um es später genau anpassen zu können.

    2.3 Heightmap bearbeiten

    In fast allen Fällen wird es nötig sein, die erhaltene Heightmap (in welchem Format auch immer) zu bearbeiten. Hierfür empfehle ich GIMP (kostenlos).


    Wichtig zu verstehen ist, dass eine Heightmap eine Graustufen png-Datei sein muss, welche zwischen Schwarz und Weiß die Höhe codiert. Daher sollte man bei seiner Datei erstmal checken, ob überhaupt der ganze Bereich zwischen ganz schwarz (0) und ganz weiß (1) genutzt wird. Falls nicht, muss man die Werte linear transformieren (z.B. via Werkzeuge > GEGL > Levels). Bei einer .tif Datei muss ggf. von Gleitkommadarstellung auf 16-bit Ganzzahl transformiert werden. Außerdem sollte man (entgegen Rutels Anleitung) beim Format den Standard „Wahrgenommenes Gamma (sRGB)“ eingestellt lassen. Weitere Funktionen wie Kontrast sollten nicht benutzt werden, da sie die Daten evtl. nichtlinear verzerren.


    Je nach Quelle müssen ggf. zuerst mehrere Einzelbilder zusammengefügt und beschnitten werden. Hierbei muss auf die korrekte Kartengröße und Bildgröße geachtet werden. Dabei kann man die Karte ggf. mithilfe eines Layers worauf die Kartenränder markiert sind, zurecht schneiden. Insbesondere wenn man ein Overlay nutzen will, sollte man hier sehr genau arbeiten.


    Beim Export auf 16-bit achten und nochmal auf die Graustufen achten, sonst akzeptiert TPF die Karte nicht.


    Dieses Tutorial beschäftigt sich mit dem Bearbeiten via QGIS.

    2.4 Import

    Anschließend kann die Karte in den TPF2 Karteneditor geladen werden. Hier muss nun Minimal-, Maximalhöhe und der Wasserpegel korrekt angegeben werden, damit die Höhenverhältnisse passen. Idealerweise wurden diese beim Export mitgegeben. Ansonsten muss man diese von Hand aus einer topografischen Karte bestimmen/finden.


    Bei Nutzung von anderen Maßstäben als 1:1 müssen die Höhen entsprechend verringert werden. Sonst passen die Verhältnisse nicht mehr und die Steigungen sind zu hoch. Dazu berechnet man sich den Maximalwert so, dass der „Höhenumfang“ (Max-Min) um den Maßstabsfaktor kleiner ist.


    Abschließend am besten mal Testmessungen an verschiedenen Stellen machen, bevor man anfängt zu bauen, und vergleichen, ob die Höhen passen (z.B. mit topographic-map).

    3 Overlay

    Ein Overlay ist nicht zwingend notwendig für einen Nachbau, aber extrem hilfreich. Nur bei einem realitätsnahen 1:1 Nachbau macht ein Overlay Sinn. Wenn eine Heightmap genutzt wird, muss das Overlay genau an diese angepasst werden, daher werden hierfür die genauen Randkoordinaten der Karte gebraucht.

    3.1 Kartentyp

    Man kann prinzipiell jede beliebige Karte für ein Overlay nutzen. Was für einen am geeignetsten ist, hängt ggf. von der Art des Nachbau Projekts ab. Typische Karten sind z.B.

    Ich würde OpenStreetMap aufgrund der Detailtiefe empfehlen und insbesondere wenn man den OSM Importer benutzt. OpenRailwayMap sollte man nur verwenden, wenn der Fokus ausschließlich auf Eisenbahnanlagen liegt. Man sollte nicht vergessen, dass man ja später immer noch parallel (am besten zweiter Bildschirm) mit einer anderen Karte Details beim Bauen nachschauen kann.


    Aber auch Luftbilder können sinnvoll sein, um einen möglichst realen Nachbau zu erreichen. Einige Bundesländer/Städte bieten ein Geoportal an mit einer Vielfalt an hochwertigen Karten.

    3.2 Art des Overlays

    Es gibt mehrere Arten wie Overlays in TPF2 umgesetzt werden können. Es gab schon sehr früh einfache Mods im Workshop, die praktisch nur eine Konstruktion als platte Fläche mit einer austauschbaren Texturdatei anbieten, welche dann aber im Terrain versinkt.


    Es gibt daher 2 sinnvolle Alternativen, die sich an das Terrain anpassen: Das aufmalbare Overlay und die austauschbare Bodentextur. Ich empfehle letzteres, da man hier direkt das Overlay auf der gesamten Karte hat und einfach per Mod an- und ausschalten kann. Außerdem hat dies den Vorteil, dass man so zwischen verschiedenen Kartentypen wechseln kann.


    Ein Overlay war bereits in TPF1 möglich. Hier finden sich ggf. weitere interessante Informationen.

    3.3 Erstellen der Kartentexturen für TPF

    Bei beiden Methoden hat man nun die Herausforderung, die Karte aus Einzelbildern erst passend aneinander zu kleben und anschließend wieder in für TPF2 mundgerechte Stücke zu schnipseln, nämlich Texturdateien (dds) fürs Terrain.


    TPF2 verlangt bei Terrain-Texturen immer 4096x4096 Pixel. Bei den wenigsten Quellen für die Kartendaten wird man direkt ein einzelnes hochaufgelöstes Bild bekommen. Die Bodentextur hat in TPF eine Auflösung von 1m, d.h. für eine größenwahnsinnige Karte wären 24576 x 24576 Pixel ideal um die volle Auflösung zu nutzen. Also einfach Screenshot machen ist nicht, weil dann wird alles unscharf. Außerdem ändern sich bei den meisten Webkarten wie OpenStreetMap mit der Zoomstufe die Details (je nachdem werden andere Namen, Details, Strukturen sichtbar). Daher sollte man sich überlegen, mit welcher Zoomstufe man die Screenshots macht (ich habe bei OSM 17 verwendet, siehe die URL). Mit dem Tool FireShot kann man Screenshots über der Bildschirmauflösung von dem ganzen Seiteninhalt durch automatisches Scrollen machen. Eine Anleitung findet sich hier (wer eine bessere hat, gerne ergänzen). Das hat bei mir aber auch nur bis 8000 Pixel funktioniert (ich hänge meine html Datei hier an).


    Anschließend muss man die Bilder zusammenfügen und dabei auf einen passenden Übergang achten. In Rutels Anleitung wird dafür ein Tool empfohlen, aber es geht auch mit ein wenig Geschick in GIMP mithilfe von transparenten Ebenen. Sehr wichtig ist auch, auf den Rand zu achten. Man will ja schließlich, dass das Overlay genau zum gewählten Kartenausschnitt (und zur Heightmap) passt. Hat man die Koordinaten parat, kann man durch Modifizieren dieser URL https://www.openstreetmap.org/note/new?lat=47.69997&lon=8.63193 die Kartenposition checken. Andernfalls muss die Heightmap als Ebene dazugeladen werden und manuell passend positioniert werden, am besten mithilfe der Flüsse.


    Mehr Hinweise zur Erstellung der Terrain-Texturen finden sich in den Anleitungen der beiden Tools.

    3.4 Austauschbare Bodentextur

    In Rutels Anleitung zur Kartenerstellung wird dieser Weg beschrieben, wobei ich nicht alle Schritte exakt danach befolgt habe. Man muss sich eine eigene Mod erstellen, in die die erstellten dds Kartenausschnitte reinkommen, und bestimmte Dateien im shader, climate und terrain_material Ordner platzieren. Dabei kann man sich am beigefügten Beispiel von Mainz/Wiesbaden orientieren. Diese ist eine sehr große quadratische Karte, was auf 16 Terrain-Texturdateien mit 4096x4096 Pixel hinausläuft. Bei einer größenwahnsinnigen Karte wären es entsprechend 36 Kacheln, wobei es auch mit 9 geht, wenn eine Texturdatei einen Bereich von 8192m abdeckt. Man kann mehrere Mods mit verschiedenen Karten erstellen, sodass man zwischen diesen wechseln kann. Man kann jederzeit die Mod deaktivieren um das Overlay zu entfernen.


    Bei mir hatte ich einen Bug bei 36 Terraindateien, weil die Reihenfolge unerklärlicherweise nicht eingehalten wurde und ich dann Dreck und Grastexturen zwischen den richtigen Kartenkacheln hatte. Durch einen Workaround in der shader Datei konnte ich das Problem lösen (siehe Anhang). Zum Testen: Man kann mit AltGr+R die Shader neuladen. Auch das Hinzufügen von Mods, die Bodentexturen mitliefern, könnte diesen Bug verursachen.

    3.5 Aufmalbares Overlay

    Das aufmalbare Overlay kann da verwendet werden wo man es gerade haben will, muss später aber wieder wegradiert werden. Hat den Vorteil, dass man das Overlay spontan auf beliebigen Stellen der Karte hinzufügen oder entfernen kann, erfordert aber händischen Aufwand. Hier ist die Anleitung und hier ein Video-Tutorial (zeigt auch das Zusammenfügen von Kartenausschnitten mit GIMP).

    3.6 Im Spiel

    Es sollte die Einstellung Bodentexturen: Sehr hoch gewählt werden, damit das Overlay nicht unscharf wird.

    4 Nützliche Mods

    Es gibt zahlreiche Mods, die den Realismus im Spiel erhöhen oder generell nützlich für einen Nachbau sind. Je nach nachzubauender Region/Land ist man stark von den verfügbaren Mods, z.B. Fahrzeugen abhängig und muss wahrscheinlich sehr oft improvisieren, da es nicht alles als Mod gibt.


    ----- (kann gerne von jedem ergänzt werden) -----


    5 Nutzung von OSM Importer

    OSM-TPF2-Importer ist ein Tool zum automatisierten Import von OpenStreetMap Daten.


    https://github.com/Vacuum-Tube/OSM-TPF2-Importer


    Thread: OSM Importer: Automatisierter Nachbau mit OpenStreetMap


    6 Bekannte Nachbau Projekte

Teilen

Kommentare 4

  • Wirkt sich die Kartengröße eigentlich nur auf das normale RAM (dürfte in der Tabelle oben gemeint sein) aus, oder muss ich auch das Grafik-RAM vergrößern, um entsprechend große Maps zu bearbeiten?

    • Im Grafik Ram werden Texturen gespeichert, aber hier geht es ja nur um die Vielfalt. D.h. wenn man viele unterschiedliche Texturen (Bodentexturen + Modelltexturen) hat, gibt es hier einen Effekt. Wenn man aber auf der ganzen Karte immer die gleichen Texturen verwendet, dürfte sich das nur auf den normalen Speicher auswirken.

  • Badgerhax kann ich für die Liste bekannte Nachbau-Projekte empfehlen: https://www.youtube.com/@badgerrhax. Er baut Manchester, und hat sogar der Manchester-Tramlink-Mod hergestellt (in Steam zur Verfügung).


    https://www.youtube.com/watch?v=3vGy91FTc08


    Mod showcase: https://www.youtube.com/watch?v=q0EFUqeVOxY.

  • absolut interessant!

    bei mir schwirrt aähnliches im kopf rum, bloß viel kleiner: ich liebäugel damit, die sicht vom schlafzimmerfenster aus nachzubilden: also den hinterhof mit nachbarhaus, hinten links der getränkefirma-hof, da ggü einige kleine erdgeschossige appartements für studenten und dahinter dann der bahndamm (strecke Hamburg-(OS)-Köln).

    selbst wenn die gebäude farblich und baulich nicht ganz passen, müßte der wiedererkennungswert doch ausreichend sein.. stell ich mir iwie witzig vor.

    aber du hast definitiv den größeren... maßstab ;)

    danke für deine arbeit :thumbup: