Modifizierbarkeit von CiM2

  • hmm, da waren noch so ein paar sporadische Probleme, vom verhunzten Objekt bis zum Blenderabsturz, denen ich eigentlich noch auf den Grund gehen wollte ...
    Aber vermutlich ist jetzt, wo ich so halbwegs durchblick, eher der Zeitpunkt da, den ganzen Spaghetti-Code wegzuschmeißend und das ganze nochmal sauber zu schreiben ;)


    ich hatte zwar schon angefangen Code zu schreiben um nur direkt die Meshblobs einzulesen, aber das lieferte momentan nur Müll, also Vorgehensweise immer noch wie hier beschrieben

  • Wie kann ich das Script integrieren? In den addons-Ordner werfen? Dann taucht es unter den Einstellungen nicht auf. :(
    Können auch die mit dem Bundle-Codec separierten Meshes geladen werden oder nur komplette Bundle-Files?


    Nein, immi baut sein eigenes Tool:
    Modifizierbarkeit von CiM2 - Seite 7 - Modding-Allgemein - Cities in Motion - Fanpage


    Ich möchte ein Frankenstein Bundle erstellen um ein externe DLL laden zu können, so haben wir andere Prioritäten.
    Wobei die Nson Daten von BundleCodec immer mehr kompatibles JSON werden, das man bestimmt auch durch das Python Script jagen könnte.

  • Hi Leute! :)


    Wollte euch einfach mal sagen, dass ihr unglaublich seid. :D
    Ich verfolge euren Thread jetzt seit ca. 2 Monaten (eine der wenigen "Quellen" bezüglich Unity modding) und habe das Gefühl, dass ihr momentan zu den Leuten gehört, die sich am besten mit Unity auskennen (bezüglich Modding ;) ).


    Als Teil einer internationalen Gruppe von Moddern, die versucht, Shadowrun Returns (ebenfalls Unity) zu "knacken", muss ich eingestehen, dass ihr uns um einiges voraus seid. ^^


    Es wäre toll, wenn ein paar von euch uns mal auf IRC besuchen könntet und uns dabei auf die Sprünge helft, die Meshes und Texturen in SRR zu finden und mod-bar zu machen.


    Wir sind auf freenode.net #SRR-modding zu finden. Danke. :)

  • Es wäre toll, wenn ein paar von euch uns mal auf IRC besuchen könntet und uns dabei auf die Sprünge helft, die Meshes und Texturen in SRR zu finden und mod-bar zu machen.


    das klingt jetzt ein wenig nach: "bitte tragt uns die die Informationen hinterher die wir brauchen" :p
    Schreib doch einfach was ihr bisher wisst, wo ihr Probleme habt und wo wir eventuell weiterhelfen könnten.(im Hinterkopf behalten, dass ich zumindest das Spiel nicht besitze).
    Ein Forum hat im Gegensatz zum IRC immer den Vorteil das die Informationen archiviert und auch für andere auffindbar sind. Was, wie du ja selber festgestellt hast, immens hilfreich sein kann.
    Und ich glaub die Administration/Moderation wird da auch nicht böse sein, wenn wir hier den Informationsaustausch bzgl Unity nicht nur auf CiM2 beschränken.
    (und wenn doch gäbe es immer noch nen Off-Topic Bereich im Forum)

  • Natürlich ist eine Schnittstelle vorhanden. Was glaubst du, wie die Objekte ins Spiel kommen? :p Das Problem ist nur, dass die Schnittstelle a) eher ungeeignet für 3rd-Party-Content ist und b) uns keinerlei Informationen über die Schnittstelle vorliegen ;)


    Vielleicht habe ich mich da etwas unglücklich ausgedrückt.
    Natürlich muß es div. Schnittstellen geben. Ich meinte aber so wie in CIM1, wo es neben der gs.Dateien/Datenbanken auch möglich ist, externe Windows-Dateistrukturen ins Spiel zu bringen (Addon-Ordner). Funktioniert ja bei SimCity ähnlich, da gibt es ja auch neben den *.dat auch div. *.SC4Lot und *.SC4Modell-Dateien (Plugin-Ordner). Allerdings verwendet Maxis fast nur eigene Dateiformate, statt z.B. dds-Grafiken wird dort ein *.fsh-Dateiformat verwendet.

  • CIM2 ist ein Monolithischer Block. Unity hat kein fertiges Konzept für Plugins/Addons per Runtime. Man kann zwar per Code ein Plugin System bauen (das machen teilweise andere Projekte) indem man der Engine direkt sagt, mach dies oder das. D.h. der Entwickler hat sich darum zu kümmern.


    Ich verweise hierbei nochmals auf Modding and Unity - Possible?


    Ein AssetBundle ist ein Unity internes Format. Damit ein AssetBundle kompatibel ist muss es aus dem ursprünglichen Unity Projekt erstellt werden. Das müsst Ihr euch so denken, man geht auf Export, Unity Build Scripts werden ausgeführt und man bekommt ein Verzeichnis mit seinem Spiel. Einer Player.exe/XYZ_Data, Engine, Shared Assets, usw.


    Was machen Immi und Ich nun?
    Immi hat ein Python Script geschrieben um das Format zu analysieren und nutzt es nun in Blender.


    ich habe ein allgemeines C Programm geschrieben, das das Unity3/4 Bundle Format versteht, es entpacken und packen kann. In dem sind direkte blobs der Objekte und Beschreibungen der Blobs der Unity Engine enthalten.
    Eine Übersicht findet man hier:
    Unity - YAML Class ID Reference Ein MonoBehaviour ist ein vom Spielentwickler erstelltes Objekt mit einem Subtype.


    Wie soetwas aufgebaut ist, kann man hier schön sehen (ohne Querverweise in andere Dateien):
    building07.svg


    BundleCodec schreibt eine art JSON Datei pro Objekt, diese kann man mit einen Texteditor editieren. Ein Bild oder Mesh aber im internen Format oder in einer JSON Repräsentation zu editieren ist aber unmöglich, daher werden zum Beispiel die Texturen als dds Dateien konvertiert. (Die Bilder im Wiki für die nicht veröffentlichen Sachen sind so entstanden)
    Nun brauchen wir für CIM2 Modding:
    a) Konverter für Meshes usw.
    b) die erweiterten Informationen damit ein Bundle auch geladen wird. Das sind zum einen eine Liste mit allen Objekten dann noch richtige Preload Informationen usw.


    CO kann hierbei auch nicht weiterhelfen, das Bundle Format kennen nur die Unity Entwickler
    -edit-
    Ok, Sie könnten ein Addon System schreiben, aber CO hätte keine Vorteile, danach wurde sie auch schon gefragt.

  • "Ok, Sie könnten ein Addon System schreiben, aber CO hätte keine Vorteile, danach wurde sie auch schon gefragt."


    Nur ein kleiner Einwurf von mir, weil ich die Haltung des Entwicklers von CIM2 immer noch nicht ganz nachvollziehen kann.


    Ich fand die Lösung, die Auran (der Entwickler von Trainz) gewählt hat äußerst gut gelungen. Wer es nicht kennt, bei Trainz werden nahezu alle zusätzlichen Inhalte über eine Auran-Interne Platform gehandelt. User, die gerne Addons oder Mods downloaden möchten, sind gehalten eine kostenpflichtige Premiummitgliedschaft zu kaufen. Das kostet ein paar Euro im Monat. Aber auch freie Entwickler, Designer etc. von Fahrzeugen, Mods, Karten, Objekten, Tools usw.. können dort ganz einfach ihre Kreationen anbieten. Auran klammert sich da natürlich aus der Haftung (kann man verstehen) aber steuert oft passende Tools dazu - perfekt!!!


    Auran verdient jeden Monat ein paar Euro an jeder einzelnen Mitgliedschaft. Die direkte Folge davon...selbst alte Programmteile wie Trainz 2004 sind heute noch weit verbreitet und erfahren noch heute täglich Erweiterungen! So gründet man sich eine über Jahre tragfähige Community (an der man nebenbei sogar noch etwas verdient).


    Ich denke, es geht weniger darum, dass man das Problem bei CO nicht lösen KANN, sondern man WILL es einfach nicht. Vielleicht kann man sich darauf noch gut ausruhen, mit den DLCs aus eigenem Haus lässt sich ja noch(!) gut verdienen. Aber spätestens wenn sich erste Ernüchterung darüber breit macht oder wenn es viel mehr bald mal einen ähnlich gelagerten Titel zu CIM2 gibt, geht das schnell nach hinten los.


    Nichts für ungut ;)
    Wünsche nen schönes Wochenende!

  • Wobei Auran als Anmerkung das ganze übertreibt. Trainz an sich vegetiert seit langer Zeit vor sich hin, Fehler werden gar nicht korrigiert, meist nur verschlimmert aber trotzdem kassiert Auran/N3V an jedem bisschen ab ohne einen vernünftigen Gegenwert zu bieten - die Newsletter von denen sind auch nur noch reine Werbeplätze und dienen nicht wie einst als Informationsquelle...


    Achso und der Ersteller von Objekten verliert seine Rechte am Objekt - Auran darf damit alles machen was sie möchten, auch Verkaufen...


    @immi Gerne richten wir einen allgemeinen Unity-Bereich ein um auch über andere Projekte auszutauschen.


    Edit: So schnell kann es gehen, Bereich ist unter Offtopic zu finden: Unity-Modding - Cities in Motion - Fanpage

  • @immi:


    Leider produziert das Script immer noch Fehler :(

  • Nachdem ich mich durch die Blender API Dokumentation gelesen habe, bin ich zu dem Schluss gekommen, dass es an der verwendeten Blender Version liegt.


    "bpy.types.Image" hat erst seit Version 2.66 das Attribut "use_alpha", in den vorherigen Versionen gibt es das nur bei "bpy.types.ImageTexture".


    Mein Lösungsvorschlag: überall im Script "image.use_alpha" durch "bl_tex.use_alpha" ersetzen, dann sollte es zumindest bei allen Blender Versionen ab 2.60 funktionieren (möglicherweise auch bei noch älteren).

  • hübsch :)


    Merk hat den Fehler ja schon treffend analysiert. Alternativ kannst du auch einfach dein Blender updaten :p. Oder die betreffende Zeile 269 auskommentieren/löschen.

  • CIM2 ist ein Monolithischer Block. Unity hat kein fertiges Konzept für Plugins/Addons per Runtime. ....

    Nacheinander kommen div. Erweiterungen per DLC dazu. Wie funktioniert eigentlich die Eingliederung der neuen Objekte? Alle können nicht bereits seit Anfang an im deaktivierten Zustand dabei gewesen sein (Brandenburger Tor). Theoretisch, wenn ich es richtig verstanden habe, muß letzlich der gesamte monolitische Block neu geupdatet werden und der alte kommt weg?
    Im Unity-Forum raucht mir mein Kopf, und es ist dazu auch alles in Englisch....
    ....Da bin ich nun mal nicht so bewandert.... ?(

  • Ja, die hab ich gefunden. Wenn also STEAM dem monoliten Block diverse X*.bundles hinzufügen kann, sollte es doch auch für Modder so gehen? Diese bräuchten natürlich nicht freigeschaltet werden, sondern wären so da. Allerdings gäbe es da wohl den Big-Crash im MP, oder gar bereits im Onlinemodus.....
    Muß also nur eine Zentraldatei aktualisiert werden, damit die zusätzlichen X*.bundles erkannt werden?

  • Auch wenn so etwas noch ewig dauern könnte, ein klitzekleiner Hoffnungsschimmer am Horizont in Form einer Nachricht von gestern im offiziellen Forum:

    Zitat von co_martsu

    I'm very sorry the modding hasn't been as easy in Cities in Motion 2 as it was in CIM1. Unfortunately we don't have time at the moment to start implementing usermade models to the game :( But I'll check with Paradox how they feel about this!


    Übersetzung:
    Es tut mir sehr leid, dass Modding in Cities in Motion 2 nicht so einfach ist wie in CiM1. Leider haben wir im Moment keine Zeit selbstgemachte Modelle in das Spiel zu integrieren :( Aber wir werden mit Paradox sprechen, wie sie dazu stehen!


    Anmerkung: Das ist die Antwort auf die Frage eines Users, ob CO nicht seine selbstgebauten Fahrzeuge in CiM2 integrieren könnte.

  • Quellenangabe wäre nett:
    New vehicles


    Meine Einschätzung:
    Paradox und CO merken das Sie nicht genügend substantielles für CIM2 für die Langzeitmotivation bzw. Überbrückung bringen können.<spekulation>Auch scheinen Spieler mit Kaufverweigerung von DLCs abzustimmen</spekulation>
    Die Modding Szene hat für CIM1 die Zeit zwischen den großen DLCs überbrückt.
    Die früheren Aussagen das ja das einbauen von Fremdcontent so viel Arbeit für CIM2 machen würde und das eigentlich alles mit Unity nicht gehen würde, weicht nun einen Paradox soll das bitte richten und effektiv auch bezahlen.
    Vielleicht gibt es ja doch irgendwie eine Richtungsänderung bei Paradox und CO bezüglich was die Spieler wünschen. Wenn es ein lohnenswertes Addon für CIM2 gibt würde es eine Motivation meinerseits bezüglich Mods förderlich sein, da CIM2 seit langen nicht mehr von mir gespielt wurde.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!