Frage zur Signalsetzung

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,


    ich habe ein kleines Problem mit dem Verständnis der Signalsetzung.



    Im Bild oben ist ein kleines Beispiel dazu.

    Der schwarze Pfeil zeigt die Fahrtrichtung beider Züge.

    Am oberen Bildrand kommt ein Bhf.

    Beide Züge sollen im Bhf auf das rechte Gleis und fahren unten auch auf dem rechten Gleis los.

    Nach den oberen Signalen ( S2 ) kommen noch zwei weichen, eine von links nach rechts und einen von rechts nach links.

    Den ersten Zug (oben) habe ich angehalten.


    Nun bleibt der untere Zug allerdings stehen?

    Ich dachte der fährt jetzt automatisch auf das linke gleis, da ja der Weg bis S2 linkes Gleis frei ist und eigentlich auch der Weg bis zum Bhf oben.


    Wenn ich allerdings unten das Signal auf dem linken Gleis, welches ja eigentlich für ihn keine Bedeutung haben sollte, lösche, dann fährt er los.


    Kann mir jemand das Verhalten mal erklären ?


    Falls ich mich

    Transport Fever 2 Steam

  • Korrigiert mich wenn ich falsch liege. Aber bisher ist es nicht möglich, dass Züge ein Hindernis durch gleiswechsel umfahren. Deswegen wird nach wie vor der Weg des Zugs von dem vorausahrenden Zug blockiert. Wenn du das Signal löscht denke ich wird die Route neu berechnet und dann wird die Linie auf das andere Gleis verlegt.

  • Die Linien gehen vom unteren Bhf eine vom linken Gleis und die andere vom rechten Gleis zu dem oberen Bhf auf das rechte gleis ( beide )

    Ich hab das noch mal versucht aufzumalen:



    Also die linen ( rot/grün ) gehen vom unteren Bhf Gl 1/2 zum oberen Bhf Gl 1 ( ist auch so gewollt )

    Das blaue sollen die Signae mit richtung sein.


    Nun hab ich erwartet, da der weg der grünen Line vom unteren Bhf , dann erste Weiche ins rechte Gleis ja blockiert ist,

    das der linke Zug automatisch erkennt, das er den Lila Weg nehmen kann.

    Der zweite Zug steht ja vor dem rechten Signal oben und ist noch nicht in den Bhf eingefahren.


    Also der Weg für den Linken Zug vom unteren Bhf ( abweichend von seiner orignal Line ) über das linke Gleis , dann über das linke Signal oben, dann über die Weiche ins rechte Gleis und

    dann in den oberen Bhf auf das rechte Gleis, sollte ja frei sein.


    So ist es ja in real, aber vielleicht hab ich auch nen Denkfehler wie das Spiel das macht?


    Ich möchte das aber auch nicht mit Wegpunkten so festlegen, sondern möchte ergründen, ob das Spiel so schlau ist und das selber irgendwie regeln kann,

    also ob Züge von Ihrer vorgesehenen Linie automatisch abweichen, wenn es einen freien Weg zum selben Ziel gibt?


    Matthias

    Transport Fever 2 Steam

  • Ahh, sowas dachte ich mir schon.


    Sehr schade...sowas könnte vielleicht in einer nächsten Version verbessert werden.


    Ps... vielleicht ist das ja über ein Script zu lösen?

    Transport Fever 2 Steam

    Einmal editiert, zuletzt von mroschk () aus folgendem Grund: ps

  • Ps... vielleicht ist das ja über ein Script zu lösen?

    Die freie Auswahl von Gleisen ist schon ein riesiger Wunsch seit TF und wurde bislang nicht erfüllt - insofern steht auch zu befürchten, dass ein Script hierfür nicht möglich ist.


    Überholvorgänge von Zügen kann man nur statisch durch entsprechend dauerhafte Gleis- und Signalzuweisungen ermöglichen...

  • Überholvorgänge von Zügen kann man nur statisch durch entsprechend dauerhafte Gleis- und Signalzuweisungen ermöglichen...

    ...ist aber eben nicht sehr realistisch.

    Wir müssen z.B. auch manchmal ausweichen wegen nem "blöden" ICE :-) , aber eben nur wenn einer vorbei will.

    Ansonsten gehts immer auf der "normalen" Linie lang.

    Güterzüge müssen uns auch ausweichen, aber eben auch nur, wenn sie uns aufhalten würden. Ansonsten fahren die auch auf den

    "normalen" Linien.

    Transport Fever 2 Steam

  • Ja, das geht natürlich.


    Ich weiß ja nicht was mit einem Script alles möglich ist, aber anscheinen passiert das Neuberechnen einer Line immer wenn man was verändert, wie z.B. ein Signal löschen, wie ich oben erwähnt hatte.


    Vielleicht könnte man ja vor Abfahrt aus einem Bhf die entsprechende Linie einfach neu berechnen lassen ?

    Transport Fever 2 Steam

  • TPF2 müsste erkennen können, dass ein langsamer Zug vor einem schnelleren eine Durchfahrt an der jeweiligen Position, wo sich der langsame befindet, nicht ermöglicht und so eine Alternative zu Verfügung stellen - falls vorhanden.


    Und das über die gesamte Strecke gesehen mit Neuberechnungen, auch dahingehend, dass der langsame Zug eine Ausweiche bereits passiert hat und ggf. erst an der nächsten Überholmöglichkeit vom schnellen Zug überholt werden könnte...

  • Ich würde es gar nicht so kompliziert machen.


    Einfach vor der Abfahrt schauen, ob die geplante Linie frei ist.

    Wenn nicht, schauen ob das geplante Ziel über einen anderen Weg erreichbar ist.

    Wenn ja, dann eben dort lang fahren.


    Ob es dann wirklich zu einem Überholen kommt oder nicht würde ich außer Acht lassen.

    Transport Fever 2 Steam

  • Das funktioniert vielleicht mit einer Handvoll Zügen, aber nicht wenn wir hier von einer hohen Anzahl an Zügen die gleichzeitig unterwegs sind reden.


    Da garantiert nicht alles im Uhrzeigersinn fährt sondern auch andersrum müsste das Script jederzeit alle Möglichkeiten dynamisch berechnen und das dürfte schwierig werden.

  • Ich hab gerade mal in der Reference nachgesehen:

    http://transportfever.com/wiki…e.interface.html#getLines


    Damit sollte ich ja die Linie von dem jeweiligen Zug herausfinden lassen und das nächste Ziel der Linie.

    Somit müssten ja nicht alle Möglichkeiten geprüft werden, sondern eigentlich gar nichts.

    Es müsste einfach nur eine Line vom aktuellen Bhf zur nächsten Station gesucht werden.

    So als ob man, wie ich das im ersten Post geschrieben habe, ein Signal auf einer Linie löscht.

    Den Rest macht doch Transport Fever von selbst.


    Das sollte doch möglich sein?

    Ich habe leider nicht die Erfahrungen mit dem Script, aber für einen erfahrenen sollte es da doch Möglichkeiten geben.

    Man könnte es ja mal testen wie es die Performance beeinflusst, aber einen Test sollte es Wert sein.

    Einfach gar nicht zu kompliziert denken.

    Transport Fever 2 Steam

  • Es müsste einfach nur eine Line vom aktuellen Bhf zur nächsten Station gesucht werden.

    Computer sind dumm und das Problem ist alles andere als einfach, es ist NP-vollständig deklariert. Viele regen sich über Ruckler auf und dann muss einfach ein Problem nebenher gelöst werden, welche für seine Berechnung eine nicht polynomiale Zeit braucht. :S

  • dann muss einfach ein Problem nebenher gelöst werden, welche für seine Berechnung eine nicht polynomiale Zeit braucht. :S

    Streng genommen müsste es heißen: Es ist bislang kein (effizienter) Algorithmus bekannt, der dieses Problem in polynomieller Zeit löst. Das P-NP-Problem ist ja bislang noch ungelöst.

  • Nunja, schade, aber wenns nicht geht, dann gehts nicht.

    Aber eine etwas andere Frage hätte ich immer noch.


    Wie genau gebe ich denn nun einen Wert aus einem Game Script an eine *.con zurück ?

    snedscript .. ja, hab ich gefunden, aber wie genau ?


    Ps.: übrigens wollte ich nicht wissen ob es schwer umzusetzen ist bzw. ob es zu einem Ruckeln im Game führt, sondern ob es möglich ist.

    Ziel war es auch, etwas über die Script Sprache zu lernen und mich darin einzuarbeiten.

    Die Wiki gibt ja dazu nicht sooo viel her.

    Transport Fever 2 Steam

    Einmal editiert, zuletzt von mroschk () aus folgendem Grund: ps

BlueBrixx