Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Unterteilung der Lkw in Bezug auf Anhänger
#1
Aktuell ist es so, entweder kann jeder Anhänger an jede Zugmaschine gehängt werden (Standard), oder mit ewig vielen constraint Einträgen in der dat, müssen mögliche Anhänger explizit genehmigt werden.

Besser wäre eine Gruppierung der Zugmaschinen über einen neue, optionalen Parameter ("traction_engine=")
in der dat. Der Parameter müßte dann bei Zugmaschine sowie Anhänger gesetzt werden, damit Simutrans erkennt, das sie zusammenpassen.
Bei den Anhänger sollten 2 oder 3 Einträge möglich sein.
Da der Parameter bei beiden Fahrzeugteilen eingetragen wird, ist auch keine fixe Zuordnung wie bei "engine_type" nötig, was zusätzliche Freiheiten bei der Zuordnung ergibt. Jedes Grafikset könnte eine eigene Zuordnung nutzen. Wenn man dann bis zu 10 Möglichkeiten vorgibt, kann damit eigentlich alles, inkl. Sonderaktionen abgedeckt werden.
Beispiele wären dann Pferde und Ochsen getrennt zu behandeln, oder auch gewisse Zeiträume oder auch Achsaufteilung ( 2achs Zugmaschine mit 3achs Auflieger, oder umgekehrt) damit abzudecken

Pferde werden dann alle Kutschen zugewiesen, Sattelzugmaschinen nur die Auflieger, uws. Bei Bedarf kann ja mit constraint zusätzlich gearbeitet werden.
Das würde die Arbeit für die Setentwickler doch deutlich vereinfachen. Vorallem bräuchte bei einen neu hinzugefügten Fahrzeug, nicht alle bestehenden Fahrzeuge geändert werden.
Zitieren
#2
Ich kopieren den den gleichen Satz constraints in jede Gruppe.
Das schaut nach viel Arbeit aus, ist es aber nicht. .dat im Editor öffnen, paste und wieder speichern.
Wenn man die ellenlangen constraints sieht denk man sich o was für eine Arbeit, aber ist nicht.
Wenn Fahrzeuge dazu kommen muß man allerdings den Satz in allen Fahrzeugen der Gruppe austauschen.
Eine Include Anweisung in den ,dats wäre da nützlich. Das könnte ein Script vor makeobj machen.

Die Änderung in Simutrans zieht sich bis ins Depot Fenster, das sieht mir nach viel Arbeit aus.
Zitieren
#3
Siehst Du, genau bei dem hinzufügen eines neuen Fahrzeuges ist nicht mehr zu tun, als nur diesem die richtige(n) "traction_engine=" einzutragen. Eben keine Änderung der gesamten Fahrzeugflotte.
Das würde auch das problemlose, nahtlose einbinden von Fahrzeugen als Addon ermöglichen, ohne viel Wissen über, oder Zugang zu einem constraint Block.

Klar, man kann auch den constraint Block kopieren und einfügen, aber genau dabei passieren viele Fehler.
Zitieren
#4
Bei Zügen gibt es ja Lokomotiven. Sobald keine Waren angegeben sind, sollte was bei Zugmaschinen landen. Es sei denn, die Strassen werden explizit anders behandelt. Muss mal nachsehen.
Zitieren
#5
Der Vollständigkeit halber, ähnlicher Vorschlag im Internationalen Forum: https://forum.simutrans.com/index.php/topic,17115

Anstatt über einen neuen Parameter wäre es da eine Erweiterung des Constraints-Parameters um eine Gruppenfunktion. Damit wären die Möglichkeiten noch etwas umfangreicher - am Depot müsste man aber trotzdem nichts ändern, sofern die Gruppen nicht sichtbar sein müssen.
Zitieren
#6
Wenn ich Deine Idee richtig verstanden habe, gehen unsere Ideen doch etwas auseinander.
Ich möchte constraints nicht ersetzen, nur den Umgang damit erleichtern.
Ich möchte damit auch keine Trennung nach Ladungsart (cat) erreichen, es soll möglich sein das Zugmaschine und Anhänger verschiedene Waren transportieren. Es soll nur eine Bauart spezifische Zuordnung (Vorauswahl) erfolgen.

Ein Beispiel, für die einfachste Umsetzung meiner Idee.
Pferde und Ochsen bekommen die 1, Traktoren die 2, normale Lkw die 3, und Sattelzugmaschinen die 4.
Kutschen und Fuhrwerke ebenfalls die 1, Anhänger für die Traktoren die 2, Anhänger für die Gliederzüge die 3, und die Sattelauflieger die 4.
Bei Pferde und Ochsen sind dann auch nur Kutschen und Fuhrwerke anhängbar, usw.
Z.B. könnte man bei bestimmten Anhänger eine 2, und 3 eingetragen werden, diese könnten dann von Traktoren und Lkw's gezogen werden.

Somit werden zu den jeweiligen Zugmaschinen immer die passenden Anhänger als anhängbar (grün) markiert, die anderen lassen nicht anhängen. Das Ganze funktioniert dann ohne das ewig lange constraint Blöcke nötig sind, was die dat deutlich vereinfacht und verschlankt. Das erleichtert auch eine evtl. nötige Fehlersuche. Ebenso ist das hinzufügen, oder entfernen eines Fahrzeug kein Problem oder gar Arbeitsaufwand, da kein constraint Block angefasst werden muß.
Wenn man 10 oder auch mehr Abstufungen zur freien Verfügung vorgibt, kann man sehr viele Szenarien damit abdecken, z.B. Trennung der Gliederzüge nach Epochen usw.

Für die Detailarbeit steht dann immer noch constraints zur Verfügung, falls tracktion_engine nicht ausreichen sollte.

Man könnte es natürlich auch beim Schienenverkehr benutzen.
Damit könnte man Güterzug- und Personenzug Loks sauber trennen, z.B. dürft dann eine 01 keine Frachtwagen ziehen.
Zitieren
#7
Die Idee gefällt mir sehr gut. Wenn ich es richtig verstanden habe, würden sich die Depots nicht ändern, der Spieler folglich nichts von dieser Variante merken.
Zitieren
#8
(26-08-2018, Sunday-00:07:15 )The Transporter schrieb: Wenn ich Deine Idee richtig verstanden habe, gehen unsere Ideen doch etwas auseinander.
Ich möchte constraints nicht ersetzen, nur den Umgang damit erleichtern.
Ich glaube, dann hast es missverstanden, denn Constraints sollen bei mir eben nicht ersetzt werden, sondern erweitert werden, um mehr Möglichkeiten zu bieten.

Deine Lösung wäre, sowohl den Pferden als auch den Kutschen die "traction_engine=1" zuzuweisen. Unabhängig von Constraints wären immer nur Fahrzeuge mit der gleichen traction_engine kuppelbar, somit wären die Anhänger von Sattelschleppern mit "traction_engine=4" nicht mehr von Pferden ziehbar, ganz ohne dass ein einziger Constraintwert angegeben werden müsste. (bzw. müsste man wohl immer noch "none" angeben, damit man das Pferd nicht hinter die Kutsche spannen kann)

Meine Lösung wäre, den Kutschen eine "Constraint_group=Fuhrwerk" zuzuweisen. Die Constraint_group wäre ein frei definierbarer String, wie der Name von Objekten.
In den Constraints würde bei den Pferden "Constraint[Next][0]=Fuhrwerk" stehen. Bisher könnten die Pferde damit nur ein Objekt mit Namen "Fuhrwerk" ziehen, mit der Änderung dann auch jedes Objekt in der Gruppe "Fuhrwerk".

Wie du siehst ist damit alles, was mit deiner traction_engine möglich wäre, ebenfalls möglich. Es bietet aber noch weitere Vorteile, weil es auch im Detail verwendet werden kann.
Beispielsweise (und wirklich nur als Beispiel) könnten Einheitstender der Gruppe "Einheitstender" zugewiesen werden, und jede Dampflok, welche keinen spezifischen Tender benötigt, "Constraint[Next][0]=Einheitstender" nennen. Da nur der jeweils nächste/vorhergehende Wagen die Constraintsbedingungen erfüllen muss können alle möglichen Wägen angehängt werden, was bei "traction_engine" nicht ginge.
Wenn das Pakset selbst den Parameter "traction_engine" nicht nutzt, so hätten Addons nichts davon. Mit Constraint-Gruppen wäre das kein Problem, da der Name eines bestehenden Fahrzeuges als Gruppenname übernommen werden kann, um all dessen Constraints zu übernehmen (also alle Constraints anderer Fahrzeuge, welche es namentlich nennen)
Da es keine Begrenzung in der Anzahl an Constraint-Gruppen gäbe, könnten sie auch für einzelne Sets verwendet werden. Also zB. ICE, TGV, Shinkansen,... - zumindest, wenn man dem Spieler erlaubt, die Züge beliebig zusammenzustellen, solange nur die Setzugehörigen Elemente genutzt werden. Das ginge zwar auch mit traction_engine, solange es dort ausreichend Auswahl gäbe, wäre dann aber wohl namentlich verwirrend, da es wenig mit der mechanischen Möglichkeit der Verbindung zu tun hätte und mehr mit Ästhetik und Balance des Spiels.
Zitieren
#9
Falsch habe ich Dich insofern verstanden, als das ich meinte das Du mit Deiner Idee auf die Warengruppen (cat) losgehen willst.

Du hast 2 Sätze von mir zitiert, wovon der 2. mein Hauptgrund ist, den Umgang zu vereinfachen, erleichtern.
Bei Dir wird es noch deutlich komplizierter.

Genaugenommen ist mit beiden Ideen das selbe machbar. Entscheidend ist nur, wie beim programieren die Umsetzung stattfindet.
Bei beiden Ideen ist ein Ersteller von Addons von den Grundeinstellungen, Vorarbeiten des Grafiksets, und deren zugängliche Beschreibung abhängig.
Bei Deinem Beispiel mit den Einheitstender, muß auch erstmal dieser Gruppe die verschiedenen Tender zugeteilt werden, entweder über den Namen, oder über eine eigene Liste. Ohne Vorarbeit der Grafiksetersteller funktioniert es auch bei Dir nicht.


Mit traction_engine werden die Zugmaschinen in feste Gruppen eingeteilt, aber auf der Anhängerseite ist alles frei wählbar, da dort keinerlei Einschränkung herrscht.
Damit können Anhänger einer oder mehreren Zugmaschinengruppen zugeteilt werden.
Wenn traction_engine auch für Züge verwendet werden sollte, wäre es sinnvoll, wenn der Tender bei anhängen die Gruppe der Lok übernimmt. Dadurch stört er nicht weiter.

Bei mir wäre nur der Umgang mit einem Parameter plus 1 oder mehreren Zahlen nötig, bei Dir sind mehr oder weniger lange Strings nötig. Jedes Fahrzeug kann einer oder mehreren Zugmaschinengruppen zugeordnet werden, in dem man einfach zusätzliche Zahlen dem Parameter anhängt. Bei Dir wäre ein zustätzlicher String nötig.
Daher finde ich meinen Ansatz einfacher und übersichtlicher.
Und wenn dann noch zusätzlich ein Standard Constraint Eintrag dazukommt, wirds bei Dir nochmal unübersichtlicher.

Ich sehe die Trennung in Zuordnung (traction_engine) und der Detailarbeit (constraint) übersichtlicher, als alles in den constraint zu verlagern.

Grundsätzlich ist es von der Funktion her ein Unentschieden, bei der Handhabung sehe ich deutliche Vorteile auf meiner Seite.

Ich wußte von Deiner Idee nichts, da ich sehr selten im Int. Forum unterwegs bin.
Wie heißt es so schön: 2 Dumme, eine Idee.
Zitieren
#10
(26-08-2018, Sunday-13:01:04 )The Transporter schrieb: Bei beiden Ideen ist ein Ersteller von Addons von den Grundeinstellungen, Vorarbeiten des Grafiksets, und deren zugängliche Beschreibung abhängig.
Bei Deinem Beispiel mit den Einheitstender, muß auch erstmal dieser Gruppe die verschiedenen Tender zugeteilt werden, entweder über den Namen, oder über eine eigene Liste. Ohne Vorarbeit der Grafiksetersteller funktioniert es auch bei Dir nicht.
Puh... nein, denn es gibt weder eine Gruppe, noch eine eigene Liste, als greifbares Objekt. Es gibt lediglich einen (oder mehrere?) Strings als zusätzliche, optionale Parameter im Fahrzeugobjekt, welche für die Constraintsangaben wie der Name eines Objektes zählen.
Wenn ein Grafikset dieses System nicht nutzt, dann hätte es stattdessen einen Haufen Loks, die alle die gleichen Tender als nächstes Fahrzeug bestimmen. Will man als Addon-Ersteller einen zusätzlichen Tender hinzufügen, ohne die Constraints der bestehenden Loks zu ändern, so würde man den Namen eines bestehenden Tenders als Constraintgruppe angeben. Der neue Tender würde somit überall dort angehängt werden können, wo es auch der Tender, dessen Name verwendet wurde, könnte.
DrSuperGood hat das im Internationalen mit dem Begriff Alias umschrieben - man kann es sich so vorstellen, als hätte ein Türsteher eine Liste erlaubter Gäste (Constraints), aber keinen Stift um abzuhaken, wer schon reingegangen ist. Somit können meherer Gäste hintereinander mit einem gefälschten Ausweis auftauchen, die alle auf den gleichen Namen lauten, und er lässt alle durch.
Das wäre die Verwendung bei Addons, wenn man was "reinschummeln" will; wenn das System aber vom Setdesigner verwendet wird, würde er Namen für bestimmte Gruppen an Fahrzeugen vergeben und diesen den entsprechenden Namen als Constraintgruppe zuweisen. Somit können dann auch die Addonersteller diese Gruppen übernehmen.

(26-08-2018, Sunday-13:01:04 )The Transporter schrieb: Bei mir wäre nur der Umgang mit einem Parameter plus 1 oder mehreren Zahlen nötig, bei Dir sind mehr oder weniger lange Strings nötig. Jedes Fahrzeug kann einer oder mehreren Zugmaschinengruppen zugeordnet werden, in dem man einfach zusätzliche Zahlen dem Parameter anhängt. Bei Dir wäre ein zustätzlicher String nötig. Daher finde ich meinen Ansatz einfacher und übersichtlicher.
Hast du schonmal mit den Clustern für Stadtgebäude gearbeitet? Die entsprechen so ziemlich dem, wie du dir die Zugmaschinengruppen vorstellst. Übersichtlich ist was anderes, im Endeffekt schaust immer nur nach, welche Nummer nun eigentlich für welche Gruppe stand, um dann statt des Gruppennamens nur die Zahl einzutragen...

(26-08-2018, Sunday-13:01:04 )The Transporter schrieb: Ich sehe die Trennung in Zuordnung (traction_engine) und der Detailarbeit (constraint) übersichtlicher, als alles in den constraint zu verlagern.
Ich erkenne, warum du so denkst, und für das, was du vorhast, würde ich zustimmen. Allerdings gehen die Meinungen, was genau Constraints überhaupt darstellen sollen, ziemlich auseinander, vom mechanischen Aspekt des Kupplungstypen bis zur Frage, welche Wägen mit welcher Lok in der Realität je gemeinsam gefahren sind. Und je nachdem, welche Philosophie bereits verfolgt wird, ist deine Idee entweder die perfekte Lösung, oder völlig nutzlos. Dass es dann auch noch zwei völlig unterschiedliche Systeme geben soll, um zu entscheiden, welche Fahrzeuge mit welchen können, halte ich auch alles andere als Übersichtlich.

Aber ja: Die Hauptsache ist, dass das derzeitige Constraints-System nicht all das kann, was es können sollte. Wie genau, darüber lässt sich streiten, wenn ein Entwickler überzeugt wurde, dass es seine Zeit wert ist, überhaupt mal hinzuschaun. (Womöglich müssten diese dazu erstmal verstehen, worum es eigentlich geht, wenn ich mir prissis Antwort anschaue)
Zitieren


Gehe zu:


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