Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Anzeige der Abdeckung pro Station
#1
Hallo,

wie ich bereits einmal schon versucht habe (http://www.simugraph.com/forum/viewtopic...6&t_id=104) mich darüber schlau zu machen, möchte ich dieses Forum hier benützen, um diese Funktion mal anzuregen.

Zumindest eine Liste mit Angaben, welche Art von Station welche Abdeckung hat, wäre toll, da man oft unterschiedliche Angaben erhält (beim Bus z.B. 4x4 Teile, aber auch 7x7 usw.).

Ich weiß nicht, wie schwierig es wäre, eine Funktion zur Anzeige der Abdeckung einzubauen (z.B. wenn man mit der Lupe über die Station geht, werden die Abdeckungsfelder mit einer etwas dünkleren Farbe angezeigt), da ich vom Programmieren keine Ahnung habe, aber ich denke, wenn man versucht die Tram reinzukriegen, sollte so eine Funktion auch möglich sein. Ich hoff, da nicht zu blauäugig zu argumentieren.

Gruss, Benqo
Zitieren
#2
Hallo Benqo,

die Abdeckung einer Station beträgt ein 7x7 Feld, wobei die Station in der Mitteliegt. Wenn die Station größer ist, d.h, aus mehreren haltestellen besteht, ist sie entsprechend größer.

Du kannst einfach von einer Station 3 Felder in eine Richtung zählen und hast dann den Abdeckbereich. Den siehst Du auch, wenn Du im "Planfenster" die die Passagierabdeckung anzeigen läst.

Es sollten also im optimalem Falls zwischen 2 Stationen 6 freie Felder liegen um optimal abzudecken.

Die Anzeige der Stationsreichweite habe ich beim Planen von Stationen auch schon vermist, da ich aber im Projekt nicht mitprogrammiere ...

Gruß,
Werner
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren
#3
Wurde schon oftmals diskutiert, ist aber im Moment nicht zu realisieren. Da Alpha-Blending meines Erachtens 32-bit braucht Simutrans aber nur auf 16bit läuft. Korrigiert mich wenn ich falsch liege Smile.
Mysterium Simutransum
Zitieren
#4
Es liegt nicht so sehr am Alpha-blending sondern an den Datenstrukturen von Simutrans.

Es ist relativ schwer auf einem Feld etwas anzuzeigen, wenn die Datenstruktur dieses Feldes die Information nicht enthält. Einzugsbereiche wie die Spieler sie sich vorstellen gibt es in den Datenstrukturen nicht.

Wenn die Daten da wären könnte man sie sicher auch ohne Alpha-blöening gut darstellen (Punkte, Gitter, Raster).

Alpha-blending kann man aber auch in 16 bit durchführen:

color = color1 * a + color2 *(1-a) mit a in 0 ... 1.0

Je weniger bits, desto ungenauer die Rechnung aber bei 16 bit hat jeder Farbkanal mindestens 5 Bit, damit bekommt man immer noch 32 Abstufungen pro Kanal hin.
Zitieren
#5
Man lernt nie aus Smile. Danke.
Mysterium Simutransum
Zitieren
#6
Smile
Zitieren
#7
Visualisierung Stationseinzugsbereich

Das Thema ist nicht neu, zumindest im englischen Forum immer mal wieder aufgetaucht. Soweit ich mich erinnern kann, schien bisher eine Lösung daran zu scheitern, daß es in ST bisher keine gute optische Möglichkeit gibt, diese Fläche darzustellen.

Da ich auch zu der Sorte zähle, die Bequemlichkeit sehr zu schätzen wissen Wink , habe ich mir auch mal ein paar Gedanken dazu gemacht, wie man zumindest den bereits abgedeckten Bereich direkt auf der Karte darstellen kann, ohne umständlich die Rieliefkarte hinzuziehen zu müssen.

Durch den (inzwischen wieder behobenen) Fehler, daß eine neu gebaute Fabrik nicht automatisch im Stationsdetail-Fenster erschienen ist, obwohl sie im Einzugsbereich liegt, ist mir eine Idee gekommen, wie wir das eventuell optisch halbwegs gut realisieren könnten.
Ich weiß hier nur nicht, ob die Fabrik sich irgendwo meldet und sagt: Hallo, ich bin jetzt auch da! Trag mich mal in dein Detailinfo-Fenster mit ein oder ob die Station von sich aus ihren EB regelmäßigt abfrägt und dann alle Neuerungen einträgt.

Egal wierum das nun genau passiert, wichtig ist hier nur, daß irgendwo ja vermerkt sein muß: Du gehörst dazu und du nicht.

Und jetzt kommts Wink : Wenn also irgendwo vermerkt ist: Gebäude A befindet sich auf (X,Y) und gehört jetzt zum EB dieser Station, sozusagen ein ´flag´ für dieses Feld (oder mehrere Felder) gesetzt wurde, warum sammelt man diese Felder nicht in einer internen DB, um sie bei Bedarf gesammelt abrufen zu können.

Jetzt könnte man die Funktion "UMSCHALT+2" dahingehend erweitern, daß nicht nur (fast) alle Gebäude mit dem Baustellensymbol ausgetauscht werden, sondern hier jetzt auch alle Felder, die in der DB mit einem bestimmten ´flag´ versehen sind, mit einer einfarbigen Fläche (in Spielerfarben) ausgetauscht/überlagert werden.

So sollte es doch recht gut ersichtlich sein, wie weit der EB einer (oder aller), zumindet bereits gesetzten, Spielerstation ist. Auf diese Weise sollten wir der endgültigen Lösung doch schon wieder ein Schritt näher gekommen sein - oder etwa nicht?

Konsequent weitergedacht, müßte so auch die eigentliche Lösung (wie in TTDX) zu realisieren sein. Natürlich nur, wenn meine Idee überhaupt auf diese Weise machbar ist. Jetzt seid ihr dran.


gruß
blackbox
Simutrans braucht mehr Dynamik...
Zitieren
#8
Als, das Problem ist, dass sbeim Bau überprüft wird, was so in der Nähe ist. Den Einzugsbereich was Fabriken angeht, kann man mit dieser Lösung leicht machen. Bei Passagieren geht das aber etwas anders:

Plopp: 1-7 Passagiere materialisieren sich auf einem Feld:
Ahhh: Ihnen fällt ein Ziel ein
Suchsuch: die nächste Haltestelle
Nochmehrsuch: erreichtbare Endhaltestelle
Füßescharr: Schließlich sich hinten anstellen

Daher steht nicht ausdrücklich in dem Feld vermerkt, wozu es denn gehört. Und Cursor sind standardmäßig eine Bitmap. Es gibt da keine Speizialroutine für Bahnhofscursor.
Zitieren
#9
Wenn ich dich richtig verstanden habe, dann "melden" sich Stadtgebäude selbst nicht bei der Station, sondern nur die auf ihnen generierten Passagiere suchen von sich aus nach einer Haltestelle.

Nun gut, dann nähern wir uns der Problematik halt von der anderen Seite. Smile

Um Mißverständnissen nochmal vorzubeugen, ich unterscheide hier erstmal zwischen einem sichtbaren EB aller bereits existierenden Stationen und einem sichtbaren EB einer Station, die ich gerade setzen will - die also noch im "schwebendem" Zustand ist. Ich will hier voerst nur über erstere Variante diskutieren, da sie mir doch einfacher zu implementieren zu sein scheint.

Da jedes Feld einer Station einen festen EB von X+3 in jede Richtung hat, wieso nimmt man dann nicht jede X,Y-Koordinate einer Station, markiert alle umliegenden Felder (X+3 in jede Richtung) mit einem ´flag´ (außer Straßen vll.), um diese dann in einer DB zu sammeln und anschließend, wie oben im letzten Beitrag schon geschrieben, auf Abruf auszugeben?

Was steht dieser Lösungsvariante entgegen?
Simutrans braucht mehr Dynamik...
Zitieren
#10
Naja, gehen täte es schon, aber es ist nicht sehr kompatibel mit dem Rest. Man müsste die Datnstrukturen erweitern, was etwas mehr Speicherverbrauch nach sich ziehen würde. (Könnte aber u.U. die Wegsuche deutlich beschleunigen). Und es müsste auch noch ne Menge Logik dazukommen, wenn man die Station entfernt.

Ich mich demnächst nochmal der Passagiererzeugung annehmen. Da werde ich das Problem im Hinterkopf behalten. Versprochen ist aber nichts ...

Das zweite Problem besteht darin, wie man das Markieren will. Man könnte alles abdunkeln inklusive Fahrzeuge etc. Oder nur den Boden, aber dann würde man nichts sehen, wenn dort ein Haus stünde.

Und das Problem neuer Stationen ist noch völlig ungelöst.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste