Deutsches Simutransforum

Normale Version: Routing und Überholen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ich bin jetzt im pak128 zum ersten Mal auf schnelle Züge (270 km/h) gestossen und mir überlegt, wie ich diese am Verkehr vorbeischleusen kann.

Dazu habe ich neben der bestehenden 160er Strecke noch eine 280er Ausweichstrecke gebaut, mit der Idee, dass die langsamen Züge die Strecke mit weniger Kurven bevorzugen, während der TGV die vier 45° Kurven in Kauf nimmt, wenn er dafür nachher schneller fahren kann.

Das funktioniert tatsächlich, die TGV überholen auf der freien Strecke jetzt die Güter- und Bummelzüge. 8)
Allerdings musste ich dafür einen Teil der direkten Strecke auf 110 reduzieren, erst das schien den TGV zu stören, so dass er das 280er Ausweichgleis bevorzugt. 13 Felder reduzierte Strecke scheinen zu reichen, um die Ausweichekurven zu kompensieren.

Die Postzüge (150 max) wären nun eigentlich auch schneller auf der Ausweichstrecke, bleiben aber auf dem direkten Gleis.

Daraus meine Frage: Wie funktioniert das geschwindigkeitsabhängige Routing? Braucht es eine gewisse Geschwindigkeitsdifferenz, damit die schnellere Strecke gesucht wird?
Kurven habe einen großen Malus, denn diese verlangsamen Züge sehr. Eine Kurve kann durchaus 6 Kästchen schnellere Strecke kompensieren. Wenn es noch mehr Kästchen sind, würde auch die etwas langsamere Route nicht genommen werden, dass müssten dann ca. 26 Kästchen sein.
Kann man nachrechnen, wie die Kosten für Kurven und für langsame Schienen entstehen?
In meinem Fall ist er lieber 60 Felder weit auf der 160er Schiene gefahren, statt auf der Ausweichschiene 270 zu Brettern. 60 Felder lang 110km/h weniger war ihm also lieber als
4 45° Kurven (raus und wieder rein)

Dabei ist die Ausweichstrecke mitsamt den Kurven deutlich schneller. Ich habe zwei gleiche Züge losgeschickt, den hinteren mit Wegpunkt auf die schnellen Schienen gelotst. Danach hat er trotz dem anfänglichen Rückstand und den Kurven den vorderen Zug überholt, der nicht mehr als 160 fahren konnte.

Erst wenn ich ein paar Schienen mit 110 einbaue, weichen die TGV auf die schnelle Schiene aus.
Vier 45°-Kurven geben 12 Maluspunkte. Da 13 110er-Felder reichen klingt das so, als ob der TGV für die 110er gegenüber der 280er Strecke einen zusätzlichen Maluspunkt bekommt und für die 160er keinen.

Ich habe die Formel nicht im Kopf, aber es war irgendwie wie (4*v_zug)/v_strecke/4, was für 110 2, für 160 1 und für 280 0 ergeben sollte. Die Null bei v_strecke > v_zug wird wahrscheinlich abgefangen und durch eine 1 ersetzt.

Es sieht also so aus als bekäme der Zug keinen Malus wenn er mindestens halbe Maximalgeschwindigkeit fahren kann.

[Edit]
Ja, genau so ist es. Vielleicht sollte man das irgendwie feiner abändern:
Züge, die Höchstgeschwindigkeit können bekommen weiterhin einen Punkt. Für die anderen könnte man dann 4-(4*v_strecke)/v_zug verwenden.
Das würde im Beispiel TGV (270km/h) keinen zusätzlichen Malus für Strecken mit 203 oder mehr, einen Punkt für mehr als 135, zwei Punkte für 68 oder mehr und drei Punkte sonst liefern.
Andererseits würden auf der 110er Strecke Züge mit einer Geschwindigkeit von Maximal 146km/h ohne Malus fahren statt bisher 219.
(4*v_zug)/v_strecke/4 könnte man auch durch

1+(3*v_zug-1)/(v_strecke*3) ersetzen. Das gibt bei v_zug>=v_strecke 1 (oder 0) und direct darunter 2. Ab 49.9% Höchstgeschwindigkeit ergibt es 3.

Noch stärker ist der Abfall mit:
5-(3*v_strecke)/(v_zug-1)

Bei 1 kmh langsamer gibt es schon den doppelten Malus und bei 66% gibt es schon den dreifachen. Das sollte schnellere Route besser bevorzugen. Die FOrmel begrenzt sich für v_zug<v_strecke automatisch auf 4, als netter nebeneffect.
Es kommt halt drauf an wie scharf man das Erreichen der Höchstgeschwindigkeit umsetzen will.

Die zweite Formel ist schon extrem hart, ich habe das mal geplottet und der Malus springt fast sofort um zwei wenn der Zug "schneller als die Strecke ist". Gerade bei Sets in denen es wenige Strecken gibt ist das wohl zu viel. Im ursprünglichen Beispiel würde ein 180km/h Zug auf die Schnellbahntrasse ausweichen.

Die erste Formel hat im Standardpak den (kleinen) Nachteil dass es einen Bereich von Zuggeschwindigkeiten gibt in dem 120km/h Strecke und 200 km/h-Strecke gleichwertig sind.

Die beiden Ansätze bräuchten fast noch einen Mechanismus um langsamen Zügen schnelle Strecken zu verleiden.
Danke für die detaillierten Antworten

Das Problem scheint mir momentan darin zu bestehen, dass die 0 aus der Formel durch eine 1 erstetzt wird, und damit Züge bedenkenlos auf Strecken mit 51% Höchstgeschwindigkeit fahren.
Würde man 5-4*v_strecke/v_zug einsetzen, dann wären Züge nur noch bis 76% Höchstgeschwindigkeit zufrieden.

Allzu hohen Malus halte ich für gefährlich, vor allem für bestehende Spiele, deren Züge dann möglicherweise irgendwo durchfahren.

Wenn man die Gewichtung anpasst, könnte man gleich noch zu langsamen Zügen einen Malus geben, z.B. in der Höhe von 1+v_strecke/v_zug; wenn die Strecke doppelt so schnell ist wie der Zug, dann weicht er aus. Damit könnte man auch Ausweichstrecken für langsamere Züge ohne Wegpunkte bauen.

Also in beispielsweise
Code:
kosten = v_zug > v_strecke ? 5-4*v_strecke/v_zug : 1+v_strecke/v_zug
Damit sollte eine dreigleisige Strecke auf pak128 so funktionieren

+----400-----------------+ <- TGV (Züge >200)
.\----110---------------/ <- Schüttgut, Benzin (Züge <147)
..\---160--------------/ <- Post, Plastik (Züge >=146, <=200)
kohlenschaufler
Ich würde TGV,Güterzüge und Nahverkehrszüge nicht auf ein Gleis fahren lassen!
Sonder versuchen ihnen eigen Streckennetze zuweisen den auf dauer behindern sie sich gegenseitig!
Zitat:Original von a0001
kohlenschaufler
Ich würde TGV,Güterzüge und Nahverkehrszüge nicht auf ein Gleis fahren lassen!
Sonder versuchen ihnen eigen Streckennetze zuweisen den auf dauer behindern sie sich gegenseitig!

Das kommt immer auf die Frequenz der Züge an. Wenn ich auf einer Passagierstrecke einen Güterzug mit Kohle einer kleinen pak128 Kohlegrube fahren lasse, der 4x im Jahr fährt, geht das für mich völlig in Ordnung.
Außerdem kommt es auf den Unterschied zwischen den (Durchschnitts-)Geschwindigkeiten an. Daher kann ein Nahverkehrszug und ein Güterzug problemlos auf dem gleichen Gleis unterwegs sein. Bei längeren Strecken habe ich Überholmöglichkeiten für die schnelleren Züge, das funktioniert dann prima.
Im neusten Nightly sollte das mit schnelleren Ausweichstrecken deutlich besser klappen.
Seiten: 1 2 3