Deutsches Simutransforum

Normale Version: Geschwindigkeiten/KI
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ich hatte schon mal im englischen Forum gepostet, aber nun noch mal auf Deutsch ...

Wie wäre es denn, wenn Züge in Kurven nicht so schrecklich langsamer werden. Zur Zeit halbieren sie wohl ihr Tempo. Mir schwebt eine Lösung a la v<80 nichts paasier, v>80 halbiert Anteil über 80, z.B. 120 vorher, 100 danach. Das könnte auch der KI helfen, da das Schienenenverlegetool ja z.B. bei Diagonalen immer einen extraschlenker dazupackt.

Bei Steigungen bin ich für das jetzige Verhalten, da sowas einen Zug viel mehr fordert als eine Kurve.

Das trifft auch die Realität besser, da eine Bahnstrecke eher eine Kurve macht als gerade über den Berg zu fahren. Im jetzigen Simutrans würde sich der Berg aber mehr lohnen, da 1. nur einmal gebremst und 2. direkte Strecke. Und für eine Anschluss/Güterbahn baut man in der Realität keine Tunnel, wohl aber für die Schnellverkehrstrecke, die ja auch mehr einbringt.

Hajo

Zitat:Original von prissi
Ich hatte schon mal im englischen Forum gepostet, aber nun noch mal auf Deutsch ...

Ich hab's in Englisch gelesen, und nun lese ich noch mal auf Deustch Smile

Ich war schlicht zu faul eine Antwort zu schreiben. Über Kurvenfahrten könnte man viel Diskutieren.

Sag' mal Prissi, kannst Du programmieren? Spezieller gefragt, wie gut kennst Du Dich mit C++ aus?
Programmieren:

C sehr gut (ungefähr 6 große Programme, davon zwei im Team, jede Menge Kleinkram, Atari ST, Mac, Windows, PalmOS, seit knapp 20 Jahren ... )

C++ leider nur Grundkenntnisse; die Leute, mit denen ich zusammen programmiert hatte, haben in C++ immer Spagetti-Code fabriziert. (Jede Zeile einen neue tief verschachtelte Methode aufgerufen; und "C++ liest sich so leicht, da muss ich ja nicht viel dokumentieren.") Was mir C++ reichlich verleidet hat.

Aber prinzipiell hätte ich durchaus Interesse meinen Horizont zu erweitern. So einige Sachen im Zusammenhang mit KI/Streckeverlegung würde ich gerne verbessern. (Und ein Undo hätte ich gerne, wenn ein falscher Klick wieder 25 Streckenelemente rechts um einen Hügel verlegt hat.)

Hajo

Noch eine Frage: Was für ein Betriebssystem benutzt Du?

Üblicherwiese entwickeln wir Simutrans mit GCC unter Linux. Es gibt auch GCC Portierungen (Cygwin, MinGW) für Windows, aber dabei kann ich Dir im Falle eines Problems nicht viel helfen.

Ausserdem brauche ich dein großes Indianerehrenwort, den Code nicht weiterzugeben, und vor unbefugten Zugriff Dritter verschlossen aufzubewahren. Die Forum-Mitglieder sind Zeugen Smile

Edit: Ich glaube für Dich als C Programmierer wird nicht so sehr C++ die Hürde sein, sondern OOD/OOP. Simutrans ist in großen Teilen sehr stark objektorientiert entworfen und implementiert.
Undo...undo....undo.....ja, dass vermissen viele. Wenn du das hinbekommst prissi, bekommst du 100 Gummipunkte von mir Wink
Das Betriebssystem ist eigentlich egal, denke ich. Das Indianereherenwort gebe ich gerne. Der Rest geht glaube ich besser per Email. Ich werde mal Dir eine Email schicken.

Hajo

Zur Info für die anderen: Eine Leseprobe des Codes ist unterwegs zu Prissi. Über eine mögliche Zusammenarbeit wird die Struktur und Lesbarkeit des Codes entscheiden.
An prissi:

Ich gehe mal davon aus, dass du schon was an der Beschleunigung/Bremsung gemacht hast. Alles soweit gut, aber wenn ein Zug den Berg raufklettert, dann ist er nur langsam solange die Lok am Berg ist, sobald die Lok oben ist, wird es wieder schneller, obwohl ja noch die schweren Waggons am Berg hängen. Weiss nicht ob das möglich ist, aber theoretisch dürfte er doch erst wieder schneller werden, wenn der Grossteil der Waggons wieder auf gerader Ebene ist. Ausserdem sollte, solange nur die Lok am Hang steht und die Hänger noch auf gerader Ebene rollen, die Geschwindigkeit der Lok nicht schon auf Hangminimum sein.

Nur ein paar Gedanken
In der jetzigen Arbeitsversion ist die Mindestgeschwindigkeit am Berg 1/4 der Höchstgeschwindigkeit. Erreicht der Zug den Berg, dann wird er mehr oder weniger sanft abgebremst (und zwar so lange, wie Wagen in der Steigung sind, das wurde schon geändert). Die Bremsung richtet sich nach der Beschleunigung und hat ein festes Minimum.

Aber eigentlich möchte ich noch mehr ändern. Sprich für jeden Wagen einen gewichtsabhängigen DeltaV-Parameter (Ebene: bremst ein bisschen, Kurve bremst etwas mehr, Steigung: bremst stark). Die Routinen summiert die Werte dann für den Convoi auf. Allerdings gibt es eine Mindestgeschwindigkeit, damit keine Lok wegen akuter Untermotorisierung am Berg verhungert.

Was meint ihr dazu?

(@mip Herzlichen Glückwunsch)

Hajo

Klingt gut Smile
Seiten: 1 2 3