Beiträge von Jan

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



    Hallo zusammen,


    die Texturierung meiner Triebwagenhalle hat mir echte Kopfschmerzen bereitet. Die Seitenflächen sind wahnsinnig groß und ich konnte keine wirklich passenden Texturen finden. Alles was halbwegs meine gewünschten Farben hatte, war nur als Kachel verfügbar und selbst riesige Texturen in anderen Farben waren nicht groß genug, um einen realistischen Maßstab zu erhalten. Ein Ziegelstein sollte nunmal nicht einen Meter lang sein ;-)


    Also mußte ich kacheln. Hier, das ist eine seamless Kachel, die perfekt meine Vorlage imitiert:


    Also hab ich gekachelt. Und es sah furchtbar aus. Wirklich furchtbar:


    Die Kacheln sind zwar seamless, aber Schmutz und Schattierungen wiederholen sich nunmal und da ich besonders große Flächen habe, mußte ich besonders viele Kacheln verwenden. Ich hab es mit Tricks versucht, wie Kacheln spiegeln, drehen und versetzen, um etwas Zufälligkeit reinzubringen, aber das sah noch schlimmer aus. Dann hab ich versucht, es mit zusätzlichem Schmutz zu maskieren, aber auch das brachte nicht den gewünschten Effekt. Es sah so unecht aus, daß ich mein Projekt fast eingestellt hätte.


    Aber dann hatte ich eine Idee: Warum nicht selbst mauern?


    Also nahm ich die Kachel und schnitt Ziegelsteine aus. Alle Ziegelsteine - außer die Halbsteine. Ich bekam insgesamt 52 Steine aus dieser Textur in all den unterschiedlichen Farben.
    Dann schrieb ich eine kleine Console Application in .NET und baute mir die Steine zu einer Mauer zusammen. Dabei wird per Zufallsgenerator einer der 52 Steine ausgewählt, eingesetzt und der nächste Stein per Zufall ausgewählt, eingesetzt usw. Das Resultat sah so aus:


    Besser, oder?


    Nun hab ich das Tool so geschrieben, daß es sehr flexibel ist und für alles mögliche eingesetzt werden kann. Folgende Features sind drin:

    • Kacheln können versetzt werden - so kann man Fliesen machen, wie ein Schachbrett oder um 50% versetzt, wie eine Ziegelmauer, oder jeden beliebigen anderen Versatz (in Prozent)
    • Die Kacheln werden normalisiert - d.h. wenn die einzelnen Ziegelstein-Bilder (oder was auch immer Ihr als Kacheln verwenden wollt) nicht alle die selbe Größe haben, werden sie einzeln auf eine vorher festgelegte einheitliche Größe skaliert
    • Die Dicke der Fugen kann in Pixeln angegeben werden
    • Die Farbe der Fugen kann in RGB mit Alphakanal angegeben werden - ich hab meine Fugen transparent gemacht, so daß ich in Gimp die Fugenfarbe jederzeit per Hintergrundbild ändern kann
    • Die Anahl der "Spalten und Zeilen" muß vorher angegeben werden, also wieviele Kacheln in X- und Y-Richtung erzeugt werden sollen
    • Der Speicherort der einzelnen Kachelgrafiken und der Ausgabeort der fertigen Textur müssen separat angegeben werden

    Was fehlt eigentlich?


    Eine GUI! Für meine Zwecke hat eine Konsolenanwendung gereicht. Alle zu konfigurierenden Werte hab ich in die app.config getan un dann meine Textur auf der Shell generiert. Aber so kann man das natürlich niemandem anbieten.


    Warum mache ich die GUI nicht selbst?


    Ich bin nicht gut im UI-Design, ich mag kein WindowsForms, ich hab wenig Erfahrung mit WPF und eine Webanwendung wäre wünschenswert, aber ich hab keinen Hoster für .NET. Außerdem hat das Tool seinen Zweck erfüllt: ich hab meine Textur und die Triebwagenhalle ist fertig, also warum noch mehr Zeit investieren?


    Aber ich hab alle Logik in einer DLL. Man kann also statt meiner Konsolenanwendung einfach eine Fensteranwendung - oder eine Website - obendraufsetzen.


    Hat jemand Lust und Interesse?


    Wenn ja, kann ich die DLL hier teilen und eine knappe Schnittstellendokumentation reinsetzen. Also wenn jemand von Euch eine GUI machen möchte, laß uns zusammenarbeiten!


    [line][/line]
    Short version in English:


    I made a texture generator, that combines tiles in a matrix. The first image above is my original seamless tile. The second image is a brickwall created by repeating this tile - it shows how bad it looks due to the repeating pattern. The third image shows a generated wall texture composed of 52 single bricks, which I cut out of the seamless tile and which I combined randomly to generate a wall of any arbitrary size. My texture generator is simply taking any random tile from a folder, normalizes it to a specified size and combines it to a matrix of a specified size to get rid of the pattern and make a truly random texture. All I made is a DLL and a console application with app.config which did the job for me.


    Now if someone could create a GUI to replace the console application, everyone could use this tool for their own textures.

    Ja die Scrollerei ist wirklich ätzend jedesmal, vorallem als Triebwagen-Fan, denn die sind immer ganz unten!


    Die Trennung der Fake-Fahrzeuge ist aber vermutlich nicht sinnvoll. Das wäre zwar cool, aber woran will man das festmachen? Fake-Loks sind ja nicht Teil des Spielsystems, sondern ein Workaround der Modder, um etwas Deko ins Spiel zu bringen. Diese Fahrzeuge haben aber kein Flag, das sie als Fake ausweist, sondern nur veränderte Konfigwerte.

    Zitat von Angry_CJ

    Das mit N und M geht schon seit der Beta Leute !!!!


    Ja, aber es ist nirgends dokumentiert! Als ich das Spiel frisch hatte, hab ich mir jedesmal einen abgebrochen um Straßen über Schienen zu legen: zwei Rampen gebaut und dann verbunden. Als ich per Google M und N entdeckt hab, dachte ich, ich werd nicht mehr - warum wurde das nicht im Spiel angezeigt? Ich glaube, inzwischen steht es da.

    Ja, man müßte schon wissen, welche Indices zu Türen gehören und welche zu anderen Meshes. Aber zum Glück sieht man ja alle türen in der Node "open_all_doors". Das kopierst Du einfach, benennst es um in open_doors_left (bzw. _right) und löschst die Zeilen, die Du nicht willst. Das einzige, was Du wirklich nicht weißt ist, welche Tür links ist und welche rechts, aber das hat man ja schnell herausgefunden, indem man es einfach im Spiel testet.


    Beispiel (fiktiv):


    Code
    open_all_doors = {
        [4] = { forward = true, name = "opend1", },
        [5] = { forward = true, name = "opend1", },
        [6] = { forward = true, name = "opend2", },
        [7] = { forward = true, name = "opend2", },
    },


    Jetzt kopierst Du den Block einfach zweimal und benennst die beiden zusätzlichen Blöcke um:



    Und nun mußt Du die Hälfte der Türen "rausschmeißen", so daß im einen Block die ersten beiden sind und im anderen die restlichen beiden:



    Daß Du nun genau die richtigen Türen erwischt hast weißt Du natürlich nicht, aber starte das Spiel einfach und schau, welche Türen sich nun öffnen - vielleicht nur die vorderen auf beiden Seiten und hinten bleiben sie zu. Dann mußt Du einfach die Indices austauschen. Öffnen sich die Türen genau auf der dem Bahnsteig abgewandten Seite, weißt Du, daß es genau falschherum ist, also benennst Du die beiden Nodes einfach um: aus left wird right und aus right wird left. Schon erledigt.

    Ich hab nun auch bahnsteigseitenabhängige Türanimationen eingebaut.


    Das Fahrzielanzeigenproblem ist erstmal vertagt - ich spiele zur Zeit zum ersten Mal ein richtiges Spiel mit der 485 (hab seit Dezember nur gemoddet und nicht gespielt) und bisher find ich es so wie es ist ziemlich geil. Ich weiß nicht, ob ich da wirklich Ziele in die Anzeige reinschreiben will. Ich denke aber noch darüber nach.

    Das Thema Hauptverbindungen wurde ja hier schon ausreichend diskutiert und ich möchte eigentlich nichts zur Debatte um Vor- oder Nachteile hinzufügen.
    Ich möchte nur folgendes wissen: Ist das auf den Screenshots so gewollt?



    Ich verstehe ja den Hintergedanken bei Hauptverbindungen, aber auf den Screenshots erschließt sich mir der Sinn nicht so ganz. Neuerdings sind in dieser einen Stadt alle Straßen Hauptverbindungen. Ich kann nichts mehr machen dort. Das Problem tritt erst seit kurzem auf, hat sonst noch jemand ähnliche Erfahrungen?


    Ich bin ja eigentlich strikt gegen das Cheaten, aber dieser Bug zwingt mich jetzt dazu, doch den Patch von @eis_os einzuspielen.

    Danke für die Vorschläge. Das Problem ist, daß bestimmtre Ziele aber nur für wenige Generationen funktionieren.


    "Ring" geht nur für die 4. Generation ab 2003. Die Traditionsfarbgebung wurde ja erst mit Wiedereröffnung des Ringes eingeführt.
    "Westend" geht für die letzten drei Generationen (der Südring wurde ab 1993 wieder in Betrieb genommen). "Westkreuz" würde ab 3. Generation gehen, wenn ich nicht völlig falsch liege. "Ostkreuz" wäre für generation 1 möglich. Vielleicht bekommt auch jede Generation ein eigenes Ziel. Ich muß das mal genauer durchdenken.


    "Innenstadt" geht jedenfalls überhaupt nicht ;-) Und die S-bahn-Linien kann man ja angeben. Ist es halt immer S9 oder S8 oder sowas. Für die ersten beiden Generationen haben wir sowieso keine Linien, sondern nur Umläufe die sowieso kein Mensch versteht, wie z.B. "N 8".


    Ich werde privat noch jemanden konsultieren, aber bedanke mich schonmal für Eure Vorschläge.

    Herzlichen Dank für Euer Feedback, das ist mir sehr wichtig.


    Für die Marix-Anzeige hab ich folgende Vorlage verwendet:


    Die Rollbänder sind einfach nur weiß. Ich hatte kurz in Betracht gezogen, den Rollbändern etwas Tiefe zu geben mit einem leicht verlaufenden Schatten, es aber dann fallen gelassen, da ich ja dann auch den Musterzug nochmal anpassen müßte, damit sie konsistent sind. Ich persönlich mag es nicht, wenn da oben Ziele stehen, da sie ja nie auf Städte im Spiel passen.


    Aber nehmen wir mal an, ich würde noch eine Version mit Text machen (und sei es als Repaint), was würdet Ihr denn dann dort oben drinstehen haben wollen? Vielleicht etwas neutrales, wie "Flughafen"? Oder existierende Berliner Endhaltestellen, wie "Grünau", "Westend" oder "Ring"?


    Für die Rollbänder müßte ich dann auf der Steuerbordseite Umlaufnummern angeben, denn damals waren die Linien als Schild hinter der Windschutzscheibe ausgewiesen:

    Nicht bei allen! Das ist dein Problem. Du hast die Beiwagen vergessen und wenn die nicht erschienen sind, gibts auch keinen Halbzug, keinen Dreiviertelzug und keinen Vollzug.


    Versteh mich nicht falsch, ich hab absolut kein Problem, wenn Du meinen Mod veränderst, aber bitte komm dann nicht angerannt und rufe "Bug!", wenn Du nicht weißt, was Du tust.

    Schau mal auf Deine Screenshots, bei Dir ist erst 1968!
    Außerdem hast Du alle Versionen gleichzeitig angekündigt bekommen, das bedeutet, Du hast dran rumgefingert. Ich kann keine Verantwortung übernehmen, wenn Ihr eigenmächtig an dem Mod rumfummelt.

    Sie ist veröffentlicht.


    Ich hab seit gestern noch Kleinigkeiten verbessert:
    - Fensterfarbe aufgehellt für besseren Kontrast zu den dunkelgrauen Rahmen
    - die schwarze Stange der Vorwende-Koladose ist nun auch rot (wie sich herausstellte, gab es die schwarze Stange nur an den beiden kolaroten Nullserien-Vierteln für die Leipziger Messe)


    Ich hab heute den ganzen Tag 8 Vollzüge (2 je Generation) im Kreis fahren lassen ohne nennenswerte Probleme. Ich hoffe, es ist alles zu Eurer Zufriedenheit. Bei Problemen, nicht zögern bescheid zu geben.


    Viel Spaß,
    Jan

    Ich glaub es kaum, aber ich bin fertig geworden! Und schau mal einer auf die Uhr, 5:40 Uhr! Aber das mußte ich jetzt noch fertig kriegen. Und ich hab nicht geschlampt auf den letzten Metern:



    Und hier noch ein paar Details für ganz hungrige:



    Ich muß jetzt noch ein wenig testen und die Werte für Verfügbarkeit, Lebensdauer, Kosten, etc. setzen, aber ich denke, ich kann sehr zeitnah releasen.


    Zitat von Auge

    Zumindest die KT4D gibt's doch …?


    Und den Ikarus auch. Er hat sie ja vermutlich auch beide schon und wartet nur auf die 485 für vollendetes Alte-Zeiten-Gefühl.


    Guts Nächtle.

    Sooo, ich bin jetzt in der Nachwendezeit angekommen. Die Deutsche Bahn hat ihre Finger an die Koladose gelegt und kräftig nachgerüstet.



    Sie hat jetzt eine Antenne und neue Entlüftungsböbbel auf dem Dach, neue Fahrzielanzeiger, ein drittes Spitzenlicht, Fenster in den Rückwänden (die man ohnehin nicht sieht im Spiel) und Lautsprecher neben den Klingellampen. Dazu kam ein DB-Keks an der Front und neue schwarze Wagennumern-Aufkleber. Das Dienstabteil-Schild ist zu einem Fahrradabteil-Schild geworden und von unter dem Fenster wieder neben die Tür gewandert. Die Schaku besitzt nun dreieckige Hochspannungswarnschilder und der Innenraum ist in einem freundlichen, übelerregenden rosa gehalten.


    Die Stange über der Windschutzscheibe ist nun rot, aber das ist nicht Schuld der DB. Tatsächlich gab es seit Einführung der Farbgebung schon vor der Wende immer mal Wagen mit roter und schwarzer Stange.Ich hab die Stange der DR-Koladose einfach schwarz gemacht und die der DB-Koladose rot.


    Und um kritische Stimmen gleich zu beruhigen: sämtliche Meshes sind wiederverwendet. Alle drei Varianten benutzen dieselben Bodies, Bogies, Kupplungen, etc. Nur die Texturen sind ausgetauscht. Nunja, für die Nachwendeversion hab ich noch Antenne und Entlüftungen spendiert, aber die sind in einem separaten Mesh, so daß ich den Body nicht duplizieren mußte.


    Nun kommt die letzte Phase: Die traditionelle Berlin-Lackierung mit tonnenweise DB-Aufklebern. Dafür werd ich noch ein Weilchen brauchen.

    Die ersten beiden Generationen (Nullserie + Koladose vorwende) sind fertig texturiert! Ich arbeite jetzt an der dritten (Koladose nachwende) und muß dann noch die vierte machen (Traditionsfarben).


    Zitat von Auge

    Wenn du schon diesen Duktus anwendest, dann richtig!
    Du hast also keine Valuta für den Einkauf im NSW (nichtsozialistisches Wirtschaftsgebiet). Soso.


    Mit dem NSW stimme ich Dir absolut zu, das ist mir irgendwie entgangen, aber Valuta war ja nun wirklich ein sehr salopper umgangssprachlicher Begriff. Ich erinnere mich noch gut an die häufige offizielle Verwendung des Wortes "Devisen" :P


    Zitat von Kirsche

    Falls Interesse besteht, schau ich mal im Keller nach den alten Unterlagen. Vielleicht ist ja was brauchbares für dich dabei.


    Ja, das wäre furchtbar nett! Ich hab eine Type gefunden, die zu 90% gleich ist und bei der Auflösung der Textur ist das ausreichend, aber falls Du noch etwas rausfindest, wäre das sehr cool. Auch wäre interessant, wie bei der Vorwende-Version der Koladose das Dienstabteil-Logo aussah. Beim Musterzug war es neben der ersten Tür, später in ganz klein unter dem Dienstabteilfenster. Dann wanderte es als Fahrradabteil-Logo wieder neben die Tür, bis es schließlich ganz verschwand. Ich benötige ein gutes Foto der Version unter dem Fenster:


    Ich hab eins gemacht, aber ich hätte gern Bestätigung über dessen Korrektheit.


    Zitat von EISFEUER

    Kann das sein, dass der Specular-Wert(Reflexionsgrad) zu hoch ist? Der Specular-Wert ist in der Material-Datei(.mtl)


    Also ich hab herausgefunden, daß der zweite Wert die Grelligkeit der Farben bestimmt und ein wenig nachgeregelt (danke für den Tip!), aber die anderen drei Werte erzeugen keine sichtbare Veränderung - auch die Belichtungsprobleme im Spiel sind nicht verschwunden, liegt also vermutlich an meinem ältlichen Rechner.