Modifizierbarkeit von CiM2

  • In einem anderen Post hab ich ja noch die Lademethode erwähnt die aufgrund der Unity Engine vorhanden sein muss um das Spiel überhaupt modden zu können.


    Aktuell hat es keine Lademethode, jedoch schrieb einer der Developers:

    Zitat von Co_Karoliina

    At this time you can' change it, but the modding tools will be released as a free update in a few weeks and allow you to create your own rule sets. They have the option to modify depot capacities.


    Wär irgendwie schön wenn es ein ähnliches Tool wie der GUTS für Torchlight 2 werden würde...
    Aber Träume sind ja bekanntlich Schäume


    MfG

  • Hoffentlich lassen sich komplett eigene Models einbinden - dann hat CiM2 nämlich wirklich gigantisches Potential. Werde mich selber demnächst mal an eine Karte setzen, hoffe aber wirklich dass eigene Gebäude kommen werden können.


    Achja .. hallo Forum - werde mich gleich mal registrieren :D. Sonst war ich ja seit CiM1 immer nur stiller Mitleser :whistling:

  • Nun hab ich auch meine ersten Eindrücke gewonnen.
    Als erstes benötigt man einen BUNDLE-Datei-Reader, um überhaupt die Datenbanken lesen zu können. Modding sollte aber sicher möglich sein bei internen Änderungen, wie eine andere UI. Bei Zusätzen, wie S-Bahn oder eigenen Blockhäusern muß man sehen, ob sie sich nicht mit dem MP beißen, was fast sicher sein sollte. Auch muß man sehen, wie die Anwendung STEAM darauf reagiert, welche ja stets, selbst im Offlinemodus, aufgerufen werden muß.
    Bei den Gebäuden habe ich den Eindruck, das sie genauso wie in CIM(1) aufgebaut sind. Also ein Objekt, mit den verschiedenen .dds-Grafiken drauf, welche Textur, Pastik, Licht und Spiegelung ergeben. Für die Objektbeleuchtung gibt es aber sicher nun zusätzliche Anweisungen.

  • Interessanterweise sieht man einigen Text, wenn man die Bundle-Datei mit einem HEX-Editor öffnet, zum Beispiel "int m_maxSpeed", danach folgen 25 Zahlen/Zeichen, was auch immer. Das Gleiche für andere int Werte.
    Außeredem ist das Script-Code, also die Logik in der .exe verpackt. Das kann man laut den Unity-Foren nicht in Bundle tun.

  • Wenn man die .bundle - Dateien aufmacht, steht da was das für eine Datei ist.
    UnityRaw und genauer CustomAssetBundle.
    Mehr informationen dazu gibt es hier:
    http://docs.unity3d.com/Docume…al/AssetBundlesIntro.html


    Da steht unter anderem geschrieben:

    1.What are AssetBundles?
    AssetBundles are a collection of assets, packaged for loading at runtime. With Asset Bundles, you can dynamically load and unload new content into your application. AssetBundles can be used to implement post-release DLC.


    Was dann ja die nötige Schnittstelle wäre.


    Neben dem "Pro Only" fällt mir auch negativ auf, dass es möglich ist die Daten zu verschlüsseln.
    Solange die "nur" gepackt sind (wie man oben nachlesen kann) besteht grundsätzlich die Möglichkeit die Assets auszupacken. Die wiederum, sofern nicht verschlüsselt, müsste man mit dem "Free" Unity bearbeiten können.


    Interessante finde ich dann noch, dass es möglich ist AssetBundle während der Laufzeit zu erstellen. Das gibt ein wenig Hoffnung. Wenn die oben angesprochenen Moddingtools (irgendwann) mal kommen, besteht also eine Chance damit entsprechendes zu tun.
    Bei Rescue 2013 (Mit Creative Director Mikko Tyni) wurde genau das bereits angekündigt.

    Inwiefern wird das Spiel modifzierbar sein? Welche Funktionen bietet der Editor und das SDK?
    Alle 3D-Models und ihre Funktionsweise können angepasst werden. Der Spieler kann seine eigenen Meshes importieren(...)


    Ansonsten... müssen wir halt wieder darauf hoffen, dass sich jemand durch den Binärcode wühlt und entsprechende Kompression etc. "knackt".

    "Life? Don't talk to me about life!" Marvin. (Hitchhiker's Guide To The Galaxy)
    "Comic Sans MS ist der Kevin unter den Schriftarten." Julius von Heyl.

  • Ich stehe mit jemanden auf dem CIMExchange Portal im Kontakt, er konnte die Bundle Dateien nicht mit einer Unity Pro Version öffnen.


    Auch wenn es Möglichkeiten gibt zum Beispiel ein neues Fahrzeug einzubauen, Änderungen wie so etwas wie der S-Bahn Mod wegen der UI Anpassung sind dann wohl trotzdem nicht möglich. Mal schauen. CIM2 ist ein Mix aus Nativ und .net Code,
    anderseits möchte ich auch meinen Steam Account deswegen nicht direkt lahmlegen, wegen angeblicher Cheat Vorwürfe oder ähnliches.

  • Ansonsten... müssen wir halt wieder darauf hoffen, dass sich jemand durch den Binärcode wühlt und entsprechende Kompression etc. "knackt".


    Wenn ich mir anschaue wie populär die Unity-Engine ist, und es trotzdem offenbar kein 3rd-Party-Tool gibt* um die AssetBundles zu enpacken, dann wird das wohl nicht so trivial sein wie bei CIM1 :)


    *) zumindest meine google-Suche führte nichts zutage



    Als erstes benötigt man einen BUNDLE-Datei-Reader, um überhaupt die Datenbanken lesen zu können.


    *sigh* und ich war schon voller Vorfreude dass du hier gleich direkt auf einen "BUNDLE Reader" verlinkst :p

  • Hallo


    Ich finde CiM2 zwar toll, aber iwie ist es langweilig wenn es pro Typ nur 2-3 Fahrzeuge gibt :sleeping: . Wie lange muss man echt warten, bis jemand die ersten Fahrzeugmods veröffentlicht? Oder auch einfach ein Wende-mod für die Ubahn? Oder beliebte Mods wie Line-Statics-Plus?
    Irgendwie komme ich mir ohne die typischen CiM-Mods so "nackt" vor.


    -edit-
    Ich habe gehört, dass CiM2 auf CiM1 aufgebaut ist. Ist es auch möglich die alten Mods zu installieren?


    LG

  • Hallo zusammen! Ist mein erster Beitrag hier, trotzdem wage ich es gleich mal, einen Moderator-Post infrage zu stellen. :rolleyes:


    Auf jeden Fall baut CiM2 nicht auf CiM1 auf (mit Ausnahme einiger wiederverwendeter Grafiken)

    Ich habe diese Aussage jetzt schon öfter gelesen. Warum sollte CiM2 nicht auf CiM1 aufbauen? Natürlich, die Engine ist neu, da mussten also ein paar Schnittstellen neu geschrieben werden, aber weiß denn jemand, in welcher Sprache CiM1 und CiM2 programmiert wurden? Ich denke nicht, dass die gesamte Logik hinter dem Spiel neu geschrieben wurde, das wäre ein viel zu großer Aufwand. Vielmehr halte ich es für wahrscheinlich, dass Unity als Game Engine gewählt wurde, da sie recht viele Sprachen unterstützt und so ein Großteil des alten Codes wiederverwendet werden konnte. Bei der Planung eines Projekts dieser Größenordnung muss am Ende doch auch bei einer Firma wie Colossal Order Wirtschaftlichkeit vorne stehen, und da die Spiellogik in weiten Teilen dieselbe bleibt, wäre es ganz und garnicht wirtschaftlich, das alles neu zu schreiben.
    Man darf also wohl schon davon ausgehen, dass CiM2 auf CiM1 aufbaut. Um aber zur ursprünglichen Frage zu kommen:


    Ist es auch möglich die alten Mods zu installieren?

    Trotz meiner Ausführungen oben: Leider nein.
    Ich war in CiM1-Modding-Szene nie aktiv, lehne mich aber mal so weit aus dem Fenster zu behaupten, dass alle Mods an die Schnittstellen der genutzten Game Engine ansetzen, und die hat sich eben geändert. Nun gibt es aber einen Hoffnungsschimmer:
    Sollten meine Vermutungen oben richtig sein, hatte auch Colossal ein wesentliches Interesse daran, für ihre eigenen Zwecke eine Schnittstelle zwischen ihrem (alten) Code und der (neuen) Unity-Engine zu erstellen. Da Colossal zudem bereits Modding Tools angekündigt hat, besteht durchaus die Möglichkeit, dass die diese Schnittstelle enthalten und sich somit an der ursprünglichen Logik für den Modder nicht viel ändert. Mods sind schließlich auch nichts anderes als Skripte oder Daten (Modelle, Texturen, ...), die von der Engine geladen werden, und die Entwickler bei Colossal möchten natürlich, dass die Unity-Engine auch ihre eigenen alten Skripte und Daten laden kann.
    Das ganze bedeutet natürlich nicht, dass die alten Mods mit CiM2 einfach so funktionieren. Die Umstellung von CiM1 auf CiM2 könnte aber für die Modder doch weniger schlimm ausfallen, als einige hier befürchten - das hängt ganz von der Schnittstelle ab, die Colossal uns anbieten wird.


    Puh, langer erster Post... falls meine Annahmen aufgrund fehlender Kenntnis der CiM1-Engine falsch sein sollten, lasse ich mich natürlich gern eines besseren belehren, bitte steinigt mich aber nicht dafür ;)

  • Ich habe diese Aussage jetzt schon öfter gelesen. Warum sollte CiM2 nicht auf CiM1 aufbauen?



    Verbunden mit der Engine Unity kommen auch andere Formate zum Einsatz. Natürlich kommen wieder 3D Modelle und Texturen zum Einsatz. Die Texturen sind auch wieder als DDS komprimiert. Trotzdem ist das Spiel strukturell anders aufgebaut. Natürlich werden die Entwickler Code vom alten Spiel wiederverwendet haben, aber das ändert nichts daran, daß es ein komplett neues Spiel ist. Wenn es auf CiM1 wirklich aufbauen würde, könnte man die alten Schnittstellen wieder verwenden. Um nur ein Beispiel zu nennen: Das alte Scriptformat gibt es laut Aussage der Entwickler nicht mehr.


    Was Collossal Order hinsichtlich Modding veröffentlichen wird, bleibt abzuwarten. Bisher angekündigt wurde nur eine Möglichkeit um die "Regeln" anzupassen. Also Kapazitäten und andere Werte des Spiels. Ein Importer für CiM1 Fahrzeuge und Gebäude wäre wirklich wünschenswert, aber wohl doch eher unrealistisch, da man ja auch mit den DLCs Geld verdienen will.


    Bisher sieht es eher schlecht aus mit der Modifizierbarkeit. Es ist sicher nicht gänzlich unmöglich, aber mehr als schwierig. Unity wird schon länger für viele Spiele verwendet und es existiert bisher kein Tool, mit dem man die Bundles entpacken bzw. öffnen könnte. Vom Reimport mal ganz abgesehn.

  • Vorher war es ganz klar nicht Unity und nun ist es ganz klar Unity.
    Glaubst du nicht? Einfach ein paar Spieldateien mit einem Hexeditor aufmachen und die ersten Zeichen als Ascii lesen. Da steht dann bei CiM2 Unity drin, bei CiM1 nicht. Einen besseres beweis kann ich mir nicht vorstellen.


    Ich möchte noch was zu bösen Omen hinzufügen:
    Im offiziellem Forum, gab es früher den Bereich "User Modifications" für CiM1. Bei CiM2 gibt es nur einen "Cities in Motion 2 Custom Maps". Das macht auch keine guten Eindruck.
    Wahrscheinlich, liegt es nicht wirklich im Interesse von CO wenn man so wie bei CiM1 Fahrzeuge aus den Communities bekommen kann. So braucht niemand DLCs. Was sich natürlich auf der Einnahmenseite bemerkbar macht. Kann ich nachvollziehen.
    Allerdings, wenn man das so angeht, dann sollte man hingehen und sich Lizenzen für den Mercedes Stern und den MAN Löwen hohlen, damit man dem Kunden zumindest das anbietet, was er heben will. Dafür würden sicherlich viele Leute bezahlen. Für die Kisten aus dem ersten DLC oder die meisten der CiM1 DLCs sind ihr Geld dann eher nicht wert.


    Es wäre halt schade drum.
    Hab ich bei Emergency ja gesehen, da wird auf das alte Emergency 4 von 2006 zurück gegriffen, trotz der Einschränkungen durch Programm und Engine. Die neuen Emergency 2012/2013 (wobei 13 eh nur Addon zu 12 ist) werden wegen mangelnder Modifizierbarkeit nicht verwendet.


    Sollte man aber doch eigene Modelle in CiM2 bekommen, gehen wir jetzt einfach mal davon aus, dann lassen sich alte 3D Modelle natürlich weiterverwenden.
    In CiM2 sieht man ja reichlich altbekanter Gebäude. Hauptsächlich aus den USA und Tokyo DLCs. Da wurden also keine neuen Modelle gebaut, daraus schliess ich jetzt einfach mal, dass es keine besondere Anforderungen gibt. Somit kann man die vorhandenen Modelle einfach noch mal durch die Tools jagen und fertig. Was natürlich in gewisser Weise die Übernahme von CiM1 Mods möglich macht. Erinnert sich bisschen an die hin und her convertiererei von vBus, OMSI und GTA.


    Ein Wort noch zum Modifikationen und Steam.
    Ist ja nicht so, dass Steam das nicht unterstützt. Im gegenteil. Die Steam API unterstützt den Steam Workshop. Damit können Mods sogar vom Spiel selbst heruntergeladen werden. Ein Mausklick, auch ingame, und fertig. Von dem Standpunkt aus, fände ich es bescheuert, wenn man von Steam gesperrt werden würde.

    "Life? Don't talk to me about life!" Marvin. (Hitchhiker's Guide To The Galaxy)
    "Comic Sans MS ist der Kevin unter den Schriftarten." Julius von Heyl.

  • Da ja scheinbar keiner hier wirklich liest, nochmalig alles zusammenfassend.


    CIM1:
    C++ Engine mit dem Namen GSystem (.dll) mit GSystem Script Sprache. OpenGL, FMod, Mac Port, ohne Steam lauffähig. C++ Exception werden genutzt, die aber zu Fehlern in der Scriptsprache führen (Speicherlecks und co), benutzt i.d.r einen Kern. 32Bit, mehr als 2GB Ram nicht nutzbar.
    Mit der Script Sprache ist die komplette UI programmiert, so wie teile der Wirtschaftslogik, beim Objektbau weitere Hilfsobjekte zu erstellen, Namen, Stats usw.
    Die FBX Dateien wurden von Colossal Order mit internen Tools in das Format von CIM1 (object) konvertiert. Wie haben dafür unsere eigenen Tools
    Ich hab darüber auch etwas geschrieben, hab sogar hier den Vorläufer von CIM1 im Engine Sinne als Techdemo. Eine Art GTA Clone
    (Ursprünge gehen zurück auf Pascal)


    CIM2:
    Unity Engine mit .net/Mono Binding. Steam Bindung.
    Bundle / Assert Format von Unity. Bundles sehen aus wie eine Art serialisierte Form von Objekten. (deswegen sieht man die Variablen Namen)
    Man findet dort Shader, der Rest sind wohl Texturen und Programmcode, dieser könnte in http://en.wikipedia.org/wiki/Common_Intermediate_Language vorliegen, in UnityScript Bytecode oder vielleicht einfach verschlüsselt. CIM2 bringt ja eine ssl und json lib mit.
    Zum Beispiel muss ja irgendwo definiert werden wo eine Fahrbahn ist, wie sich eine Strasse verhält usw.



    Zum Thema Objekte. Es ist natürlich für CO kein Problem eine vorhandene FBX Datei in das CIM2 Format zu konvertieren, sie werden natürlich nicht von CIM1 zu Unity konvertieren. So wie ich CO im Forum bei Paradox verstanden habe, gibt es intern bei CO keine Tools um eine fertiges Objekt wieder zurück zu konvertieren. (Also CIM1 -> FBX) und nur Gebbiz hat die Konvertierung von FBX zu CIM1 gemacht.



    Steam: Ich möchte meinen Steam Account nicht verlieren wenn ich mir das Spiel intern anschauen wenn es Crasht oder Teile ändern möchte.
    Bestimmte Spiele und Programme reagieren allergisch wenn man im Hintergrund einen Debugger laufen hat oder andere Tools gestartet hat.

  • Danke eis_os, so etwas hatte ich gesucht, aber nicht gefunden. Bin aber ja auch neu und hatte mit CiM1 nix am Hut, bitte daher um Nachsicht ;)
    Könntest du mir eine Quelle geben, woher du diese Informationen hast? Würde mich gern vor allem in CiM2 etwas einlesen. GSystem sagt mir leider nichts, ist das eine Eigenentwicklung? Wenn eine eigene Skriptsprache genutzt wurde, können wir natürlich vergessen, Skripte zu recyclen.
    Dass CiM2 die Daten zur Speicherung serialisiert, hab ich auch schon gesehen, die einzelnen Blöcke lassen sich ja auch recht gut erkennen, auch was sich dahinter verbergen könnte. Problem ist natürlich die Kodierung - die könnten wir tatsächlich nur raten, da brauchen wir also CO.
    Dass es kein Tool CIM1->FBX (bzw. auch in andere Formate) gibt, ist nur verständlich - schließlich sollten die Entwickler ihre Modelle ja nicht nur im CiM1-Format vorliegen haben. Für Modder dürfte ähnliches gelten, seh ich also nicht als Problem.
    Die Sorge bzgl. Steam teile ich nicht, da CiM2 zum einen afaik nicht VAC nutzt, und zum anderen Valve die Modding-Szene in der Vergangenheit immer unterstützt hat.


    Um auf Mediziner und SimComNet einzugehen:


    Danke für eure Antworten! In einem Punkt muss ich Mediziner jedoch widersprechen:

    Zitat

    Wenn es auf CiM1 wirklich aufbauen würde, könnte man die alten Schnittstellen wieder verwenden.

    Genau das Gegenteil davon wollte ich ja in meinem Post sagen. Man kann natürlich nicht die alten Schnittstellen verwenden, weil eben eine komplett neue Engine genutzt wird. Und diese Engine bietet natürlich auch andere Schnittstellen. Diese Schnittstellen wiederum lassen sich anscheinend aufgrund der Codierung der Daten von außen nicht so leicht nutzen wie in CiM1- so weit stimme ich mit dir überein, das muss aber ja nicht bedeuten, dass die Spiele nicht aufeinander aufbauen (ist vielleicht aber auch nur Definitionssache). Nach der Ausführung von eis_os ändert sich programmlogisch eine ganz wesentliche Sache: In CiM1 lädt das Spiel die Engine, in CiM2 die Engine das Spiel. Denn Unity ist ja keineswegs nur eine Grafik-Engine, sondern erstellt gleich das komplette Programmgerüst, dessen Funktionalität dann nur mithilfe von Skripten oder C++-Bibliotheken implementiert wird. Das Schöne an diesem System ist für die Modder, dass es vonseiten Unity komplett generisch gehalten ist: Für die Engine ist es kein Problem, andere Skripte oder Modelle hinzuzuladen, nichts wird direkt in das Programm kompiliert oder statisch gelinkt. Von der Engine her gäbe es daher aus meiner Sicht kein Problem, wäre da nicht die Kodierung der Daten. Die kann ja aus Entwicklersicht sinnvoll sein, weil man vielleicht garnicht will, dass aufgrund dieses modularen Aufbaus jeder in jedem Programm rumpfuschen kann. Hier müsste also tatsächlich seitens CO was kommen, um Skripte oder Modelle zu laden, technisch sehe ich da aber keinen allzu großen Aufwand, da genau diese Algorithmen ohnehin bereits implementiert sein müssen.
    Und SimComNet: Ich weiß natürlich, dass eine neue Engine verwendet wird. Ich glaube, du hast meinen ersten Post da nicht so ganz richtig verstanden. ;) Was ich sagen wollte, ist nicht, dass wir den ganzen alten Kram weiterverwenden können, sondern nur, dass eine neue Engine kein Hexenwerk ist - wir brauchen nur neue Schnittstellen.


    Der zweite Punkt, das Ziel seitens CO, DLCs zu verkaufen, könnte dem ganzen natürlich im Wege stehen. Hier will ich auch garnicht gegen eure Aussagen argumentieren, sondern gegen die Idee selbst: Viele Spiele, wie z.B. SimCity, Die Sims-Serie, aber auch CiM1, verdanken einen Teil ihres Erfolgs der Mod-Vielfalt und damit der Modding-Szene. Ich hoffe zum einen nicht, dass man die Community so vor den Kopf stoßen will, zum anderen könnte das Verhindern von Mods aber auch den Erfolg von CiM2 schmälern. Und das Beispiel Sims zeigt ja: Man kann auch trotz einer riesigen Mod-Community (ich behaupte mal: die größte überhaupt) Add-Ons und DLCs verkaufen wie blöd. Ich glaube nicht, dass für irgendein Spiel mehr DLCs verkauft werden als für die Sims 3, so zahlreich wie sie noch immer monatlich erscheinen, und von den Addons will ich garnicht erst anfangen :rolleyes:

  • Dass es kein Tool CIM1->FBX (bzw. auch in andere Formate) gibt, ist nur verständlich - schließlich sollten die Entwickler ihre Modelle ja nicht nur im CiM1-Format vorliegen haben. Für Modder dürfte ähnliches gelten, seh ich also nicht als Problem.


    Es gibt von CO kein Tool dafür, ein solches Tool gibt es aber in der Community. (Nur um das mal für alle Mitlesenden klarzustellen)

    GSystem sagt mir leider nichts, ist das eine Eigenentwicklung?


    eis_os hatte das oben schon erwähnt:

    Ich hab darüber auch etwas geschrieben, hab sogar hier den Vorläufer von CIM1 im Engine Sinne als Techdemo. Eine Art GTA Clone
    (Ursprünge gehen zurück auf Pascal)

    Eigenentwicklung von CO: nein, eher Weiterentwicklung aus einem anderen Projekt. Aber keine offizielle Engine.


    In CiM1 lädt das Spiel die Engine, in CiM2 die Engine das Spiel.


    Wie kommst du dadrauf?

  • Nein, GSytem.dll wurde so erweitert das es CIM wird. In den CIM Internals (siehe Signatur) habe ich einen kleinen Abschnitt.
    Cites in Motion exe ist eine Art Loader, aber die GSystem.dll ist das eigenliche Spiel. Die MAC Version ist nur ein Teil. Die "CIMEngine" hat zwar Exports als Außenschnittstelle aber die sind alle einfach Tod.


    Screenshots zu einen Vorläufer.
    http://www.game-artist.net/for…g-character-animator.html


    Daher war für mich auch ein London DLC sehr wahrscheinlich.


    Warum ich so viel über CIM1 berichten kann, weil ich das Spiel komplett auseinander genommen habe und mit ModManager das Scriptsystem bis an die Grenzen gebracht habe ;)
    Ich bin CO ja schon mal mit der Big Underground Station aneinander geraten, ich habe 50% des Station DLCs ja schon als Modifikation veröffentlicht, bevor das DLC raus kam. Ich glaube nicht das Sie sowas nochmals wollen.



    -Edit-
    Werde am Wochenende mit CIM2Internals.txt starten... ;)

Jetzt mitmachen!

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