Deutsches Simutransforum

Normale Version: Boje-Keine Einfahrt [Kanäle]
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

es wäre doch praktisch (Wenn man im Spiel mit vielen Schiffen arbeitet) , wenn man für Kanäle ein "Einfahrt-Schild" hätte.
Macht im Moment keinen Sinn solange die Schiffe übereinander fahren können und sich ohne Ausweiche überholen/kreuzen/entgegenfahren.
Zuerst mal sollte für Schiffe eine vernünftige Logik her, die genauso wie bei allen anderen Verkehrsmitteln erkennt wenn ein Wasserfeld bereits von einem Schiff belegt ist und das nächste warten muß bis frei ist. Dann würden auch solche Bojen Sinn machen. Wink
Also erstens sind das keine Bojen sondern Tonnen, und zweitens werden bei Binnenwasserstraßen durchaus auch Schilder verwendet:
Schilder bei Binnenwasserstraßen
Ich finde die Schiffe in Simutrans (eher die Programmierung) sind nicht sehr "intiligent" im Thema Routing...
Aber alles braucht Zeit...
DIe Schiff in Simutrans finden den kürzest möglichen Weg mit den wenigsten Biegungen. Das ist einige der wenigen Stellen in Simutrans, wo (ohne Fehler in der Routine) das sogar bewiesen wurde (für den Algorithmus).
Zitat:Original von prissi
DIe Schiff in Simutrans finden den kürzest möglichen Weg mit den wenigsten Biegungen. Das ist einige der wenigen Stellen in Simutrans, wo (ohne Fehler in der Routine) das sogar bewiesen wurde (für den Algorithmus).

Darüber beschwert sich ja auch niemand und ich kann mir schon vorstellen, daß das nicht einfach umzusetzen war im Code.
Das Problem mit den Schiffen ist ja nicht die Routenfindung an sich sondern das Verhalten anderen Schiffen gegenüber - bei Bahn und Straße gibt es das auch nicht, daß Fahrzeuge sich übereinander stapeln und durcheinander durchfahren.
Und genau das ist es ja auch was einige Paksetbetreuer dazu nötigte Schiffe per extremer Gewinnschwelle so unattraktiv zu machen, daß sie jeder meidet wo es nur geht.

Aber könnten die Schiffe nicht eine einfache "Ist das Feld vor mir frei?" Abfrage machen und dann entweder ein Feld nach rechts ausweichen oder wenn das nicht geht erst weiterfahren wenn dort kein anderes Schiff mehr ist?

Zumindest am Meer müßte das klappen auch wenn es theoretisch bei 1 Kachel breiten Meerengen zu deadlocks kommen könnte - da muß man die eben auf 2 Kacheln verbreitern genauso wie ich mich bei Bahnen etc. darum kümmern muß, daß Fahrzeuge sich ausweichen können.
Kanäle wären natürlich ein eigenes Thema.

Dwachs

Zitat:Original von prissi
DIe Schiff in Simutrans finden den kürzest möglichen Weg mit den wenigsten Biegungen. Das ist einige der wenigen Stellen in Simutrans, wo (ohne Fehler in der Routine) das sogar bewiesen wurde (für den Algorithmus).
Stimmt leider nicht. Um das hinzukriegen, muesste man beim Routensuchen in der closed-list speichern, welche Felder schon aus welchen Richtungen erreicht wurden (~ 16 bits pro Feld statt jetzt 1 bit). Oder umgekehrt: die Gewichte duerfen nur vom aktuell angeschauten Feld abhaengen, nicht davon, wie dieses erreicht wurde.

Das Routing fuer Passagier etc sollte aber tatsaechlich beweisbar eine kuerzeste Verbindung liefern.
Ein Feld in SImutrans ist entweder 1x1 km² oder 25x25 m². Im Fall von Schiffen eher 1x1 km. Da können schon ein paar Schiffe vorbeipassen. (Falls du mehr als 252 Schiff auf ein Feld bringst, dann warten alle weiteren dahinter.)

Zum Routing: ich dachte A* findet die kürzeste Verbindung zwischen zwei Punkten, mit beliebigen Kostenfunktionen. Scheinbar habe ich einen Denkfehler. (Bzw. wieso sollte es einen Unterschied machen, dass die Gewichte von der bisherigen Route abhängen? Es wird doch immer der niedrigste Wert aus der Liste genommen? Oder kann durch die Abhängigkeit der Route vom Weg keine Eindeutigkeit mehr garantiert werden?)
Zitat:Original von prissi
Ein Feld in SImutrans ist entweder 1x1 km² oder 25x25 m².

Naja, also selbst wenn man nun bei der Bahn die 25x25m nehmen würde wäre das Platz für mindestens 5 Züge nebeneinander - warum können in dem Fall nicht so viele auf ein und demselben Feld stehen?
Wenn ich zeichne gilt für Züge z.B. 40x40m pro Kachel...

aber über Maßstäbe sollte man in Simutrans nicht streiten, sondern es einfach akzeptieren, dass man (wenn es halbwegs gut aussehen und dabei noch funktional sein soll) einfach mit mehreren verschiedenen Maßstäben, je nach Situation rechnen muss. Jedenfalls mache ich das (innerlich) so, und komme gut klar. Smile
Seiten: 1 2