Beiträge von betadxlta

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!

    Omvi3dx / Omovi3d

    Omsi 3D-Model- & Textur-Viewer, Converter und Editor


    0. Einführung und Vorwort

    Bevor ich mein Projekt erkläre, möchte ich erstmal auf ein paar Sachen hinweisen. Erstmal vorweg, ich weiß, dass es inzwischen mein

    drölftes Projekt ist, und ich erst andere Projekte fertigstellen soll, bevor ich mit irgendetwas neues ankomme, nur das hier ist etwas

    sehr spezielles, die anderen Projekte sind noch am Leben, von daher - alles ok. Bei diesem Projekt habe ich nur eine Baustelle getroffen.

    1. Das Projekt und die Baustelle

    Seit einiger Zeit arbeite ich an einem 3D-Model- und Textur-Viewer, spezialisiert auf Omsi-Typen wie Direct3D X-Modelle (.x-Dateien), DirectDraw-Surfaces (.dds-Dateien), und verschiedene

    andere Modelformate (.obj, .blend, usw.) sowie Bitmap- und Texturformate. Soweit so gut, unten findet ihr schon ein Screenshot, wo ich ein 3D-Model aus der Tauschbörse geladen habe.


    Soweit so gut. Leider traf ich auf eine Baustelle - und zwar bin ich mit den Sachen aus der Tauschbörse für Tests sehr limitiert. Ich kann nur Modelle benutzen, die noch irgendwo als X-Datei rumliegen, oder irgendwelchen Tauschbörsenmodellen, welche auch nicht etwas ganzes sind. Von daher kann ich wenig testen, das es auch wirklich 100% funktioniert, und auch 100% korrekt ist - nicht das es am Ende

    irgendwas kaputtes ausspuckt.


    An sich funktioniert die ganze Basis des Programms. Ich kann Materialien modifizieren, Texturen laden, generell jegliche Modelle laden, von Blender-Dateien bis X-Dateien, mit einem vollwertigen 3D-Viewer,

    wo man die Kamera bewegen kann, simple Animationen zur Darstellung des Modells usw.

    2. Features und Roadmap

    Ich habe relativ viel geplant, aber auch nicht allzuviel. Es sollte ein simpler 3D-Modelviewer sein, welches auch 3D-Modelldateien in dem DirectX X-Modellformat konvertieren kann, und zurück.

    Natürlich kann man mit diesem Programm NICHT .o3d-Dateien öffnen oder entschlüsseln. Anyways, es unterstützt auch das Konvertieren und Laden von DirectDraw-Surface-Texturen (DDS),

    z.B. um es in einer normalen PNG zu konvertieren, oder einfach zu schauen, ob die Textur auf dem Modell passt. Definitiv wird es aber unterstützen, Omsi-Konfigurationsdateien zu lesen und zu

    schreiben (z.B. für Sceneryobjects, usw.). In der Zukunft schaue ich aber dann, was für Features noch reinkommen könnten.

    3. Zurzeitiger Stand

    Wie schon oben geschrieben, die Basis ist fertig, woran es gerade nur hängt, ist die extreme Limitation vom Debuggen und Testen, sowie nötiges Feedback für die UI, sowohl als auch Ideen für

    Features, Polishing und noch weiteres. Der Renderer basiert auf DirectX (DirectX 11 um genau zu sagen) und unterstützt sehr viele Dinge wie Antialiasing, verschiedene Detailstufen für Texturen und

    Modelle, sowohl als auch simple Post-Processing-Effekte. Materialien, Texturen und so weiter und so fort werden vollständig unterstützt. Dazu gibt es auch einen Software-Renderer für speziale Fälle.

    4. Mein Hilfegesuch

    So. Wie schon oben beschrieben, die Basis ist fertig - aber das Projekt ist auf keinen Fall reif für die Veröffentlichung, weshalb ich sehr dringend nach Tester und Mitglieder

    suche. Die Alpha-Version würde dann auch relativ bald kommen, wenn ich genug Interessenten für dieses Projekt zusammenbekomme. Ob regulärer Omsi-Spieler, Freizeit-Modder

    oder Content Creator, jeder ist willkommen. Vielleicht kann ja aus diesem Projekt viel mehr werden :)

    5. Schlusssatz

    Erstmal vorweg, ich weiß ich habe jetzt zwei Projekte angekündigt und sie nicht veröffentlicht bzw. ein Lebenszeichen gegeben, und es ist mir total bewusst das es echt nicht

    geil aussieht und vorallem garnicht professionell rüberkommt, einerseits liegt es daran das ich an mehreren Sachen arbeite, andererseits liegt es einfach an meiner Motivation.

    In den letzten Wochen habe ich sehr viel mit 3D-Rendering-Libraries rumgespielt und sehr viel Wissen angehäuft, wo ich dann auch relativ viel experimentiert habe. Daraus

    ist dann dieses Projekt geworden, was ich auch fertigstellen will und wollte, aber ich schnell gemerkt habe, dass es sehr riskant und schwierig ist, nur ich als Tester zu haben,

    das liegt vorallem daran, das es mehrere Modellformate unterstützt, nicht zu vergessen die Konvertierung der Modelle zu Direct3D X-Modellformaten und zurück. Da kann schnell

    was untergehen, z.B. könnten aufeinmal Materialien fehlen, was ich nicht bemerken würde, aber ein fortgeschrittener Omsi-Modder schon. Da gibt's vieles was ich nicht sehen würde,

    aber jemand der viel Erfahrung mit Omsi-Modellierung hat, schon. Ich möchte echt nichts kaputtes veröffentlichen, und vorallem etwas fertig nennen, was halb zusammengebastelt ist.

    Ich hoffe ihr versteht dies, ich hoffe ich mach mich hier nicht unbeliebt, ich will echt gerne meine Projekte fertig machen, aber ab einer bestimmten Größe, ist es extrem schwierig,

    als Einzelgänger etwas zu machen, vorallem für ein Simulationsspiel, die von der Community hochgehalten wird.


    Ich hoffe ich konnte einige Fragen beantworten, ich hoffe dieses Projekt wäre evtl. interessant für euch. Ich freue mich sehr über jede Unterstützung.

    - Lynn



    Anwendungsspezifikationen:

    Early In-Dev Screenshots:

    aber das Omsi auf Proton läuft ist ein Wunder hahaha

    Omsi braucht kaum Ressourcen, ist aber echt mies programmiert und optimiert. Proton selber ist, da auf Wine basierend, im Prinzip ja "nur" eine "Library", die die ganzen Windows-Calls und Libraries auf Linux-Calls und Libraries übersetzt. Grafisch ist das auch kein großes Problem, auf einer potenten CPU kann man Omsi auch mit Software-Renderer mit akzeptabler Performance spielen.

    So viele komische D3D-Calls Omsi macht, hätte ich mir eher vorgestellt, dass Proton abschmieren würde hahaha

    außerdem ist Omsi eh Windows-only, also würde es kein Sinn machen

    Das ist so nicht mehr ganz korrekt, da OMSI durch Proton mittlerweile mehr als brauchbar auf jeder Plattform funktioniert. Ich spiele seit längerer Zeit schon unter Linux.

    Hab's noch nicht auf Proton ausprobiert, aber das Omsi auf Proton läuft ist ein Wunder hahaha



    Fair. Das mit dem Iterieren habe ich auch bedacht. Aber inzwischen baut man PWAs primär für die Nutzung offline sowohl als auch online, nur leider eben wie du oben gesagt hast, ist das mit dem Dateisystem noch eine Sache. Naja PWAs unterstützen soweit ich weiß alle Browser - bis auf Firefox (lol).

    Gut das Ding ist, die Webapps basieren auf WebAssembly - unterstützt eigentlich jeder Browser, der nicht vor 2017 gestorben ist. Auch mobil.


    Das sehr positive aber ist, das ich Real-Time WebSocket Client-Server-Client Webapps machen kann dank SignalR, wo ich mich schon ausgetobt habe. Das ist so ein Ding,

    wo man relativ coole Sachen machen kann, aber natürlich ist nur die Frage - was?


    Zum Styling, ja gibt natürlich noch WPF. Find aber CSS und HTML tausendmal angenehmer hahaha.

    Update und Neuigkeiten zum Projekt - Tools als Web-App?



    Moin erstmal.


    Sorry für die Inaktivität. In den letzten Tagen habe ich hauptsächlich an einem universalen Parser für Omsi-Konfigurationsdateien gearbeitet.

    Der Parser funktioniert und ist sozusagen schonmal Beta. Gut, aber jetzt zum Tool!


    Ich überlege, das Tool nicht als Windows-Applikation zu machen, sondern als eine PWA Web-App. Eine PWA Web-App ist eine Web-App, die sowohl online als auch offline in eurem Browser läuft und sogar sozusagen "installiert" werden kann, egal ob Android, iOS, Windows oder Linux. Dazu hat man dann auch coole Funktionen wie Notifikationen, als hätte man eine echte App vor sich liegen.


    Warum ich das überlege ist einfach, weil ich ein schönes Design haben will, das auch nutzbar und übersichtlich ist, anstatt mit WinForms. Ich bin zwar gut darin, etwas nutzbares damit zu machen was auch Ok genug aussieht für ein Windows-Programm (Hauptsache kein Augenkrebs), aber es ist nicht genug für meine Ziele und Wünsche.

    Außerdem habe ich sehr viel Erfahrung mit Webdesign, Webprogrammierung und habe in letzter Zeit sehr viel mit solchen Frameworks gearbeitet.


    Von daher, was hält ihr davon? Kritik, Wünsche usw. erwünscht :)

    Sehr viel Dedication für OMSI hahaha. Nein aber ernsthaft, ja das liegt daran, das Windows über die Zeit einfach aufgeblasen wurde mit so viel Zeugs. Heutzutage kriegste Bloatware direkt mitgeliefert, hast tausend unnötige Features die du nichtmal ausschalten kannst, dann laufen noch die Datenklaudi- sorry, ich meine die Telemetriedienste im Hintergrund, das alles gibt es bei Windows 7 nicht. Außerdem ist die Codebase von Windows extrem schlecht geworden, bzw. wissen die Windows-Entwickler nicht mehr, was die überhaupt machen. Siehe den Artikel von ArsTechnica hier. Es gibt einfach sogar Reste von Windows 95 in Windows 10! Das ganze Win32-Subsystem ist Müll geworden. Das liegt aber einfach daran, dass Windows extrem weit verbreitet ist, und sie jeden Mist von vorherigen Versionen irgendwie noch unterstützen müssen, weil sonst bei den Leuten Havoc ausbricht. Eigentlich wollten sie das ja ändern, aber mit Windows 11 machen sie den gleichen Mist weiter.


    Ok sorry zurück zum Thema. Windows 7 ist noch relativ clean, außerdem hat es den besten Support für DirectX 9, es ist ja auch inzwischen uralt.

    Moin.


    Ich nutze eine SanDisk Extreme Pro 500GB NVMe SSD.


    Kurz gesagt: Der gute alte Marcel hat OMSI so krass unoptimiert programmiert, dass es NULL Unterschiede gibt, außer bei HDDs, aber das ist obvious. Das Spiel lädt die Sachen so verdammt komisch, und da es so viele Dateien gibt, die auch erst beim Laden prozessiert werden, die auch noch für alles mögliche alle einzelnd sind, bringt auch eine NVMe nix.


    Ich hatte für eine Zeit OMSI auf meiner WD Blue SSD. Kein Unterschied.


    Zu Nachladeruckler:

    Wird es leider immer geben, aber von den schlechten Seiten des Spiels hinweg wirst du dich daran gewöhnen und es mit Humor nehmen. Setz die Nachbarkacheln auf 1, Kartenkomplexität auf maximal 2 und Objektkomplexität auf 2, vielleicht auch 3, abhängig davon ob es für dich passt. Objektsichtbarkeitsentfernung kannst du dann auf 600 setzen. Ganz besonders wichtig: KI so gut wie möglich ausdünnen. Oft hatte ich KI mit Fahrplänen komplett aus, da sie einfach OMSI überfordert. Am besten machst du die KI mit Fahrplänen auf maximal 40, und die Priorität auf 1 bis 2. Straßenfahrzeuge auch runter, ich hatte es immer auf 50 bis 75, und Fußgänger auch, ungf. bis 200, maximal 300.


    Ja die Map wird dann relativ tot sein, aber es ist unmöglich, Rush Hours zu inszenieren, da sonst OMSI ein Herzinfarkt und Schlaganfall inkl. Epilepsieanfall gleichzeitig bekommt.


    NVMes sind definitiv kein rausgeworfenes Geld. Vorallem bei der Datenmenge von OMSI würde es "theoretisch" helfen, aber da es tausende Dateien sind, die überall verstreut sind (Random IOPS, wichtig, ist auch das schwierigste für Speichermedien), und Asset-Streaming wohl zu schwierig war, lohnt sich es echt nicht für OMSI eine NVMe SSD zu holen.


    Ich hab schon manchmal die maximale Datenbreite von NVMes getroffen, auch bei Spielen. Nicht bei allen natürlich, aber bei manchen Sachen spürt man schon eine deutliche Verbesserung. Ja, aber für so ganz normale Otto-Normal-OMSI-Spieler reicht eine SSD vollkommen aus.

    Vielen lieben dank! Ja es ist noch im frühen Stadium - aber, es läuft haha. Parsing funktioniert, und inzwischen kann man auch .oft-Fonts benutzen bzw. previewen. Währenddessen ist mir evtl. aufgefallen, ob ich nicht direkt einfach ein Krüger-Bitmap-Editor einbaue, da das ganze alleine schon rein auf Bitmaps basiert.

    Hier das funktionierende Ding, keine Sorge, das ist rein Tüftelei, nicht das Endprodukt, hahaha. ;)

    Die Preview wird auch realistischer sein, inkl. Flipdot-Preview oder Non-Krüger-Preview.

    Warum kein C oder C++ ? C# und .NET limitiert - mal wieder - auf Windows, nicht wirklich Multi-Plattform. Gut, MONO kann man machen aber ist ja auch mehr schlecht als recht.


    MMn. eigenen sich solche Klein-Teil Projekte perfekt für Multi-Plattform.


    Was'n eigentlich aus dem anderen Projekt geworden, dass du so großartig angekündigt hast?

    Ich programmiere schon seit meiner Kindheit in C#, bzw. arbeite mit .NET, von daher - außerdem ist Omsi eh Windows-only, also würde es kein Sinn machen, das so extrem kompliziert zu machen. .NET ist aber inzwischen Cross-Platform ;)


    Ja, lange Story. Motivation, IRL Stress. Aber es kommt alles langsam vorran, ich hab jetzt einen universalen Parser geschrieben, für das Hellhole von Omsi-Configdateien. Es funktioniert nun, also wird es alles kein Problem mehr sein.


    Bin gerade auch am Krueger-Editor gut am machen, funktioniert auch perfekt. Kannst halt 'ne Fontdatei auswählen und dann visuell dein Ziel/etc sehen.

    Das hört sich doch nach einer guten Idee an! Ich freue mich auf weitere Infos :)

    Sehr sehr bald bald :)


    Und in welcher Programmiersprache wird gearbeitet?

    C#, .NET 5


    Plane auch eine kleine Template-Engine einzubauen, z.B. damit User Templates erstellen können, so wie beim HOF Creator, nur mehr advanced. z.B. aus Maplinien spezielle Krüger-Ziele zu erstellen die dann z.B. in inverted sind usw.

    Omsimat



    Ein neuer, übersichtlicher und einfach benutzbarer universaler Hof-Editor.


    Seitdem ich Omsi spiele, wollte ich schon immer meine eigene Welt erstellen. Eigene Linien, fiktive Unternehmen, gemoddete Busse, und so weiter.

    Letztens habe ich mich mit der Matrix, der Hof-Datei und den Trips beschäftigt. Ich habe sonst immer die HOF Suite benutzt, welche aber leider nicht mehr weiterentwickelt wird, und leider etwas zu kompliziert zu nutzen ist. Ich wollte etwas, womit ich nicht immer mein Bus neu setzen muss, oder sogar Omsi neustarten muss, um zu schauen, ob ich jetzt die richtige Krueger-Commands habe, ob sie auch woanders funktionieren, und so weiter. Dazu wollte ich etwas übersichtliches haben, eine klare Trennung zwischen Krueger-Ziele und normale Ziele. Ein built-in Previewer für die Matrix, vielleicht auch noch viel mehr.


    Dann kam mir die Idee einfach, es selber zu machen.




    Features:

    • Übersichtliche Darstellung aller Routen, Ziele und Haltestellen
    • Universaler Ziel-Editor inkl. dazugehörige Krueger++-Ziele und Matrix-Preview
    • Schnelle Erstellung oder Bearbeitung von Routen inkl. Haltestellen und Ziele
    • (Teil-)Import von anderen Hof-Dateien oder Map-Timetables
    • Automatisches Beheben von Problemen wie z.B. fehlende Haltestellen
    • Und noch mehr!


    Zurzeit ist es auf dem guten Weg, das Backend funktioniert. Es ist noch offen, ob dieses Projekt als Web-App startet,

    da ich es für sinnvoller halte. Siehe meinen letzten Beitrag.


    Ideen, Feedback usw. gerne erwünscht! Screenshots folgen so bald wie möglich.

    Projekt UniversalOmsiTool - Universelles Omsi Tool


    Ich bin seit über einem Jahr jetzt ein leidenschaftlicher Omsi-Spieler. Die riesige Community und die Verfügbarkeit von so vielen Addons, ist warum ich dieses Spiel liebe.

    Nur leider gibt es ein Problem bei Omsi, und zwar das die gesamte Software-Struktur so unordentlich ist, dazu auch extremst verbuggt und komisch. Von Anfang an war die

    Struktur für mich Bahnhof. Dieses ganze rumgedownloade, extrahieren in tausenden Ordner, dann funktioniert mal was nicht, du willst was ändern? Ja viel Glück die Skriptsprache

    zu lernen. Hof-Dateien? Bitte was? Nach einer Zeit ist es sehr demotivierend, alles herunterzuladen, die ganzen Zip-Dateien zu öffnen, und wenn mal was kaputt ist, kannst du alles direkt in die Tonne kloppen.


    Ich wollte mich nach Tools umschauen, und ich musste verwundert feststellen, das es entweder keine gibt, diese Tools komplett outdated sind, oder ich einfach nur blind bin. Ich wollte irgendwas,

    was diese Experience nicht zur einer stundenlangen Qual macht, sondern was du innerhalb von Minuten machen kannst, und wenn was kaputt ist oder was-weiß-ich, das auch beheben kannst.


    Zum Glück bin ich professioneller Softwareentwickler mit jahrelanger Erfahrung in C#, Python und co., und habe schon verschiedene Arten von Software veröffentlicht. Deshalb wollte ich dieses Projekt mal hier "ankündigen". Ich würde aber erstmal gerne Ideen und Feedback sammeln, bevor ich irgendwas mache.


    Naja dann kam ich auf die Idee für ein Universal Omsi Tool. Die ersten Ideen die ich dafür habe ist, Map-, Scenery-, Props, oder sonstigen Developers die Möglichkeit zu geben, ganz einfach ihr Content in einen sogenannten

    Omsi-Paket zu tun, wo jeder ohne Kenntnisse, ohne irgendwie stundenlang die Sachen in verschiedenen Ordner zu extrahieren, Content installieren kann, und wenn mal was nicht klappt, ganz einfach das vorherige State von Omsi wiederherzustellen. Dieses Omsi-Paket kann sehr einfach mit dem Programm erstellt werden ('n normales Archiv sozusagen), man muss nur angeben wo die Ordner und Dateien hingehören. Man kann auch Metadaten eingeben, und so weiter und so fort.


    Da Omsi ja ein reines Windows-Game ist, würde ich es gerne einfach in C# (.NET) machen, wo ich auch die meiste Erfahrung drin habe.


    Ich wollte aber die Omsi-Community fragen, welche Ideen ihr denn noch so habt. Vielleicht einen Skript/Hof-Editor? Model-Viewer? Keine Ahnung. Alles kann rein, egal was. Wäre sehr cool, wenn ihr eure Meinung unten hinschreiben könnt.


    Sobald wir einen Plan haben, werde ich mit der Entwicklung öffentlich anfangen, und werde diese auch in Alpha- und Beta-Stadien öffentlich zu Verfügung stellen. Wir werden natürlich auch private Tests durchführen, bevor wir irgendwas kaputtes veröffentlichen.


    Vielen Dank fürs Lesen, und ich hoffe euch gefällt diese Idee :)