NEXT - für Trainsimulator Classic (Railworks)

Discord Einladung
Trete unserem Discord-Server bei (klicke hier zum Beitreten).
  • Ich weiß, wie TSC seine Daten verarbeitet, weil ich mich seit Langem praktisch damit beschäftige. Mit meinem TSC Visual Framework habe ich mich zunächst in die laufende 64-Bit-Version eingeklinkt und über einen D3D9-Proxy Shader, Renderzustände und Zeichenaufrufe untersucht. Danach habe ich den RenderCore der GameManagerVC64.dll analysiert. Dabei wurde klar: Ein Grafik-Proxy ersetzt nicht die Engine. Deshalb lese ich für NEXT die vorhandenen Spieldaten selbst und stelle sie mit einem eigenen Renderer dar – ohne Originalshader.


    Die Tracks.bin ist komplex, aber die Beschreibung als Datei, in der wahllos alles steckt, ist falsch. Sie enthält wichtige Netzwerkdaten und Verknüpfungen; die Gleiskurven liegen beispielsweise in den Track Tiles und werden über IDs zugeordnet. Signal- und Fahrzeugskripte sind weitere Bestandteile.


    64 Bit bezeichnet bei TSC die Architektur des Programms und den größeren adressierbaren Speicher. Es macht weder das Streckenformat neu noch sorgt es automatisch für einen neuen Renderer oder Multithreading. Dovetail sagte 2018 selbst, dass die Inhalte unverändert bleiben und die Grafik weiterhin DirectX 9 nutzt. Auch die Behauptung, DTG habe den Core danach nie wieder angefasst, stimmt nicht: 2023 wurde er überarbeitet. 2025 erklärte DTG, vorerst bei dieser Codefassung zu bleiben.


    KI hilft mir bei der Analyse. Ob meine Engine eine Originalstrecke korrekt darstellt, muss ich trotzdem an Geometrie, Signalen, Fahrwegen, Skripten und im laufenden Szenario prüfen.

    Kurz gesagt - ich kenne die gesamte Renderpipeline, ich kenne die Worker die alles verarbeiten und weitergeben. Ich mach das alles nicht ohne know-how.

  • Gut, bringen wir es auf die rein technische Ebene. Die detailreiche Ausführung zur Architektur ist korrekt und deckt sich mit den Ergebnissen, die hier im lokalen Reverse-Engineering auflaufen.

    Der Einwand zu den Track Tiles ist absolut berechtigt: In der zentralen Tracks.bin liegen die topologischen Graphen-Netzwerkdaten (Knoten, logische Kanten/Ribbons), die Höhenprofile (cHeight) sowie die via 5-Byte-Referenz (0xE7) eingewobenen Instanzdaten der Signale und PZB-Magnete. Die tatsächliche zweidimensionale, hochauflösende Kurvengeometrie und die physikalischen Splines streamt die Kuju-Engine separat aus den binären Kacheln des Track Tiles-Ordners über GUID-Referenzen.

    Dass ein einfacher D3D9-Proxy den Single-Core-Flaschenhals der GameManagerVC64.dll nicht behebt, ist logisch. Genau deshalb ist das radikale Parsen der unverschlüsselten Assets und der Neuaufbau in einer modernen Umgebung der einzig valide Ansatz, um das System vom alten Core-Unterbau zu befreien.

    Die Diskrepanzen bei der 64-Bit-Einführung 2018 und den nachfolgenden Core-Anpassungen (2023/2025) sind bekannt: Mehr adressierbarer RAM ändert aber im grunde nichts an der fehlenden parallelen Thread-Nutzung und dem starren DirectX-9-Renderpfad.

    Was den Einsatz von KI betrifft: Sie ist ein hocheffizienter Werkzeugkasten für die binäre Mustererkennung und beschleunigt das Schreiben nativer Parser massiv. Die mathematische Validierung der Geometrie (Ecken-Snap-Klemmen, Bounding-Boxen-Abgleich) und die logische Fahrstraßen-Prüfung im Szenario bleiben natürlich die harte Kontrollinstanz des Entwicklers.

    Das Know-how ist also auf beiden Seiten vorhanden. Spätestens wenn die ersten automatisierten Generatoren die Datenstrukturen fehlerfrei beschreiben, erübrigt sich jede theoretische Debatte.

  • Im Kern sind wir uns einig. Ich würde zwei Details präzisieren: Tracks.bin liefert bei den Gleisen unter anderem Topologie, Eigenschaften und Höhenprofile; die X/Z-Kurven lese ich aus den Track Tiles und ordne sie über die RibbonID zu. Erst zusammen ergibt das die räumliche Gleistrasse. Auch 0xE7 würde ich nicht als allgemeines Referenz-Opcode bezeichnen: In SERZ kann ein solches Byte ein dateispezifischer Eintrag im Zeilen-Cache sein; die referenzierte Element-ID folgt dann als 32-Bit-Wert.

    Bei der Engine-Geschichte sollten wir ebenfalls präzise bleiben. Die 64-Bit-Version von 2018 brachte vor allem mehr adressierbaren Speicher, keine neue Grafikarchitektur. Dovetail hat aber 2023 ausdrücklich Core-Code überarbeitet und einen experimentellen DX12-Build angeboten. „Seit 2009 unangetastet“ oder „ausschließlich DirectX 9“ wäre deshalb zu absolut. Dovetails Erklärung zur 64-Bit-Einführung bestätigt zugleich, dass 64 Bit allein keine sichtbare Grafik- oder FPS-Verbesserung versprach.

    Mein Ansatz ist weiterhin, die Originaldaten unabhängig vom alten Runtime-Core zu lesen und in meiner eigenen Engine zu verarbeiten. Vom Visual Framework über RenderCore bis zum jetzigen Rust-System war der Parser nur der erste Schritt. Entscheidend ist die Übereinstimmung im laufenden Szenario: Gleisgeometrie, Weichen, Fahrstraßen, Signalzustände, Fahrzeuge und Anzeigen müssen sich wie im Original verhalten. Genau daran messe ich die Implementierung – und genau dort werden die verbleibenden Fehler sichtbar.

  • Mich würde interessieren, wie weit die Entwicklung von NEXT bei der tatsächlichen Nachbildung des Train Simulator Classic inzwischen fortgeschritten ist. Die Idee, eine vollständig eigenständige Engine in Rust zu entwickeln, die vorhandene Strecken, Fahrzeuge, Szenarien und Lua-Skripte direkt aus der bestehenden TSC-Installation lädt und mit einer modernen Grafikengine darstellt, ist zweifellos ein sehr ambitioniertes Projekt.


    Besonders interessant finde ich dabei die Frage, wie die Kompatibilität mit den zahlreichen unterschiedlichen Inhalten von Dovetail Games, Drittanbietern und der Freeware-Community gewährleistet werden soll. Die Originaldateien einzulesen und ihre Strukturen zu interpretieren, ist schließlich nur ein Teil der Aufgabe. Entscheidend ist aus meiner Sicht, dass die darin enthaltenen Informationen auch korrekt verarbeitet werden und sich die Inhalte anschließend im laufenden Betrieb so verhalten wie im ursprünglichen Simulator.


    Gerade bei komplexen Strecken dürfte das eine erhebliche Herausforderung darstellen. Die Gleisgeometrie muss beispielsweise nicht nur aus den vorhandenen Daten rekonstruiert werden, sondern auch hinsichtlich Höhenprofilen, Kurven, Weichen und Gleisverbindungen korrekt sein. Hinzu kommen die Signaltechnik, Fahrstraßen, die Fahrdienstleitung und die Interaktion zwischen KI-Zügen und Spielerzug. Es reicht nicht aus, dass ein Signalmodell korrekt dargestellt wird oder sein Lua-Skript ohne Fehlermeldung startet. Das Signal muss auch abhängig von der tatsächlichen Betriebssituation den richtigen Zustand anzeigen, und die zugehörigen Fahrstraßen sowie die Zugbeeinflussung müssen entsprechend funktionieren.


    Ähnliche Fragen stellen sich bei den Fahrzeugen. Viele Lokomotiven und Triebzüge besitzen individuelle Skripte, eigene Bedienlogiken und teilweise sehr komplexe Systeme wie PZB, LZB, AFB, Sifa oder herstellerspezifische Funktionen. Dazu kommen die Fahrphysik, Bremsmodelle, Zugkraftkennlinien, die Steuerung der Stromabnehmer sowie die Kommunikation zwischen Fahrzeug und Strecke. Wie wird sichergestellt, dass solche Funktionen nicht lediglich grundsätzlich ausgeführt werden können, sondern sich auch im Zusammenspiel mit anderen Fahrzeugen, Signalen und Szenarien genauso verhalten wie im Original?


    Du hast in deiner Vorstellung bereits Zahlen zur Überprüfung von Fahrzeugen und Lua-Skripten genannt. Mich würde interessieren, wie diese Tests konkret durchgeführt werden. Bedeutet ein fehlerfrei gestartetes Skript zunächst nur, dass es syntaktisch beziehungsweise technisch ausgeführt werden kann, oder wird auch überprüft, ob seine Funktionen im Simulator tatsächlich korrekt arbeiten? Gibt es hierfür automatisierte Vergleichstests mit dem TSC oder werden die Ergebnisse überwiegend durch praktische Testfahrten überprüft?


    Ein weiterer Punkt ist die ursprüngliche Engine selbst. Der Train Simulator Classic hat über viele Jahre zahlreiche Funktionen, Schnittstellen und Besonderheiten angesammelt, auf die Entwickler von Strecken und Fahrzeugen zurückgreifen. Manche Inhalte funktionieren möglicherweise nur deshalb, weil die ursprüngliche Engine bestimmte Abläufe, Daten oder Fehler auf eine ganz bestimmte Weise behandelt. Wie gehst du mit solchen Abhängigkeiten um, insbesondere wenn eine Funktion nicht vollständig dokumentiert ist oder sich das Verhalten nur durch Tests mit dem Original nachvollziehen lässt?


    Mich würde deshalb interessieren, nach welchen Kriterien du den Entwicklungsstand von NEXT bewertest. Gibt es bereits ausgewählte Strecken und Szenarien, die vom Laden der Welt über die Fahrstraßensteuerung bis hin zum Abschluss einer Fahrt vollständig und reproduzierbar funktionieren? Und welche Bereiche bereiten derzeit die größten Schwierigkeiten: die Interpretation der Originaldaten, die Nachbildung der Engine-Funktionen, die Signaltechnik, die Fahrphysik oder die Kompatibilität mit individuellen Lua-Skripten?


    Ich finde den Ansatz interessant, die vorhandene TSC-Sammlung nicht durch einen völlig neuen Simulator mit eigenen Inhalten zu ersetzen, sondern sie mit einer modernen Engine weiter nutzbar zu machen. Gerade deshalb wäre es spannend zu erfahren, wie du den Übergang von einer grundsätzlich funktionierenden Darstellung der Originalinhalte zu einer möglichst vollständigen und zuverlässigen Simulation des ursprünglichen Betriebsverhaltens angehst.


    Mit besten Grüßen

    Peter

  • Deine Unterscheidung zwischen „Datei geladen“ und „im Betrieb korrekt“ trifft den Kern des Projekts. NEXT ist inzwischen ein funktionierender technischer Prototyp, aber noch kein vollständig kompatibler Ersatz für den Train Simulator Classic.


    Die Engine liest Inhalte direkt aus einer vorhandenen TSC-Installation, darunter Archive, Blueprints, Streckenkacheln, Geometrie, Texturen und Szenarien. Sie stellt die Welt mit einem eigenen Renderer dar und führt originale Lua-Skripte in einer eigenen Laufzeitumgebung aus. Die Originalshader werden dabei nicht verwendet; ihre Materialinformationen werden für den neuen Renderer interpretiert. Dass eine Strecke sichtbar ist und ein Zug geladen wird, sagt allerdings noch wenig darüber aus, ob eine komplette Fahrt wie im TSC abläuft.


    Die genannten Prüfzahlen beziehen sich vor allem auf technische Abdeckung. In einer Bestandsaufnahme wurden 901 Fahrzeug-Blueprints und 887 davon mit Skripten erfasst. 2.661 Testprofile prüfen unter anderem Initialisierung und Bedienreaktionen. Dabei traten bei 56 Fahrzeug-Blueprints Laufzeitfehler auf. Ein fehlerfrei gestartetes Skript gilt für mich deshalb ausdrücklich nicht als Nachweis, dass PZB, Bremsen oder Fahrzeugfunktionen korrekt arbeiten.


    Für das Betriebsverhalten nutze ich gezielte Fahrversuche und vergleiche Daten und Abläufe mit dem Original: etwa gespeicherte Fahrwege aus den jeweiligen Saves, Signalstellungen, Skriptzustände und Bremsdrücke. Einen durchgehend automatisierten Live-Vergleich, der dieselbe Fahrt parallel in TSC und NEXT ausführt, gibt es derzeit nicht. Auch ein erreichbares Ziel im Gleisgraphen beweist noch nicht, dass der Zug denselben Fahrweg nimmt: Bei einer Prüfung von 475 gespeicherten Originalwegen waren 471 Ziele erreichbar, doch die Prüfung zeigte auch konkrete Abweichungen im Verlauf.


    Undokumentierte Besonderheiten der alten Engine gehe ich daher fallweise an: Ich lese die Originaldaten und Skripte, beobachte nach Möglichkeit das Verhalten im TSC und baue für eine bestätigte Abweichung einen reproduzierbaren Test. Wo das Originalverhalten noch nicht belegt ist, kennzeichne ich die Umsetzung als Annahme.


    Mein Maßstab für eine belastbare Kompatibilitätsaussage wäre eine benannte Strecke mit benanntem Szenario und Fahrzeug, die vom Start über KI-Verkehr, Fahrstraßen, Signale und Fahrzeugbedienung bis zum Szenarioabschluss wiederholt korrekt funktioniert – mit dokumentiertem Vergleich zum TSC. Eine solche allgemeine Freigabe kann ich heute noch nicht geben.


    Die größten Schwierigkeiten liegen inzwischen weniger beim bloßen Lesen der Dateien als beim Zusammenspiel von Gleisgraph, Dispatcher, Signalen und den sehr individuellen Fahrzeugskripten und Bremsmodellen.

  • Was mich an diesem KI Kram stört ist diese Überheblichkeit. Du scheinst nicht zu verstehen dass damals unter ganz anderen Bedingungen entwickelt wurde und auch DTG selbst zur Zeit der Core Updates keine superschlauen KI Agenten hatte wie du.


    Dass Dinge in der tracks.bin nicht der Reihe nach sortiert werden kann ja auch andere Gründe haben und ist im Spiel eher wurscht weil das Netzwerk im Speicher beim Laden erzeugt wird. Du kannst nicht alles der Reihe speichern weil es nicht unbedingt ein lineares Netzwerk ist. Das ist halt eine Datei weil das Netz als gesamtes geladen wird, vor Szenariostart, anders als Kacheln die nachgeladen werden.


    Ich war selbst am Core Update beteiligt und ich kann dir sagen dass das Pflichtenheft für DTG anders aussah als für euch. Nämlich Kompatibiltät. Die ganzen DLC müssen funtionieren, und viele zunächst toll erscheinende Änderungen mussten verworfen werden weil sich in irgendeinem Szenario oder mit einer geskripteten Lok Fehler ergaben. Es wurde massiv getestet und von den ca. 1000 DLC haben wir es geschaftt dass lediglich drei Szenarien bekannt sind die das Update nicht überlebt haben, der Fix (Dispatcher) aber so wichtig war das diese sehr gute Ausfallquote akzeptiert wurde zugunsten der Stabilitätsverbesserung.


    Nachladeruckler sind, ganz einfach gesagt, schuld des Streckenbauers. Auch da gibt es Dinge zu beachten und man kann nicht einfach wahllos die Kacheln zumüllen und vor allem 3D Objekte in Assetblöcke (die eigentlich dem komerziellen Entwickler damals Zeitersparnis bringen sollten) packen. Das Wissen haben ich und andere in der Praxis erworben durch viele Tests. Ich selbst habe nie Einblick in den Code gehabt. Man nehme mal beispielhaft die Workshoperweiterung der Hudson Line nach Poughkeepsie. Du fährst von NY nach Croton-Harmon, alles flüssig, butterweich und sobald du den neuen Bereich befährst friert das Spiel regelmässig ein obwohl die Szenerie nicht anders ist, aber halt schlampig gebaut wurde, massenhaft Wälder schnell schnell per AssetBlock gezogen ohne zu wissen das die Assetblocks selbst nur einen Seed, die Objekte und ein paar Parameter enthalten. Da muss der Hauptthread warten bis die Kachel(n) live generiert wird, anders als bei normalen Kacheln wo der Thread weiterläuft und du höchstens den Renderer beobachten kannst wie er die Texturen appliziert auf die auftauchenden Objekte, aber der Spielfluss nicht gestört wird. So funktionier das Ding nun mal und es gibt genug Beispiele wie man eine toll ausgestaltete Strecke auch ruckelfrei bauen kann. Wenn ich das Streckenbauen zum Programmieren gleichsetze, kann ich ein Programm halt schlecht schreiben und unperformant oder gut in dem ich Regeln beachte und sauber programmiere.


    Des weiteren kann ich mir auch kaum vorstellen dass DTG den Entschlüsselungscode für die meshes freigeben, ich wäre da sehr vorsichtig, das ist ihr Heiligtum. Ich denke man bewegt sich hier insgesamt sehr gefährlich
    an der Illegalität entlang und tut so als ob DTG das Spiel schon als OpenSource deklariert haben.


    Und generell sehen alle nur die Vorteile aber dass die KI weit mehr Energie brauch als ein Programmierer (ne Pizza und Cola) und wer das dann bezahlt will keiner wissen. Den nötigen RAM / GPU wird sich kaum noch einer leisten können, das sieht man jetzt schon sehr deutlich und das ist keine kurzfristige Schwankung.

  • Spikee1975,

    ich fürchte, bei allem Respekt, dass Dein Wissen um den Einsatz von AI/KI in der Softwareentwicklung, nicht mit Deinem breiten Wissen um den TSC mithalten kann.

    Was für exorbotante Kosten, entstehen denn, Deiner Meinung nach?

    Mit einer 16 GB VRAM Grafikkarte von ATI oder Nvidia läuft das LLM lokal, da entstehen nur Stromkosten. Es gibt ein breites Angebot auf Abo-Basis bei der man subventionierte Tokens im Vorraus bezahlt und Du kannst auch über OpenRouter LLM ohne Abo über Per Token Usage bezahlen.


    Und um meine Argumentation vom letzten Post aufzugreifen und zu bestätigen, was FreD bereits erläutert hat: Die zielgerichtete Entwicklung läuft über Specs und kleine Slices, nicht über einen Prompt. Auf Deutsch: Du legst wie bei der Entwicklung ohne KI, vorher fest, was Du erreichen möchtest, wie Du es erreichen möchtest und welche Zwischenschritte dafür notwendig sind. Du legst ein Testframework fest und welche Abhängigkeiten eingebunden werden müssen. Es folgen Festlegungen zu Konventionen, Datenmodellen und Design.


    Erst wenn Du diese Aufgaben erledigt hast, kann es in die Umsetzung gehen.


    Eine einfache Aufgabenstellung wie "bau mir ein GTA7" wird EIN Ergebnis liefern, aber sicher nicht das gewünschte Ergebnis. Da kommt dann eher ein Browsergame für YouTube bei heraus.


    Also ist Deine Schlussfolgerung, dass die Kompatibilität bei einem Rewrite in Rust keine Rolle spielt, nicht korrekt. Damit eine vollständige Kompatibilität erreicht werden kann, ist das Gegenteil der Fall.


    Genauso wie OMSI2 Addons von OpenOmsi profitieren, könnte der TSC profitieren, wenn es eine moderneres Frontend gibt, dass moderne Hardware besser ausnutzen kann.

    In diesem besser liegt auch keine "Überheblichkeit", sondern nur andere Möglichkeiten.

  • Das mein Wissen was KI betrifft begrenzt ist (nutze sie nicht), da hast du sicher recht.


    Ich habe doch nichts von Prompten gesagt (wobei die Entwicklung so schnell geht das das evtl nächstes Jahr schon passieren kann, man muss sich klarmachen dass die Fortschritte hier rasant sind und was man heute als unmöglich hält morgen schon gehen kann und die Entwicklungssprünge in immer kürzeren Abständen erfolgen.)


    Mit Überheblichkeit meine ich den Kuju Entwicklern Schlamperei zu unterstellen mit dem Wissen das man sich mal eben per KI beschafft hat. Damals hat man halt denken und selber schreiben müssen und was entwickeln mit dem man seine Familie und Kinder ernähren kann, darum gings. Dass das überhaupt so gross wurde haben die wohl damals nicht gedacht - der Vorgänger MSTS erhielt einen Patch und das wars dann - und was aus der Software rausgeholt wurde ist beindruckend meiner Meinung nach, weil das Grundkonzept gut war und zukunftsoffen. Siehe was AP geleistet haben.


    Ich betrachte bei der KI die Gesamtstruktur, also vor allem die Datencenter, die dafür gesorgt haben dass Hardware exorbitant teuer wird weil der Heimkonsumentenmarkt nicht mehr attraktiv ist für die grossen Chiphersteller. Da entsteht das für Intelligenz nötige Netzwerk. Ich finde, dessen sollte man sich bewusst werden, alles hat seinen Preis. Das ist zwar offtopic kann man aber nicht ganz ausklammern finde ich.

    Wie gesagt ich stehe dem kritisch gegenüber aus genannten Gründen. Wenn die DTG verschlüsselten Vertexkooridnaten nicht entschlüsselt werden können, dann ist das ganze eher ein Nachfolger und wird nicht tauglich sein den Grossteil des Contents spielbar zu machen. DTG haben angedeutet, das der Code OpenSource und einsehbar sein muss, d.h. wenn ich dort den Entschlüsselungsalgorithmus reinhaue dann kann ihn auch jeder sehen und gangbar machen ohne dass Steam den Besitz überprüft und den Schlüssel gültig macht und sich per Torrent die DLC runterladen.


    Ich denke die Diskussion wird einen kritischen Blick vertragen, ich kann mich dem "freue mich schon" noch nicht anschliessen. Mal sehen was die KI so schafft, aufzuhalten ist sie nicht mehr, allein schon weil sie für die zwei Grossmächte, und da geht es ums Erziehen, quasi das moralische Alignment der KI, wichtiger ist als die Bombe.


    Zugsimulationen sind ein anderes Biest als OMSI. OpenRails wurde ja komplett reverse engineered (ohne KI) und noch immer nicht ganz kompatibel zu einigen MSTS addons wo man dann in den ENG files nachbessern muss, weil die nicht ganz so strikt waren wie die späteren Blueprints die Kuju definiert haben für RS. Naja mal schauen mit skeptischem Blick. Geht nicht um rechthaben sondern Meinungsaustausch.


    Den Renderer abzukoppeln halte ich für eine gute Idee. Wurde auch bei Orbiter gemacht bei dem nur der urprüngliche DX7 Kern dabei ist und man sich seinen Renderer separat installiert zur _NG (nographics).exe


    Ich warne halt nur vor Euphorie. Da werden noch Hürden kommen wo man sich im Code auf einen geimsamen Nenner einigen muss um Kompatibiltät zu wahren, und rechtlich ist das auch noch nicht einwandfrei.. Ein zweites Mal wird Maik jedoch nicht sein AFB skript ändern wie damals als die erste Phase des Updates es inkompatibel gemacht hat, das ist klar. Aber - das kann ja dann die KI :)

  • Danke für die ausführliche Antwort, so lässt sich viel besser diskutieren.


    Zu Kuju: Wenn das so rübergekommen ist, als würde ich den Entwicklern damals Schlamperei vorwerfen, dann habe ich mich schlecht ausgedrückt. Ich habe großen Respekt vor dem, was Kuju unter den damaligen Bedingungen gebaut hat. Das Grundkonzept mit Blueprints, Lua und offenem Asset-Format ist genau der Grund, warum TSC nach über 15 Jahren noch lebt und warum ich überhaupt darauf aufbauen kann. Dass ich heute an manchen Stellen sehe, was man anders lösen würde, liegt an 15 Jahren mehr Erfahrung in der Branche. Mit Überheblichkeit hat das nichts zu tun. AP ist ein gutes Beispiel dafür, wie viel in der Engine steckt.


    Zu den Rechenzentren: Da gebe ich dir ehrlich recht. Die Hardwarepreise und der Energiebedarf sind ein echtes Thema. Ich klammere das nicht aus, ich habe mich nur entschieden, das Werkzeug trotzdem zu nutzen.


    Zur Verschlüsselung, und das ist mir wichtig: Eine Entschlüsselung der DTG-Geometrie wird es in keinem öffentlichen Code geben. Ohne offizielle Zusage von DTG wird nichts veröffentlicht, was geschützte Inhalte zugänglich macht. Das Problem, das du beschreibst (Algorithmus offen, Besitz nicht geprüft, DLC per Torrent), sehe ich genauso, und genau deshalb passiert das nicht. Wie verschlüsselte Inhalte sauber eingebunden werden können, etwa mit Besitzprüfung über Steam, kann nur mit DTG zusammen geklärt werden. Bis dahin gilt die Einschränkung, die du ansprichst, da hast du recht.


    Zu OpenRails: Der Vergleich passt nur teilweise. OpenRails musste das MSTS-Verhalten rekonstruieren, und die MSTS-Dateien waren oft nicht streng definiert. TSC hat mit den Blueprints ein deutlich strengeres Format. Ich lese die Werte direkt aus den Dateien, statt sie zu schätzen. Dass trotzdem Sonderfälle kommen, bei denen einzelne Addons sich anders verhalten als im Original, bezweifle ich nicht. Daran wird man lange arbeiten.


    Zum Renderer: Freut mich, dass wir da einer Meinung sind. Orbiter ist ein gutes Beispiel.


    Zur Euphorie: Die Skepsis ist berechtigt, und ich nehme sie ernst. Es kommen sicher noch Hürden, technische wie rechtliche. Ich verspreche niemandem etwas, das ich nicht halten kann. Meinungsaustausch in dieser Form ist mir jedenfalls lieber als Jubel ohne Nachdenken.

  • massenhaft Wälder schnell schnell per AssetBlock gezogen ohne zu wissen das die Assetblocks selbst nur einen Seed

    Die Innerstetalbahn, Brockenbahn und Rübelandbahn widersprechen dieser Aussage. Müssen halt nur 2D Bäume in den Assetblock Wäldern sein. Laufen diese Strecken genau so flüssig wie Oxford - Paddington? Nein... aber das erwartet auch keiner.

    „Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
    Benjamin Franklin

    2 Mal editiert, zuletzt von tom87 ()

  • Zu Kuju: Wenn das so rübergekommen ist, als würde ich den Entwicklern damals Schlamperei vorwerfen, dann habe ich mich schlecht ausgedrückt.

    Ich habe auf TrainNolden geantwortet, bezog sich nicht auf dich.

    Die Innerstetalbahn, Brockenbahn und Rübelandbahn widersprechen dieser Aussage. Müssen halt nur 2D Bäume in den Assetblock Wäldern sein. Laufen diese Strecken genau so flüssig wie Oxford - Paddington? Nein... aber das erwartet auch keiner.

    Ach guter Tom, das ist schon klar dass 2D egal ist - das spielt wirklich null Rolle heutzutage aber sowas von null, und du kennst mich, habe oft bemängelt dass RSSLO ihre 3D Bäume fast ausschliesslich sogar in kleinen Gärten per Assetblock platziert haben, da findest du lauter Fünfergruppen. Das ist kein Widerspruch du kannst dir genanntes Beispiel mal anschauen und selbst erleben dass ein klarer Bruch zwischen dem DTG Abschnitt und dem Userabschnitt zu merken ist, da steht das Bild 20 Sekunden bevor es weitergeht obwohl die Szenerie selbst genauso aussieht, und das andauernd. Das sind die Assetblöcke die den Thread anhalten bis die Kachel fertig ist, kannst du glauben oder nicht. Das meine ich. Bei mir laufen auch die letzten DTG Strecken flüssig (Huddersfield, Chatham, Pegnitz, Strasbourg), und die sind sehr gut gebaut, die Jungs haben das halt schon ewig beruflich gemacht, das Extrembeispiel lowpoly und wenig assets Oxford-Paddington ranzuziehen macht da wenig Sinn, wenn ich die Framerate bei mir aufmache dann läuft die mit 500 FPS nativ darum gehts nicht. Es geht explizit darum dass beides stimmen muss, Code und Content. Das eine kann das andere nie komplett wettmachen. Und da gibts dann Leute die alles auf die Engine schieben obwohl sie sich vielleicht selbst verbessern könnten bevor anderen die Schuld zu geben. Ich kann jede Engine per schlechtem Mapping in die Knie zwingen, auch die UE.


    So und jetzt ein konstruktiver Vorschlag. Beim setzen von Assetblöcken eine Option "Save" hinzufügen die die Objekte permanent auf die Kachel nagelt - dann macht das Ding nämlich erst Sinn. Da kann ich rumbprobieren bis mir das Ergebnis passt und dann "Einloggen". Das heisst ich erzeuge ganz normal die Kachel mit Szenerie anstatt das Generieren der Koordinaten der Laufzeit im Spiel zu überlassen.


    Noch zur Anmerkung: Ja mir geht momentan alles was in der Welt passiert auf den Sack, da knallts überall aber gewaltig, alle Nachrichten scheisse, Klima kaputt Buhnen am Rhein sind fast schon das ganze Jahr leer, soll ich Zander im Hauptstrom angeln?.... Und irgendwie gehört die KI mit ihrer bedrohlichen Seite auch zu Dingen von denen ich in meiner "Flucht" in die schöne TSC Welt nichts wissen will. Bin zufrieden mit ihm so wie er ist. Das bringt wohl das Alter mit sich und es ist ganz angenehm mal nicht mehr "mehr" zu wollen. Das als menschliche Anmerkung.

  • habe oft bemängelt dass RSSLO ihre 3D Bäume fast ausschliesslich sogar in kleinen Gärten per Assetblock platziert haben

    Lese ich tatsächlich zum ersten mal. War mir nicht klar, dass RSSLO oder andere sowas praktizieren. Ich dachte es sei Usus, dass man in Assetblöcken nur 2D nimmt.

    Das ist kein Widerspruch du kannst dir genanntes Beispiel mal anschauen und selbst erleben dass ein klarer Bruch zwischen dem DTG Abschnitt und dem Userabschnitt zu merken ist, da steht das Bild 20 Sekunden bevor es weitergeht obwohl die Szenerie selbst genauso aussieht

    Welche Stelle und Strecke meinst du jetzt nochmal genau? Für unsere Strecke kenne ich keine "20 Sekunden einbrüche". Da hackt es mal eine Sekunde und weiter gehts (wie bei den meisten Strecken). Eine Ausnahme ist eine Kachel wenn man von Bad Harzburg kommt und auf Oker zufährt. Da stockt es mal 3-4 Sekunden. Wir sind bis heute nicht dahintergekommen woran das liegt. Wenn du da mehr weisst, wären wir an der Antwort sehr interessiert.

    „Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
    Benjamin Franklin

    3 Mal editiert, zuletzt von tom87 ()

  • Weiter oben, das Beispiel ist die Hudson Line nach Poughkeepsie Workshop Erweiterung. Durchgehend gleichgute Optik aber bautechnisch anders, nördlich von Croton Harmon gehts los mit der Ruckelei schlimmer als TSW Shader Compilation.


    Zu Harnetz, wenn es einmal 3-4 Sekunden stockt dann ist das meines Erachtens nicht schlimm. Muss man genau nachkucken. Leider ist bei euch zuviel Vegetation aus zig Providern freigeschaltet (meine damals an die 1000 Bäume gezählt zu haben wo andere Strecken mit 20-30 auskommen), und ich vermute dass vieles davon auch doppelt und dreifach vorhanden ist. Wenn ich also optisch ne "Black_Ash_tree" als Beispiel einmal aus DTG\xy und daneben aus DTG\ab verbaue weil das in der Liste nicht zu erkennen ist kostet das schon Leistung weil mehr oder wenig doppelt vorhandene Meshes gecached werden an statt nur eines für alle dieser Art auf der Kachel (das gleiche gilt für Repaints, gleiche Geos aber für die Engine verschieden da anderer Pfad, aber der ReskinBlueprint ist nicht so beliebt weil nicht QuickDrive fähig oder anderes wie zusätzliche Childs). Aber wie gesagt muss ich nachschauen, was bei Oker los ist.

  • Leider ist bei euch zuviel Vegetation aus zig Providern freigeschaltet (meine damals an die 1000 Bäume gezählt zu haben wo andere Strecken mit 20-30 auskommen), und ich vermute dass vieles davon auch doppelt und dreifach vorhanden ist

    Jepp, ist genau wie du es beschreibst. Das gleiche gilt bei den SAD Assets. Der Ursprung der Strecke ist über zehn Jahre alt und da wurden halt Fehler gemacht. Es ist unübersichtlich beim bauen, aber ich weiss nicht ob es großartig Einfluss auf die Performance hat. Da man im Harz eh kein KI Feuerwerk abbrennen kann, wird man warscheinlich niemals an die Ramgrenzen stoßen. Da ist dann mehr Spielraum für Ausgestaltung. Bad Harzburg-Hildesheim kannst du froh sein, wenn du 5 andere Ki Züge zu Gesicht bekommst. Ist halt kein Hamburg-Hannover, wo man 100 KI Züge plazieren kann, wenn es realistisch sein soll.

    „Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
    Benjamin Franklin

    2 Mal editiert, zuletzt von tom87 ()