Danke!
Aber ich finde es immer noch ein wenig verwirrend. Gibt es triftige Gründe, die CommonAPI nicht in den offiziellen Downloadbereich einzustellen?
Für Beta- oder Testversionen gäbe es da doch notfalls eine Kennzeichnungsmöglichkeit ... ![]()
Beiträge von WernerK
Willkommen in der Transport Fever Community
Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.
Die Registrierung und Nutzung ist selbstverständlich kostenlos.
Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.
Das Team der Transport-Fever Community
-
-
Das hört sich alles interessant an. Aber wo genau kann ich denn die passende CommonAPI herunterladen?
-
Also ist t sowas wie eine Längenrelation. t = 0 wäre der Anfang und t = 1 das Ende des Splines. t = 0.5 wäre dann die Mitte, also die Hälfte des zurückgelegten Weges, stimmts? Das wäre dann interessant, wenn ich z.B. auf halber Strecke den Spline teilen bzw. einen weiteren Punkt einfügen würde. Dafür hätte ich dann womöglich sogar eine Formel gefunden. Allerdings würde da noch die Ermittlung der Tangenten fehlen.
-
Also ist t nur ein beliebiger Punkt irgendwo im Raum.
Oder muss es per Definition ein Punkt auf meinem Spline sein? -
Ich hab ehrlich gesagt keine Ahnung, wie Spieleprogrammierer sowas berechnen. Und Mathe hab ich seinerzeit abgewählt, bevor die Differentialgeometrie behandelt wurde. Zu der Zeit spielten Bezier- und Hermitekurven aber auch noch keine Rolle. Vielleicht muss ich mal sehen, ob eine frei herunterladbare Engine Einblick in den Code gewährt. Ansonsten bin ich mehr als nur einmal über Hermite-Interpolation gestolpert, aber hab nicht herausgefunden, was die genau macht. Der Wert t taucht dann und wann auch auf, du hast ihn ja auch angeführt. Was ist denn eigentlich t?
-
Ich habe inzwischen mal ein wenig mit euren Performance-Tipps rumgespielt. Leider ohne wirkliche Verbesserungen. Lediglich die Probleme beim Programmaufruf scheinen seltener zu werden, vielleicht hängt das tatsächlich eher mit Steam zusammen. Was mich immer noch nervt: Wenn ich eine Straße auf eine andere einmünden lassen will, hält die Straßenbauroutine ein Stück vor der geplanten Einmündung an, um dann erst ca. 1 Sekunde später (abhängig von der Komplexität der Bebauung) einzusnappen. Inzwischen habe ich den Verdacht, dass dieses Phänomen gar nichts mit der GPU zu tun hat.
Irgendetwas Gigantisches muss da neuerdings berechnet werden.
Aber was nur? Ich habe fast die Vermutung, da wird jedes Mal das gesamte Straßen- und Liniennetz neu berechnet, so lange, wie das dauert.
Auf jeden Fall ging es früher eindeutig schneller. -
Das sind die Längen der Fahrspuren! Eine Edge ist in mehrere Lanes aufgeteilt. Eine zweispurige Straße hat z.B. vier Lanes, davon die beiden äußeren für die Fußwege. Jede Lane wird separat berechnet, was ja auch Sinn macht, denn in Kurven nimmt die Länge der Lanes nach außen zu. Ist eine Haltestelle auf einer Lane, wird diese nochmals unterteilt. Nodes, die gleichzeitig Kreuzungen etc. sind, haben übrigens auch Lanes, und zwar eine ganze Menge. Das sind im Prinzip die Verbindungen, die bei Straßenbahnkreuzungen in Form eines Gleiswirrwarrs sichtbar werden. Die Ausgabe ist übrigens identisch mit entity2tn, was aber nur beim Bauen abgreifbar ist.
Schön und gut, und ich greife ja auch darauf zurück. Ich schreibe momentan ein Infotool und benutze es, um die Steigung einer Straße zwischen zwei Kreuzungspunkten zu bestimmen. Wenn man den Durchschnitt der inneren und äußeren Lanes berechnet und die Sache mit den Haltestellen berücksichtigt, klappt das auch ganz gut.
Aaaaber: Ich möchte auch die Gesamtlänge einer Edge vom Anfangs- bis zum Endnode ermitteln, die in o.g. Fall eben nicht der Nettolänge entsprecht. Die läuft nämlich von Kreuzungsmittelpunkt zu Kreuzungsmittelpunkt, wobei dieser auch nicht ohne Verrenkungen zu berechnen wäre, das wäre ja zu einfach! Die Gesamtlänge kann ich AFAIK nirgendwo mal eben abgreifen, falls doch, wäre ich für Tipps dankbar.
Warum möchte ich überhaupt die Gesamtlänge berechnen? Ich möchte ja noch eine Straßenbau-Mod entwickeln, und da ist es günstig, wenn ich die Ergebnisse kontrollieren kann. Außerdem kann es immer wieder mal nützlich sein, die Länge zu ermitteln.
Aber wie gesagt, ich habe jetzt zumindest einen Algorithmus, der genau das macht. Werde ich demnächst auch mal im Lexikon posten. Inzwischen suche ich nach weiteren Formeln, zum Beispiel, um die Steigung, Krümmung oder den y- oder z-Wert einer Hermite-Kurve über einem bestimmten Punkt auf der x-Achse zu bestimmen, allerdings nicht in Form einer Doktorarbeit, sondern als "Black Box", sprich Code-Fragment.
-
Bitte habt doch etwas Nachsicht beim Erklären. Für Einsteiger ist es wirklich nicht leicht, alles herauszufinden, schon gar nicht über Mods. Ging mir anfangs genauso. Liegt vor allem daran, dass man sich seine Informationen stückweise zusammensuchen muss, es nicht mal eine deutschsprachige Anleitung gibt, und Informationen auf mehreren Ebenen zu beschaffen sind: das Spiel selbst, die Mods, Steam, das Programmieren und dieses Forum hier. Bis man sich da überall eingelesen hat und auch alle manchmal gut versteckten Einstellungen gefunden hat, kann es eine Weile dauern.
-
Im Task-Manager TPF2 auswählen und dann delete drücken, das sollte das Programm relativ abrupt beenden


So leicht will TPF aber nicht loslassen. Du kannst in den Task-Manager gehen, siehst gerade das Fenster - und schwuppdiwupp ist TPF wieder vorne!
Dominant sein kann es sehr zuverlässig!
Da musst du manchmal sehr schnell sein, um dazwischenzugehen. -
Bis auf das Gras steht schon alles auf den niedrigsten Werten. Mit Gras hat es aber bislang immer funktioniert, sogar auf größeren Maps.
In den letzten Tagen häufen sich auch Probleme beim Spielstart. Das Startmenü erscheint manchmal, aber ist irgendwie blockiert. Nichts ist anklickbar. Selbst die behelfsmäßige Beendigung des Programms über den Windows-Task-Manager gelingt dann nicht immer auf Anhieb.
-
Bei mir hat sich die Performance merklich verschlechtert. Nicht mit 1000 Mods, sondern auf einer jungfräulichen Map ohne Mods im Kleinstformat. Das war allerdings auch schon ein paar Tage vor dem Update so. Zwei Dinge fallen mir auf: Kurz, bevor ich Straßen verbinde, ruckelt es, und meistens, aber nicht immer, wird die GPU von Anfang an voll ausgelastet. Ich weiß, ich habe nur schmalbrüstige 2 GB GPU-Speicher, aber für kleinere Maps haben die bislang immer locker ausgereicht.
Habt ihr auch solche Effekte?
-
Das Problem hat sich zur Hälfte gelöst.
Inzwischen habe ich zufällig eine Formel gefunden. Dazu muss man wissen, das die von TPF benutzten "Bezierkurven" mit den verlängerten Tangenten und der umgedrehten Endtangente eigentlich Hermite-Splines sind. Nach wie vor weiß ich aber noch nicht, ob man irgendwo in der Tiefe der API-Funktionen womöglich auch einen Rückgabewert vom Spiel findet.The problem is half resolved.
Meanwhile I found a formula by chance. You have to know that the "Bezier curves" used by TPF with the extended tangents and the reversed end tangent are actually Hermite splines. But I still don't know whether you will find a return value from the game somewhere in the depth of the API functions. -
Bei mir ist auch der Wurm drin. 100% GPU-Auslastung (2 GB) bei winziger Map.

Bauen von Straßen klemmt. Hatte ich noch nie.

-
Hier mal was für die Mathe-Helden
:Für ein Infotool möchte ich die Länge einer Edge über die Endpunkte und die Tangenten ermitteln. Mehrere Fälle:
1. Die Edge ist gerade. Kein Problem. Pythagoras hilft.
2. Die Edge ist ein Kreissegment. Auch kein Problem, da gibt's eine Formel für.
3. Die Edge ist eine unregelmäßige Kurve, z.B. eine S-Kurve.




entity2tn bietet die Möglichkeit, die Länge aus dem Mittelwert der Lanes zu ermitteln. Nachteil: Es wird bei Straßen nur der Bereich zwischen zwei Kreuzungen gemessen.
Ich könnte auch wieder über die Tangenten mit der Radius-Formel einen Näherungswert berechnen. Dieser stimmt aber bei unregelmäßigen Kurven nicht mit entity2tn überein.
Lollo berechnet die Länge wohl aus der Länge der Tangenten. Aber das ist noch ungenauer.
Das Beste wäre, wenn ich die Länge einer Edge über eine Funktion abgreifen könnte, die im Gegensatz zu entity2tn immer zwischen den Endpunkten misst. Keine Ahnung, ob eine solche Funktion existiert.
Die andere Möglichkeit wäre ein Algorithmus, wie ihn UG zur Längen-Ermittlung benutzt. Ich denke, sie benutzen keine seitenlange Formel, sondern ein kurzes Näherungsverfahren.
Here's something for the math heroes
: (hello enzojz 

)For an information tool, I would like to determine the length of an edge using the end points and the tangents. Several cases:
1. The edge is straight. No problem. Pythagoras helps.
2. The edge is a segment of a circle. No problem either, there is a formula for.
3. The edge is an irregular curve, e.g. an S-curve.




entity2tn offers the possibility to determine the length from the mean value of the lanes. Disadvantage: Only the area between two intersections is measured on roads.
I could also calculate an approximate value using the tangents with the radius formula. However, this does not match entity2tn at irregular curves.
Lollo probably calculates the length from the length of the tangents. But that is even more imprecise.
The best would be if I could get the length of an edge using a function that, unlike entity2tn, always measures between the end points. I don't know if such a function exists.
The other possibility would be an algorithm such as that used by UG to determine length. I think they don't use a page-long formula, but a short approximation method.
-
Meine Mod Gleisbauer bitte momentan nur zum Testen benutzen und nirgendwo fest einbauen! Es gibt noch Ungenauigkeiten bei Steigungen in Kurven. Sie sind zwar nicht mit bloßem Auge wahrnehmbar, können jedoch zu minimalen Knicken an Gleisverbindungen führen. Abhilfe kommt so schnell wie möglich.Die Probleme sollten jetzt behoben sein. Es gibt eine neue V 1.1 Beta. -
Many thanks for this code. I knew that the name is part of a params block, but the idea to change it using sendScripEvent seems interesting to me though the problem could be to change the name while still building. I think that this would mean to make a complete construction upgrade.
-
Yes, you can do it with a game script. But I want to do it right after building the construction. And there seems to be no solution.
-
So, die Mod für gerade (und nicht nur für gerade) Gleise ist da.

-
Ich habe in einem Gemeinschaftsprojekt mit sabon einen Test gemacht. Der Vanilla-Fahrdraht und die Haltedrähte sind nach bisherigen Erkenntnissen weder entfernbar noch irgendwie veränderbar. Man könnte nicht elektrifizierte Tramgleise benutzen, aber dann würden wichtige Spielfunktionen beeinträchtigt, und sämtliche Modelle müssten geändert werden. Also keine gute Idee! Es führt kein Weg umhin, den Vanilla-Fahrdraht in jegliche Mods zu integrieren oder UG permanent anzubetteln, endlich etwas an der Straßenbahn zu tun, was über animierte Blinker spürbar hinausgeht.

Die Idee mit der spannbaren Oberleitung hatte ich wohl schon einmal für Eisenbahngleise vorgeschlagen, wo es auch ginge ... aber wer macht's?
-
An dieser Stelle mal ein Tipp für alle Schönbauer, der allerdings nicht direkt etwas mit TPF zu tun hat (soll ich's vielleicht trotzdem auch mal ins Lexikon schreiben?). Falls ihr an einigermaßen verständlicher und vor allem kostenloser Online-Fachliteratur interessiert seid, empfehle ich euch einige Links.
1. Bei der TU Dresden wird man immer wieder fündig. Hier gibt es tatsächlich Fachleute, die es schaffen, komplizierte Sachverhalte einfach zu erklären, z.B.
https://tu-dresden.de/bu/verke…nd-bahnhofsentwurf_ap.pdf
https://tu-dresden.de/bu/verke…u_V/A-09-Bogenweichen.pdf
Ohne ein Minimum an technischem oder mathematischem Verständnis wird es aber auch hier nicht gehen.
2. Thomas Beckers "Drahtkupplung" enthält Wissenswertes zum Thema Weichen und Gleisbau. Diese Seiten sind schon fast ein Muss für Schönbauer und Vorbildfreaks. Vieles stammt wohl aus der MIBA, aber das macht ja nichts:
3. Diese Seite enthält einen Online-Rechner für Kurvengeschwindigkeiten sowie Brems- und Beschleunigungswege:
https://www.johannes-strommer.com/rechner/
4. Nützlich und lehrreich auch diese Seite mit sehr viel Infos zu Signalen und Vorschriften:
5. In eine ähnliche Richtung geht auch diese Seite:
6. Und last but not least und immer gerne gesehen - die gute alte EBO:
https://www.gesetze-im-internet.de/ebo/
Ich weise ausdrücklich darauf hin, dass diese Links weder etwas mit TPF noch mit meiner Person noch mit diesem Forum zu tun haben. Nach Prüfung gehe ich davon aus, dass diese Links nichts Illegales beinhalten, eine weitergehende Verantwortung übernehme ich nicht, auch nicht für die Richtigkeit der dortigen Angaben.