Ideensammlung für Train Fever Nachfolger

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


  • Ja das 3D ist schon klar. Wird halt am Ende auf eine 2D Ebene Projeziert. Aber das 4D... OK verstanden. Dann kennzeichnet der 4. Wert also, ob es ein Punkt oder eine Strecke ist.
    Gibt der 4. Wert dann die Länge des Vektors an oder werden die ersten 3 mit dem 4. multipliziert? (also hätte 1|5|2|1 eine Länge von 1 und 1|5|2 gibt nur die Richtung an oder hätte der dann die Länge sqrt(30) also 5,irgendwas?
    Ich weiß was ich mir demnächst mal anlesen werde. Das interessiert mich jetzt irgendwie schon.


    Ne ich komme nicht aus Siegen und studiere dort auch nicht. Ich habe das Dokument nur zufällig im Netz gefunden.


    Edit:
    Habe mal angefangen dazu etwas zu lesen. Das scheinen keine 4D Koordinaten zu sein sondern so genannte "Homogene Koordinaten" und scheinen nur eine andere Art zu sein um 3D Koordinaten darzustellen. (wie z.B. auch Polar oder Kugelkoordinaten)
    Die haben wohl irgendwelche Vorteile... Weiter bin ich noch nicht gekommen :D

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

    2 Mal editiert, zuletzt von Freahk ()

  • Da musste ich mich jetzt selber wieder etwas einlesen, so richtig hilfreiches find ich gerade nicht. Es scheint sich aber wirklich hauptsächlich um den Betrag, also die Länge des Vektors zu drehen. Um einen weiteren Suchbegriff in die Runde zu werfen: Magnitude als englische Bezeichnung ^^


    Im Grunde isses wohl nicht viel mehr wie der Satz des Pythagoras: a² = b² + c². Das gleiche lässt sich munter für andere Dimensionen fortsetzen. Man bräuchte also |v| = sqrt(v.x² + v.y² + v.z² + v.w²) <- ist w 0... tja ^^ Dann hat es schlicht keinen Einfluss auf die Länge. Ist w jedoch 1, so bringt es sich schon minimal ein. Ändert wie gesagt an der Richtung nix, aber die Länge wird größer. Eigentlich doof oder? Wird das nun noch skaliert, wächst der Einfluss quasi.


    Hier was ich so erbärmliches bisher dazu fand:
    https://wiki.delphigl.com/inde…28Betrag.29_eines_Vektors
    https://wiki.delphigl.com/inde…L3_Lineare_Algebra#Betrag

  • Wegen dem Graphenproblem an sich, ja das is natürlich tricky. Aber im schlimmsten falle muss ja irgendwer mal damit anfangen Die Frameworks sind ja auch nich *plopp* einfach da

    Vielleicht kann UG ja ein bisschen von so etwas nutzen...
    http://www.boost.org/doc/libs/…/graph_parallel/doc/html/

  • Ich hätte auch einen Vorschlag:


    Ich möchte nicht nur Schlichte Sinulation haben,sondern vielleicht auch ein vereinfachtes Managmentsystem!


    Keine Eisenbahn Gesellschaft funktioniert ohne Personal,welches natürlich auch Kosten verursachen soll!
    Aber Durch seinen Einsatz ,z.B. mehrere Schaffner in einem Zug gleich schnellere Abfertigung oder irgendwas halt an Vorteil bringt und die Zufriedenheit der Fahrgäste erhöht !


    Und an Personal z.B. Auch das wenn ich mir Loks anschaffe ich auch Lokführer brauche!


    Ich wünsche mir nicht zu jedem Mitarbeiter einen Kopf den ich angucken kann,aber vielleicht ein vereinfachtes Managmentsystem in Schriftform wo man Personal verwalten kann.


    Man könnte es ja vor Spiel Start mit einem Haken setzen ein oder aus schalten,je nachdem ob man es nutzen möchte !

  • Ich wünsche mir nicht zu jedem Mitarbeiter einen Kopf den ich angucken kann,aber vielleicht ein vereinfachtes Managmentsystem in Schriftform wo man Personal verwalten kann.

    Personalmanagement ist nie einfach.


    Was du beschreibst bedeutet spieltechnisch nicht viel. Du kaufst eine Lok. Du klickst noch zusätzlich auf "Lokführer einstellen". Fertig. Das ist ein extra Klick, der unnötig für das Spiel ist, und Einfluss auf die Kosten hat (ist aber irrelevant, weil das auch als Gesamtpaket in den Betriebskosten der Lok stecken kann).


    Außer es gibt unterschiedliche Lokführer auf dem Arbeitsmarkt, von denen man sich einen aussuchen muss. Dann wäre die Frage, was die für Unterschiede im Spiel bewirken.


    Es hängt eigentlich nur davon ab.


    Genausogut könnte man Lokhersteller simulieren, die unterschiedliche Boosterpacks für die Loks verkaufen, also z.B. ICE langsamer und billiger, oder sehr schnell und teuer.

    Bilder sagen mehr als tausend Worte... (Erweiterte Antwort --> Datei anhängen --> Bild auswählen --> *freuen*)

  • Nochmal zum Thema OpenCL, dieses mal etwas mehr als Halbwissen.
    Ich habe im letzten Winter einige OpenCL "Kernels" (aka Programme) geschrieben, und kann in etwa beurteilen, was geht und was nicht.


    (Achtung, jetzt Programmiererlatein, ich versuche, mich so einfach wie möglich auszudrücken, aber ich kündige schon mal an, dass das folgende nicht jeder verstehen (muss)! You have been warned!)


    Im Endeffekt kann ich jedes C-Programm, dass kein malloc benutzt, zu einem OpenCL Programm machen. Um es parallelisieren zu können, sucht man möglichst große for-Schleifen, und giesst sie in einen Kernel. Diesen Kernel lässt man dann parallel auf der GPU laufen. So etwas wie Suche auf Graphen ist natürlich ein typisches Problem. Typischerweise haben heutige Grafikkarten etwa 1000 Prozessoren, das heisst, man kann 1000 Elemente (z.B. Pfade durch einen Graphen) gleichzeitig berechnen lassen. Ich echten Anwendungen habe ich eine Steigerung gegenüber der CPU (AMD FX 8150) um etwa den Faktor 100-500 auf meiner NVIDIA 960 gesehen. (Je mehr Durchläufe die For-Schleife hat, um so besser)


    Eine Grafikkarte braucht man nicht "in einen OpenCL-Modus zu versetzen", man gibt ihr einfach die Aufgaben, dieses und jenes zu machen und bekommt ein Signal, wenn es fertig ist. Auf dem Rechner muss normalerweise nur der neueste Grafikkartentreiber installiert zu sein. Dieser kann auch mit OpenCL umgehen.


    Bleibt noch das Problem, wie man Daten hin- und her schaufelt. Dazu muss man seine Daten entsprechend aufbereiten und sie ggf. vom CPU-RAM ins GPU-RAM kopieren, und Ergebnisse entsprechend zurückkopieren. Man kann also einige schlecht parallelisierbare Programmteile auf der CPU berechnen lassen. Vielleicht ist man aber auch geschickt, und rechnet quasi nur noch auf der Grafikkarte. Dann spart man sich das (langsame) Kopieren der Daten. Das Bottleneck ist hier der PCI-Bus.


    Weiter will ich erst mal nicht ins Detail gehen... :)

  • Dann müssen die Daten nur noch parallelisierbar sein, dürfen also keine Abhängigkeiten untereinander haben.

    Des weiteren bin ich der Meinung, dass Rangieren ein sinnvolles Feature dieses Spiels wäre.

  • Dann müssen die Daten nur noch parallelisierbar sein, dürfen also keine Abhängigkeiten untereinander haben.

    Teilweise. Man kann da was mit Workgroups machen, die sich Daten teilen dürfen, und gegebenenfalls untereinander synchronisieren. Dann wird es allerdings kompliziert. Einfacher ist es, das Problem so aufzuteilen, dass die einzelnen Workitems sich nicht kennen müssen. Man kann das häufig so lösen, dass man sich Zwischenergebnisse irgendwo merkt, und auf diesen Daten weiter rechnet.

  • @Yid Gut erklärt.
    Das deckt sich auch mit den Erfahrungen bei meinen kleinen openCL Spielereien.
    Gegen mehr Details hätte ich auch nichts ;)


    Jap wäre eine gute Idee jede Wegsuche eines Sims an die GPU zu füttern. Dann muss man sich für keine großen Gedanken um Parrallelisierbarkeit des Algorithmus machen. In diesem Fall kommt es ja auch nicht darauf an, dass eine einzelne Wegsuche schnell abgeschlossen ist, sondern nur darauf, dass eine Große Anzahl an Wegsuchen in einer bestimmten Zeit abgearbeitet werden können.

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

    Einmal editiert, zuletzt von Freahk ()

  • Wie siehts mit OpenMP 4 aus? Hat da jemand schon was mit GPUs gemacht? Von allen Standards verspreche ich mir da noch am Meisten.


    Aber macht das bei Spielen überhaupt Sinn, wenn die GPU eh schon mit der Grafikengine ausgelasted ist?

  • Es kommt hinzu, dass fast jeder aktuelle halbwegs Gaming taugliche Rechner mit Intel CPU 2 Grafikeinheiten hat, von denen eine (idR die Intel GPU) nicht genutzt wird.
    Diese Intel HD Grafikeinheiten sind zwar nicht die schnellsten, aber um der CPU ein wenig Arbeit abzunehmen dürften die locker ausreichen. Zumindest die etwas neueren Modelle.


    Bei vielen installierten (high poly und hochauflösende Texturen) Mods rennt TF bei mir leider noch deutlich davor ins GPU Memory limit. Da kann man aber mit einem bischen Texturen runter skalieren noch einiges wieder raus holen. Sobald es aber ins CPU Linit geht ist endgültig vorbei. Und da rennt es trotz i7-6700HQ früher oder später rein also muss man sich an der Stelle etwas einfallen lassen um den Nachfolger vielleicht auch über das Jahr 2000 hinaus auf einer großen Karte flüssig spielen zu können.
    Karten verkleinern ist da imho keine gute Idee, da selbst die großen Karten noch recht klein sind.


    Die heiß geschwitzte CPU und gelangweilte GraKa kann ich nur bestätigen. Sieht man alleine schon daran, dass TF bei mir auf meiner Intel Karte gefühlt genau so flüssig wie auf meiner GTX 965M läuft...

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

  • Hallo alle zusammen


    Ich finde das spiel so wie es ist super.


    Das einzige was geändert werden sollte ist das Gleissystem (Weichenmaß festlegen ,da durch entsteht ein Einheitliches Gleisbild der Weichenstraßen,
    dadurch würden automatisch Gleiskreuzungen entstehen).


    Alle Fahrzeuge sollten einzeln ausgetaucht werden können (dadurch kann man auf einer strecke verschiedene Fahrzeuge einsetzen).


    Bahnhof sollte nur ein Gleis haben und alle anderen Gleise sollte mann modular dazu kaufen können .


    STVO(Einbahnstraßen,Ampeln mit Funktion)


    Die Anforderung an die Rechnerleistung sollte mehr Beachtung finden das man das auch auf dem Laptop spielen kann


    MFG Anger85

  • Alle Fahrzeuge sollten einzeln ausgetaucht werden können

    Sowas ähnliches hatte ich auch schonmal ergrübelt, aber aus nem anderen Grund ^^ Dein Wunsch könnte damit aber ggf auch gelöst werden. Und zwar dachte ich daran, dass man nicht angibt, was auf einer Linie gewechselt werden soll, sondern welches Fahrzeug - egal wo - auf welches neue Fahrzeug gewechselt werden soll. Also man sagt jetzt einfach, die Postkutsche soll durch nen Mack ersetzt werden - feddich ^^ ihr ahnt, wo mir der Gedanke dazu kam xD


    Birgt natürlich auch Grenzen. Beispielsweise bei Zügen wäre das etwas anstrengender, denk ich mal. Man könnte bspw sagen, dass man eine Lok auch durch 2 ersetzen können dürfen soll. Oder eben umgekehrt aus ner Doppeltraktion wieder ne einzelne Lok. Genauso bei Waggons, aber das bringt nich wenig Probleme mit sich :/ Was wenn eine Lok vorn und eine Hinten dran is? Was wenn man Waggons aufstocken will? Hängt nur ein Wagentyp dran, kann man nur verdoppeln, nich aber mal bei 6 Waggons 2 mehr machen usw. Daher wäre das warscheinlich nur bei Strassenfahrzeugen sinnvoll *denk* Also alles, was nicht kombiniert werden kann.

BlueBrixx