Beiträge von eis_os

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


    Die Chancen stehen nicht schlecht, ich hab es auf meiner Todo Liste,
    aber da sind gerade noch ein paar andere Sachen von höhere Priorität, zum Beispiel das Problem von Gordon Dry.


    @Gordon Dry: Würde ein TpF Bahnhof das selbe Problem zeigen?


    Ich komme aber erst in den nächsten Tagen dazu weiter am Bahnhof zu programmieren.

    @chrigulix : Hab ich im verlinkten Thread geschrieben, die Linux Version hatte eine Tonne Funktionsnamen. Damit war es mir möglich + die Text Asserts viele Funktionen zuzuordnen.


    Zum Thema Kerne, die jeweiligen Caches müssen der Kerne müssen sich untereinander austauschen (Cache Kohärenz) L1<->L2(<>L3), auch Intel CPUs machen es, gerade Intel und AMD haben da gerade sehr unterschiedliche Herangehensweisen in einigen Aspekten. Bei HT am selben Speicher Bereich fallen alle möglichen Vorhersagen in die Tonne und alle "spekulativen" Vorberechnungen... Das geht aber jetzt zu weit.


    Ich hab 2014 UG schon gefragt warum Train Fever so viele Dateistat Abfragen zu den Texturdateien während des Spiels macht. (Im Umkehrschluss, zu viele Texturen durch Mods machen das System natürlich um so mehr "kaputt")


    Und zu den zwei Threads, auch TpF macht wohl Intern immer noch das was TF machte.
    Ein paar Unterschiede die ich sehe, das TpF Industrien erst bei einem Monatswechsel "anspringen" und da gefühlt "optimiert" wurde. Aber so im großen und ganzen ist das Grundgerüst nicht anders, im positiven wie auch im negativen Sinne. Und eben immer noch nicht wirklich skaliert...


    PS: Moderne CPUs sprechen RAM und GPU direkt ohne Umweg eines Chipsatzes an...

    Hmm. Also einen Screenshot bräuchte ich schon, du hast nicht zufällig ein Gefälle eingestellt?


    Jasc Paint Shop Pro 9 (letzte vor Corel Version) + TPF GOG 64Bit im Fenster Modus, man sieht keine nCursor aber den Bahnhof, funktioniert auch unter Windows 10 immer noch. Screenshot definiert per Hotkey F11. Der letzte Screenshot über die neue Version ist so entstanden, rechts sieht man den Bahnhof...

    Und wenn man die Debug Symbole von Train Fever hat (erste Version) und eine Analyse bei Train Fever gemacht hat, wird diese trotzdem ignoriert!


    Was macht TF Intern und warum es ruckelt


    Ein Thread könnt Ihr sowieso wegstreichen in eurer Diskussion, der ist für die Hintergrund Musik zuständig in Transport Fever.


    PS: Es ist auch nicht sonderlich intelligent zwei Threads zu beschäftigten auf zwei Kernen, wenn die Daten austauschen müssen, das gibt nur Probleme das der CPU Cache nicht mehr genutzt werden kann.


    Noch eine Sache: Auch bei TpF bricht bei Kollisionen die Perfomance ein. D.h. wenn Ihr eine Stadt am Wachstum hindert in TpF, dauert diese Berechnung einfach länger...
    (Das TpF jetzt mehr Häuser ineinander baut verbessert daher eher die Performance)

    Yes, I know how the NodeID system works. Was only not quite sure about what happens if there is a street in between as example, thanks for clarification.


    Technical my station uses an extra bind pass. For every rail station track segment the future edgeId is recorded and later a bind function connects every platforms.


    Again only placing all the options into the UI is a real challenge...

    Hmm, das war wohl etwas schlecht ausgedrückt, der Index in einem Array aus allen edges. Ist schon klar das der Index errechnet bzw. vom Script bestimmt wird.


    Bei zwei Gleistypen hab ich ja zwei theoretisch unabhängige edgeLists (bzw. mit Strassen sogar noch mehr), jeweils mit Ihren eigene Nodes. Die NodeID ist dann der Index über alle edge listen hinweg, wollte mich da nur nochmals versichern.

    Nein, ohne Erklärung ist es ja nicht nutzbar, außerdem es ist immer noch eine Alpha Version

    Als nächstes ist ein besseres Bahnhofsgebäude dran und auch komplexe Layouts aus Dateien.


    Mit komplexen Layouts sollten dann wohl auch das Trennen von Gleisen funktionieren bzw. dann kann man theoretisch selber ein Gleiswechsel einbauen...


    Vielleicht kann mir @Tom auch verraten wie man mehrere Gleistypen an Plattformen anschließen kann.
    Zählt TpF die Nodes dann einfach weiter für die terminalGroups vehicleNodeOverride Ids?

    Neue Version 20190129

    • (Intern) Komplett neue Bauroutine
    • Eigene Layouts per Liniennamen definieren
    • Fix: Längen und Anzahl der Gleise führen zum Crash in TPF Scripten
    • Neun Gleise per UI baubar
    • Bessere Behandlung der erweiterten Längen
    • Fix: Bahnhofsdächer an falscher Stelle
    • Neue Icone für Tab 3
    • Layout B ungetestet, (wird nicht mit Steigungen funktionieren)

    Webdisk download hier: Moderner Bahnhof mit mehr Bauoptionen (Modern train station)


    Nochmalig: Es ist eine Alpha Version. Achtet auf das Datum im Dateinamen
    Passwort: alphaalpha






    Diese Version ist nur grob getestet.


    Es gibt nun Layouts zum Auswählen, ABCD12345. ABCD sind fest verdrahtet, 12345 sind eigene Layouts
    C und D funktionieren noch nicht.


    Zum Layout erstellen:


    Um ein einfaches Layout zu erstellen, nutzt Ihr den Linienmanager, erstellt eine neue Linie.


    Dann benennt Ihr die neue Linie um: (Linie anklicken, Stift Symbol zum Umbenennen nutzen, Layout schreiben und dann die Enter Taste nicht vergessen!)
    >>[UI Nummer]>>[Layout]


    Die Nummer könnt Ihr in der UI dann anwählen, siehe dafür auch den Screenshot.


    Für das Layout dürft Ihr zur Zeit benutzen:


    =Gleis
    MMittelbahnsteig
    RBahnsteig für Gleis Rechts (d.h. nachfolgendes Gleis mit = definieren)
    LBahnsteig für Gleis Links (d.h. vor dem Buchstaben L ist ein Gleis mit = definiert)
    Leerfläche 5m, dort passt auch ein Gleis hin ;)


    Das eigene Layout kann auch mit verschiedenen Gleislängen gebaut werden, dafür einfach diese in der UI auswählen. (TAB3)
    Nicht alles was man Bauen kann wird auch funktionieren.


    Alle Gleise müssen immer vom Hauptanschluss erreichbar sein oder zumindest der zweite Gleisanschluss mit dem Strassennetzwerk verbunden werden.




    Viel Spaß

    Mir wäre ein schönes Gebäude natürlich lieber als gar keins. Aber die Lanes der Originalgebäude passen jetzt wirklich gar nicht mehr und haben ja sowieso das Problem mit der Steigungen.
    Ein neues Gebäude müsste wohl ein breite Treppe im Zentrum haben. Für Blenderspielerein fehlt mir aber die Zeit.

    Hallo


    @Nordwestexpress Das wohl die Bahnhofsgebäude am ersten Strassenanschluss wegfallen oder ich vielleicht nur noch eine Variante davon anbiete, ergo Klohäuschen...


    Für die erstere Variante ohne Gebäude, wären beide Anschlüsse wie der normale zweite Anschluss.


    Damit Ihr euch besser vorstellen könnt was ich da so gerade baue.
    Das ist ein simples Layout, d.h. die Zeichenkette "=M= R==L==M= ==" mit veränderten Längen für die Gleise in der UI erzeugt das hier:




    Ja, das ist ein Mittelbahnsteig mit verschieden Längen, zusätzliche Umgehungsgleise, in der Mitte gibt es einzelne Außenbahnsteige. :D


    Das gibt unter dem Bahnhof natürlich absolutes Chaos um die Gehwege zu verbinden, die Bauroutine kennen die Bahnsteigbreiten, d.h. das kein einfaches Raster sondern es gibt die Breite einer Schiene bzw. ein Leerstreifen, einfacher Bahnsteig (Links Rechts) sowie Mittelbahnsteig.



    -edit-
    Natürlich sollten dann keine Bugs mehr drin sein, wenn es aber keiner der schon vorher genannten Bugs waren, solltest Du @Taigatrommel66 natürlich auch dahin schreiben welcher Bug das ist.


    Hauptsächliche Bugs in der Alpha:
    - Kurzer Bahnhof mit Steigung = Crash
    - Langer Bahnhof führt zum Crash in den TpF Scripten zum Bahnhofsbau.
    - Verschiedene Bahnsteiglängen im Untergrundmodus gehen nicht

    Das sieht danach aus das ein Edge Definition nicht richtig ist.
    D.h. nach der Berechnung eine Länge nahe 0 herauskommt. (wenn man dann dreht ist es 0).
    Entweder kommen sich zwei Punkte zu nahe, ein Richtungsvektor deiner Gleis Konstruktion ist nahe 0 oder hat komplett falschen Orientierung.

    @Tom


    Du redest gerade von TpF, was macht dort Sinn?


    Fakt ist, ein Bahnhof muss alle Bahnsteige irgendwie am Straßennetz angebunden haben, da TpF beim Abladen von Waren/Passagieren sonst einen Crash macht.
    Dabei ist es unerheblich welchen Bahnsteig der Zug genommen hat, also der genutzte Bahnsteig sehr wohl angeschlossen ist.
    Die Berechnungen werden nicht gemacht wenn der Bahnhof gar nicht am Straßennetz hängt. Da ist ein Logikfehler im Spiel, der Zustand "Teilangeschlossen" wird nicht berücksichtigt. Ich hab das jetzt mehrmals getestet und reproduzierbare Crashs. Warum es da Wechselwirkungen gibt keine Ahnung.


    TPF hat auch ein Limit an Bahnsteigen. Man kann also einen Bahnhof bauen, der X Segmente hat, die man nicht an die Schienen Nodes bindet, aber ab einer bestimmten Menge crasht das Spiel auch.
    Es gibt also im Code keinen Check ob das Bahnsteig Limit erreicht wird und dann eine Warnung. (Beim Testen von Ascii Designs ohne Gleise kam dieses Problem zum Vorschein).


    Für die beiden Fälle gibt es keinen Log Eintrag!


    Des weiteren Crash das Spiel wenn ein Straßenanschluss-Edge zu kurz ist, TPF verursacht einen Crash wenn es den Übergang zwischen den Straßenteilen errechnen möchte. Das führt normalerweise zu einem Log Eintrag.

    Die nächste Version sollte dieses Problem nicht mehr haben, aber es dauert leider viel länger da ich alle Lanes für alle Teile neu machen muss.
    Deswegen bin ich mir noch nicht sicher ob ich die Bahnhofsgebäude im klassischen Sinne noch unterstützen werde.

    Kein Stuss, alles Richtig. Das Bahnhofsgebäude wird nicht gedreht, daher das Problem mit der Unterführung.


    Das bedeutet, entweder Du baust
    a) einen Bahnhof ohne Gefälle
    b) ein langen Bahnhof (mit 160m oder mehr)
    c) einen Bahnhof nur mit einem Bahnsteig
    d) den zweiten Strassenanschluss so, das Treppen auf den ersten Bahnsteig entstehen. (Verschieben des zweiten Anschlusses als Beispiel)


    Oder einfach: Bahnhof mit Gefälle Einstellung ohne sichtbare Treppe am ersten Bahnsteig = BÖSE

    Das liegt daran, das der Bahnhof auf Gefälle gebaut ist, und leider recht kurz. Daher gibt es zur der zweiten und weiteren Plattformen keine Verbindung.
    Das mag TpF scheinbar nicht, wenn nur eine Plattform mit dem Straßennetz verbunden ist.


    Bei längeren Bahnhöfen gibt es noch eine andere Unterführung als Alternative, aber dann kann es sein das die TpF Scripts aus den Tritt kommen...

    Also | ist als Kennzeichnung für Strassen reserviert.


    Es spricht nichts dagegen aus einem Bahnsteig zwei zu machen, wenn aber in einer späteren Version.
    Die Platform Routine wäre dafür flexibel genug, hab gerade nur keine Idee wie man TPF dann sagen soll welchen Bahnsteig ein Zug nimmt.