Fehl-/Umleitung von Zügen

Allgemeine Fragen zum Spiel und dem Drumrum.

Moderatoren: Stellwerk-Admin, Moderatoren

Antworten
amperic00s
Beiträge: 4
Registriert: Sa Apr 16, 2022 7:55 pm
StiTz: 760244

Fehl-/Umleitung von Zügen

Beitrag von amperic00s »

Hallo, ihr lieben!
Ich finde Stellwerksim eine ziemlich gut funktionierende Software und habe eigentlich nichts an ihr auszusetzen. Das Folgende ist auch weniger eine Kritik, eher eine interessierte Nachfrage bzw. Anregung.

Beim Spielen mit anderen ist mir aufgefallen, dass Züge, die in die falsche Richtung fahren, grundsätzlich verschwinden. Mir ist grundsätzlich klar, wieso man dies bei vom System besetzten Stellwerken so macht (weil man sonst ad hoc einen Zug algorhytmisch umleiten müsste, was ein alles andere als triviales Problem ist - wenn StS hier eine Lösung hätte, würde vermutlich sogar die echte Bahn hinschauen). Bei besetzten Stellwerke passiert das aber auch. Ich frage mich deswegen: warum?

Ich kann mir hier zwei Antworten (die sich nicht gegenseitig ausschließen) vorstellen:

1. Man hat sich entschieden, Fehl- bzw. Umleitungen grundsätzlich nicht zuzulassen, weil dies für Spieler in Nachbarstellwerken eine erhebliche Komplexität bedeuten könnte, insbesondere dann, wenn der Zug nur noch mit Kopfmachen wieder wegzubekommen ist. Das ist meiner Meinung nach eine legitime Entscheidung.

2. Es gibt technische Gründe, die eine Fehl- bzw. Umleitung technisch schwierig machen. Ich kann mir hier grundsätzlich drei Probleme vorstellen:
a) dass das Stellwerk, in das fehl- bzw. umgeleitet wird, keinen Fahrplan für den fehl- bzw. umgeleiteten Zug hat und dementsprechend man entweder nicht weiß, wie das ganze angezeigt werden soll oder das Stellwerk nicht wirklich weiß, mit dem Zug umzugehen,
b) dass man spannende Deadlocks bekommt, wenn ein einmal ausgefahrener Zug im Kreis wieder in das ursprünglich fehl- bzw. umleitende Stellwerk hineinleitet (geht z.B. in Frankfurt Fzf, dort könnte man einen vom Hauptbahnhof kommenden Zug über Süd Forsthaus ins Stellwerk Süd schicken und Süd schickt es einem über die Camberger Brücke zurück) wird und
c) dass ggf. Stellwerke dazwischen übersprungen werden, die dann einen Phantomzug im Fahrplan haben, der nie kommen wird.

Mal ein bisschen unqualifiziert daherschwadroniert:
Das erste Problem könnte man tatsächlich lösen, indem man eine Option "Stellwerk nimmt Fehl- und Umleitungen an" (ähnlich wie die Option zur Störungshäufigkeit) einfügt, die standardmäßig auf "Aus" steht.

Wenn das Problem eher am zweiten Fall ist, kann ich logischerweise keinen richtigen Input leisten, ich werfe aber trotzdem mal ein paar Ideen in den Raum:

Punkt a) ließe sich ggf. lösen, indem der Zug in der Fahrplanansicht alle Werte wie Ankunftszeiten und Abfahrtszeiten oder Verspätung usw. auf ??? (intern wahrscheinlich NaN, die Software ist ja in Java geschrieben) setzt und bei "von" das Stellwerk, was fehl- bzw. umleitet einträgt und bei "nach" das ursprünglich nächste Stellwerk einträgt (also, bevor der Zug um- bzw. fehlgeleitet wurde) oder stattdessen den Laufweg einträgt (oder ein Kompromiss zwischen beiden Lösungen). Züge können ja an sich tatsächlich frei fahren (sonst würden Rangierfahrten so in dieser Form wahrscheinlich nicht funktionieren), von daher könnte sich dieser Zug wie jeder andere Zug auch frei bewegen. Stellwerksim unterstützt auch bereits jetzt schon Züge, die über die falsche Verbindung geschickt werden (z.B. in Fzf einen Zug, der nach Hoch/Tief sollte, nach Galluswarte schicken). Ggf. könnte man diese Mechanismen miteinander verbinden.

Punkt b) ist natürlich dann der Hauptpreis im Lotto gewonnen. Ohne genau die Funktionsweise zu kennen (also, ob ein Stellwerk den Fahrplan eines ausgefahrenen Zuges sofort verwirft oder einfach nur in einer Tabelle als "abgehakt" eingetragen wird) könnte man ja ggf. den Fahrplan weiter vorhalten bzw. gesondert markieren, wenn ein Zug nicht in die ordnungsgemäße Richtung abgefahren ist und den Fahrplan entweder "recyceln", wenn der Zug wieder in das Stellwerk einfährt (dann funktionieren ja auch Verspätungsminuten wieder, weil der Fahrplan dann wieder in einem definierten Zustand ist) oder wenn der Zug während der Fehl- bzw. Umleitung in ein unbesetztes Stellwerk geleitet wird, den Zug aus der letzten ordnungsgemäßen Stelle austrägt.

Punkt c) müsste man so oder so lösen, hier hab ich auch eine Idee dazu: man könnte ja, sobald der Zug wieder an einem definierten Ort ist das planmäßige vorherige Stellwerk darüber informieren, dass soeben der Zug eingefahren ist und das Stellwerk bitte überprüfen möge, ob es den Zug schon bearbeitet hat. Wenn nicht, schmeißt es den Zug aus seinem Fahrplan raus (dann haben wir tatsächlich ein Stellwerk übersprungen) und informiert das planmäßig davor befindeliche Stellwerk ebenfalls (dann wird rekursiv die Strecke zurückgearbeitet, bis man wieder an einem wohldefinierten Punkt ankommt) und wenn doch, ist der Zug planmäßig unterwegs.

Ich weiß logischerweise nicht, wie groß der Implementationsaufwand ist (Punkt 2) oder wie das Team dazu steht (Punkt 1), aber grundsätzlich fände ich das ein interessantes Feature, was insbesondere bei Spielen mit mehreren besetzten Stellwerken im Umfeld das Spiel nicht nur einen reinen Fahrdienstleiter-Simulator, sondern auch zunehmend zu einem Dispo-Simulator macht (was ich begrüßen würde).

Ich bin mal gespannt, ob hieraus eine Diskussion entsteht. :)

EDIT: ich habe mal im Forum gegraben und gefunden: viewtopic.php?t=45096
Anscheinend scheint meine zweite These durchaus richtig gewesen zu sein. Wie gesagt, ohne zu wissen, wie die Software funktioniert: wäre es nicht möglich, dass ein besetztes Stellwerk, welches einen Zug erhält, für den es keinen Fahrplan hat, den Fahrplanprovider anstößt und der Fahrplanprovider dann, sobald er feststellt, dass dieser Zug dort nicht sein sollte, ad hoc einen Fahrplan generiert (siehe dazu auch Punkt a)? Natürlich beschreibe ich das ganze hier gerade sehr einfach, aber möglich erscheint es mir trotzdem.
floflo
R-Admin [Thüringen, Zug-Schattenregion]Fernverkehr-Team [IT, UK]Erbauer
Beiträge: 3973
Registriert: Sa Aug 24, 2013 4:46 pm

Re: Fehl-/Umleitung von Zügen

Beitrag von floflo »

Leider ist das auch nicht so trivial, wie es auf den ersten Blick vielleicht scheint.

a) der STS arbeitet für die Züge im Hintergrund mit "Templates". Aus diesen Templates entstehen die Züge. Ein Zug darf ein Stellwerk jeweils nur maximal einmal befahren.
b) gewisse Stellwerke des Fahrplans MÜSSEN angefahren werden: Stellwerke mit E-Flag, F-Flag, K-Flag - sprich alle Stellwerke, wo andere Templates mit diesem direkt verknüpft sind

Diese Punkte werden auch bei den Anfragen von Umleitungen bei Spieleabenden abgefragt und geprüft und die Umleitung ggf. aus diesen Gründen abgelehnt. Das würde in deinem Vorschlag nicht passieren und kann das System auch nicht extra prüfen, da das System im Falle einer Fehlleitung nicht weiß, welchen Weg/welche Stellwerke der Zug dann fahren wird.
R-Admin Thüringen
Erbauer in der Region Baden-Württemberg und Großbritannien
amperic00s
Beiträge: 4
Registriert: Sa Apr 16, 2022 7:55 pm
StiTz: 760244

Re: Fehl-/Umleitung von Zügen

Beitrag von amperic00s »

Klar, dass das ganze nicht trivial ist, kann ich mir wirklich gut vorstellen. Das, was ich erörtert habe, war natürlich auch nicht trivial (auch, wenn es sich als "mal eben schnell implementieren" liest).

Was genau mit Templates jetzt gemeint ist, kann ich nicht wirklich nachvollziehen, ich denke aber, der wichtige Punkt ist: da passiert ein komplizierter Prozess. (Die Details würden mich tatsächlich mal interessieren, ich kann aber auch sehr gut nachvollziehen, warum man das nicht hier in der breiten Öffentlichkeit an irgendein dahergelaufenes Forummitglied erzählen will. Also kein Stress)

Das mit den Flags wird wahrscheinlich dann im Erbauerhandbuch erklärt (ist das frei zugänglich? - nur aus Interesse, ich find sowas spannend). Ich nehme einfach mal an, dass die Stellwerke, die da Flags haben, wahrscheinlich so etwas wie wenden auf/weiter als/flügelt/vereinigt [neue Zugnummer] haben. Die Lösung mit der Brechstange wäre dann natürlich, dass man entweder die Umleitung mit einem Timer versieht ("wenn der umgeleitete Zug nicht innerhalb von [Zeitraum] wieder an einem wohldefinierten Ort ist, verschwindet er beim nächsten Stellwerkswechsel") oder man über Dijkstra oder so nachprüft, ob wir gerade an einem Stellwerk mit gesetzter Flag vorbeifahren. Das ist aber alles alles andere als trivial. Je nach Interesse und Kapazitäten könnte man das ja erst auf einer kleinen Skala implementieren (höchstens n Stellwerke dürfen umfahren werden, bevor der Zug sich auto-zurücksetzt)

Danke für die Antwort!
mabasoft
Beiträge: 124
Registriert: Mo Feb 20, 2012 12:47 am

Re: Fehl-/Umleitung von Zügen

Beitrag von mabasoft »

Jetzt grätsch ich hier mal rein, obwohl ich nur Spieler bin, nicht im Team.

ich denke, es gibt viele, die nicht auf dem Schirm haben, was das mit den Templates bedeutet.
Übrigens: Template bedeutet wortwörtlich Schablone. Und diese Übersetzung erklärt eigentlich den Sachverhalt ganz gut.

Außerdem ist das Wort 'Fahrplan' mehrdeutig , zumindest im System des Sims.
Viele Leute denken, zum Instanzstart sind Fahrpläne in irgendeiner Datei/Tabellenform vorhanden und werden dann über die ganze Instanz hinweg abgearbeitet.
Falsch.
Es sind (nur) diese Templates vorhanden.
Ein Template könnte z.B. besagen, dass
RE 2001 um 5,30 Uhr in Frankfurt Hbf abfährt, dann sind Halte und Durchfahrpunkte unterwegs (samt planm. Zeiten Ankunft/Abfahrt/Durchfahrt) angegeben.
Und dann sei dieser Zug vielleicht um 7,30 Uhr in seinem Endpunkt Fulda und soll nach seiner Wende RE 2010 heißen und zurückfahren.
Und diese Leistung soll dann 60 Minuten später wieder stattfinden mit Zugummer um 2 erhöht. Und soweiter...
Die Siminstanz arbeitet nun diese Templates immer wieder durch. Zu einem vorgegebenen Zeitpunkt (die genaue Zahl kenn ich nicht, ist aber mindestens 60 Minuten und wohl weniger als 240 Minuten vorher) erstellt das System die Fahrplandaten, die Du dann in den entsprechenden Fenstern des Sims findest. Nebenbei werden so quasi auch die Züge erstellt.

Wenn Du einen Zug unangekündigt umleitest, bringst Du dieses System durcheinander. Das ist so nicht vorgesehen.
Auch wenn dies nur über besetzte Stellwerke durchgeführt wird, ist dies (definitiv !!!) keine Garantie, daß damit sauber und verantwortlich umgegangen wird. -Also wenn man diese Möglichkeit einbauen und ermöglichen würde.-
DevonFrosch
EntwicklerHandbuch-TeamR-Admin [Bremen-Niedersachsen, Fernverkehr Niederlande, Hamburg - Schleswig-Holstein, Niederlande Ost, Rhein-Main, Rhein-Main 2024, Rheinland-Pfalz, Ruhrgebiet, Zug-Schattenregion]Fernverkehr-Team [NL, SKA]Qualitätssicherung [Anlagen-QS, Zug-QS]Erbauer
Beiträge: 8682
Registriert: Fr Jan 16, 2009 11:15 am
StiTz: 709215

Re: Fehl-/Umleitung von Zügen

Beitrag von DevonFrosch »

Moin,

hm... bevor hier zuviele Halbwahrheiten rauskommen:

Die Erbauer arbeiten mit Templates, aber das System selbst durchaus mit Zügen (siehe Zugscriptlauf im Handbuch, und ja, das Erbauerhandbuch ist für alle Spieler lesbar). Zusätzlich gibt es pro Zug noch zwei weitere Datensätze in einer anderen Tabelle, einen pro Instanz, wo z.B. die Verspätung und die aktuelle Anlage gespeichert sind. An den Templates liegt es also nicht.

Der Hauptgrund, den ich anführen würde, wäre: Es ist so deutlich simpler. Denkt daran, dass Stellwerksim 1. von Nichtbahnern dominiert wird und 2. du dir nicht aussuchen kannst, wer dein Nachbar ist. Das führt zu folgenden Problemen:
  • Wenn jemand aus Versehen einen Zug fehlleitet, weil er keinen Überblick über das Stellwerk hat, macht es das Problem noch schlimmer - der Nachbar hat jetzt auch ein Problem
  • Wenn ein Neuling einen falschen Zug bekommt, woher soll er dann wissen, was er damit tun soll?
  • Wenn ein Spieler sich bösartig verhält, kann er damit seinen Nachbarn komplett den Spaß verderben
Das Umleitungs-Feature war ein riesiger Kraftakt in der Entwicklung, unter anderem weil genau diese Probleme gelöst werden müssen. Deshalb müssen alle Spieler auf der Umleitungsstrecke zustimmen, und der Default (nach kurzer Zeit) ist ablehnen. Wenn nur einer nicht weiß, was er tun soll, oder die Umleitung nicht möchte, kommt die ganze Umleitung nicht zustande.

Umgekehrt ist so ein fehlgeleiteter Zug für erfahrene Spieler natürlich ganz spaßig - aber da kommen dann noch technische Schwierigkeiten drauf, die floflo schon angesprochen hat. Das wäre durchaus lösbar (mit entsprechendem Aufwand), aber die spielerische Komponente macht das Ganze für durchschnittliche Spieler nicht mehr händelbar.

Und ja, ich weiß, dass man jetzt schon seinem Nachbarn das Spiel verderben kann, das ist die Natur des vernetzen Spiels ;-) Aber das hier wäre nochmal eine andere Liga, und vor allem unabsichtlich.

Gruß,
DevonFrosch
Querschnittskompetenzträger
Projektübersicht
amperic00s
Beiträge: 4
Registriert: Sa Apr 16, 2022 7:55 pm
StiTz: 760244

Re: Fehl-/Umleitung von Zügen

Beitrag von amperic00s »

Hi, danke dir für die Antwort. Das war tatsächlich ziemlich aufschlussreich.
Den Link zum Erbauerhandbuch hatte ich nicht auf dem Schirm, das wird sich jetzt erstmal einverleibt.

Die Begründung scheint damit durchaus erstmal in Richtung von Punkt 1 (bewusste Entscheidung dagegen aus spieldesigntechnischen Gründen) meiner ursprünglichen Argumentation zu gehen.
Ohne jetzt übermäßig diskutieren zu wollen, aber das Problem von "Neulinge können nicht mit fehlgeleiteten Zügen umgehen" hatte ich am Anfang mal grob mit einer Lösung umrissen ("Stellwerk nimmt fehlgeleitete Züge an" als Option mit default aus, genau so wie man die Störungswahrscheinlichkeit einstellen kann). Die technischen Probleme scheinen aber tatsächlich - wie hier von zwei Leuten erörtert - nur mit einem Kraftakt lösbar zu sein.

Wünschen würde ich es mir, ich werde jetzt aber auch nicht auf Teufel komm raus hier im Forum betteln. Ich gehe mal stark davon aus, dass die Entwickler schon durchaus wissen, warum sie manche Features einbauen und manche nicht.

Viele Grüße
amperic00s
Antworten