Ankündigung

Einklappen
Keine Ankündigung bisher.

Modding Diskussionen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Modding Diskussionen

    Hallo,

    Frafgen, Antworten und mehr: Alles was man an Erfahrung rund ums SuM-Modding austauschen kann...

  • #2
    AW: Modding Diskussionen

    Ganz dreist aus einem Thread von mir in einem anderen Forum kopiert:

    I. Allgemeine Tipps und Ratschläge

    1. Wie ändere ich den Menü-Hintergrund oder Die Shellmap und ihre Funktion
    Der Turm von Barad-dur im Hintergrund des Hauptmenüs läßt sich leicht durch ein eigenen Hintergrund ersetzten. Dieser Hintergrund ist nämlich kein Video, sondern einfach eine gescriptete Map, die im Hintergrund abläuft.
    Um eine eigene Hintergrundmap ("Shellmap") zu benutzen, muss man sie im Worldbuilder erstellen und dann unter "System Maps" unter dem Namen "shellmap1" speichern.
    Außerdem sollte man noch ein Bild bearbeite: "installload.jpg". Dieses Bild wird auf schwächeren Rechnern (oder wenn man die Shellmap deaktiviert) anstelle der Shellmap angezeigt.


    2. Die Vorteile einer str-Datei
    Wer sich die größeren Mods aufmerksam angesehen hat, wird gemerkt haben, das oft keine cfs-Datei im Mod mitgeliefert wird und trotzdem neue Texte enthalten waren.
    Dies geht über str-Dateien. Sie sind kleiner und einfacherer zu bearbeiten als csf-Dateien (*.str kann man mit jedem Texteditor öffnen, Mapper sollten sie kennen).
    Außerdem funktionieren sie in allen Sprachen, das heißt egal ob ihr die engliche, französische oder deutsche SuM-Version habt, ihr habt dann überall die gleichen Texte.
    Ihr könnt eine csf-Datei mit dem GeneralsEditor zu str umwandlen (hab grad keinen Link zur Hand, Google sollte helfen)
    Bennent die *.str dann in lotr.str um und plaziert sie im "data"-Ordner vom SuM2.

    II. Modeling Tipps und Hilfen
    .
    1. Wissen was man will
    Viele Leute versuchen, ihre Ideen so schnell umzusetzen wie es geht - Davon kann ich nur abraten, denn eine sorgsame Planung und etwas Überlegung spart oft Zeit und Nerven.
    Nehmen wir mal meine Harad-Reiter als Beispiel. Theoretisch könnte man jetzt das ganze neu erstellen, mit neuen Reiter und neuem Skin - oder man nimmt ein vorhanden Model (Rohirrim), entfernt einfach den Reiter und fügt den normalen Harad-Lanzenträger als Reiter hinzu.
    Dazu noch ein paar Veränderungen (zB den Umhang des normalen Rohirrim) und einen modifizierten Schild, schon haben wir einen Harad-Reiter. Dies ist allemal schneller, als einen völlig neuen Haradim zu entwerfen.
    Außerdem sollte man sich schon vor dem Arbeitsbeginn sicher sein, was für Upgrades man haben will, den diese beeinflussen oftmals das Model.

    Subobjekte:
    In Zusammenhang mit dem oberen Abschnitt kann ich außerdem nur empfehlen, möglichst viele Teile des Models als separate Modell-Teile zu machen (z.B. die Waffen und Schilde).
    Nehmen wir ebenfalls den Harad-Reiter als Beispiel und gehen wir mal davon aus, das der ganze Reiter + Waffe, Schild und Umhang alles zusammen ein einzelnen Mesh ist.
    Stellt eich mal vor, ihr hab’s grad fertig verlinkt und nun entscheidet ihr euch, dass das Schild ein Upgrade sein soll - Ihr müsstet nun den Schild vom Reiter-Model trennen und alles neu verlinken.
    Und nun überlegt euch, das ihr plötzlich alternatives Model für den Reiter haben wollt - mit anderem Skin und ohne Umhang. Hier müsstet ihr jetzt den Umhang entfernen, den Reiter wieder neu verlinken und den Skin austauschen.
    Tja, endlich fertig denkt ihr - falsch gedacht! Stellt euch vor, ihr wollt eine 2. Harad-Reiterei haben, diesmal aber mit einem Krummschwert. Diesmal müsstet den Speer entfernen, ein Schwert einbauen und wieder alles neu verlinken.
    D.h. seitdem ihr das erste Model fertig hattet, musstet ihr den Reiter 3 mal neu verlinken. Hättet ihr aber den Umhang, Schwert und Schild von Anfang an als separate Meshs gemacht, hättet ihr die austauschen können, ohne irgendwas am Reiter ändern zu müssen (ihr hättet ihn somit nicht immer neu verlinken müssen).
    Außerdem sind mehrere kleine Modelle einfacher zu verlinken als viele große und man kann die einzelnen Objekte über die inis ausblenden (wenn ihr z.B. eine Reiter ohne Waffen braucht, müsst ihr kein neues Model machen, sondern einfach die Waffe über die inis ausblenden).

    2. Models leicht gemacht - Texturen tauschen ohne renx (Teil I)

    Ihr braucht:
    -den Asset Builder von Sy (zu finden unter http://the3rdage.net/tools.php )
    -ein Model, das ihr bearbeiten wollt und eine Textur, welche die selbe Aufteilung hat wie die, die ihr ersetzen wollt (d.h., z.B. Kopf und ähnliches müssen bei beiden Texturen an der selben Stelle sein, sonst sieht das Ergebnis ziemlich verzerrt aus)
    Als Beispiel nehme ich mal einen Rohirrim, er soll die Textur des Haradrim-Lanzenträgers bekommen.
    Dazu besorgen wir uns als erstes die Modelle des Rohirrim (rurohrm_skn.w3d, rurohrm_sknl.w3d, rurohrm_sknm.w3d) und die neue Textur (muharadim.tga (die Textur MUSS in diesem Fall *.tga sein, damit der Asset Builder sie benutzen kann, fürs Spiel später kann man aber ganz normal *.dds verwenden)).
    Nun öffnet ihr den Asset Builder und klickt auf "Edit w3d" und wählt dort "rurohrm_skn.w3d" aus.
    Nun erscheint ein Fenster, in dem die Textuen des Models aufgelistet werden.
    "rurohrm02.tga" => Der Reiter (um die Textur geht’s uns)
    "ruhorse03.tga" => Das Pferd
    "rupeasantwep.tga" => Schild
    "exlnzflar2.tga" => Leuchteffekt der geschmiedeten Klingen
    Ihr wählt nun "rurohrm02.tga" aus und klickt auf "Replace" und wählt nun die "muharadim.tga" aus. Danach seit ihr wieder im Texturenfenster, die alte Reiter-Textur sollte nun durch die neue ersetzt worden sein.
    Nun klickt auf "Ok", nun kommt ihr automatisch zum "Speichern-Fenster". Hier könnt ihr einen Namen für das Model eingeben.

    Achtung:
    Der neuen Name muss GENAUSO lang sein wie der alte.
    Es ist außerdem empfehlenswert, die Endung (_SKN) immer zu lassen.
    Unser Original-Model hieß rurohrm_skn.w3d, das neue nenne ich daher mal muhmrdr_skn.w3d (Mordor Unit HaradriM RiDeR)
    Diese Prozedur macht ihr nun auch nochmal für die beiden anderen Modelle (rurohrm_sknl.w3d und rurohrm_sknm.w3d).
    Nun fügt ihr die Modelle noch in die asset.dat ein und ihr könnt sie im Spiel benutzen.

    3. Models leicht gemacht - Texturen tauschen ohne renx (Teil II)
    Neu in SuM2 ist die Möglichkeit, Texturen in bestimmten ContitionStates auzutauschen – dh das Model bleibt gleihc, aber ihr tauscht die Textur über die inis durch eine andere aus. Dies findet zB bei den Gebäuden statt, deren Textur je nach ConditionState ausgetauscht wird. Hier mal ein Beispiel von der Zwergenfestung:

    DefaultModelConditionState
    Model = DBGFWHUB
    End
    ModelConditionState = UPGRADE_NUMENOR_STONEWORK
    Model = DBGFWHUB
    Texture = DBFortress1.tga DBFortress_U.tga
    End

    Das DefaultModelConditionState enthält das normale Model der Festung, der ModelConditionState das Model nach dem Zwergenmauern-Upgrade. Wie man sieht, haben beide das gleiche Model, doch wird beim ModelConditionState die Textur „DBFortress1.tga“ durch „ DBFortress_U.tga“ ersetzt.


    4. Models leicht gemacht - Texturen tauschen ohne renx (Teil III)
    Neben der oben beschriebenen Variante gezielt eine Textur gegen eine andere auszutauschen, kann man auch per ini-Eintrag die Texturen zufällig wechseln lassen.
    Damit kann man zB dafür sorgen, das ein Model zufällig zwischen verschiedenen Texturen auswählt.
    Als Beispiel nehmen wir die Rohirrim:
    Dort finden wie diese Zeilen:

    RandomTexture = RUHorse01.tga 0 RUHorse03.tga
    RandomTexture = RUHorse02.tga 0 RUHorse03.tga
    RandomTexture = RUHorse03.tga 0 RUHorse03.tga
    RandomTexture = RUHorse04.tga 0 RUHorse03.tga

    RandomTexture = RURohrm01.tga 0 RURohrm02.tga
    RandomTexture = RURohrm02.tga 0 RURohrm02.tga
    RandomTexture = RURohrm03.tga 0 RURohrm02.tga
    RandomTexture = RURohrm04.tga 0 RURohrm02.tga

    Die rechte Textur ist die Orginaltextur des Models, die Texturen auf der linken Seite sind die zufälligen Texturen (es müssen übrigens keine tga-Dateien sein, es muss nur in der ini als *.tga angegeben sein, das Spiel sucht dann automatisch nach einer Textur mit diesem Namen (egal ob *.tga oder *.dds)).
    Bei den Rohirrim gibts also 4 Texturen für den Reiter (RURohrm01, RURohrm02, RURohrm03, RURohrm04) und 4 für das Pferd (RUHorse01, RUHorse02 RUHorse03, RUHorse03), die durch Zufall benutzt werden.
    Aber warum ist das nicht immer so? Nun, das liegt an den "LodOptions" (ihr findet die Einträge über den "RandomTexture" Sachen).
    Wichtig dabei ist "MaxRandomTextures", dies gibt die maximal Anzahl an zufälligen Texturen an, die verwendet werden (dies unterscheidet sich je nach LoD).
    Normalerweise stehen dort Sachen wie MAX_RANDOM_TEXTURES_LOW, MAX_RANDOM_TEXTURES_MED oder MAX_RANDOM_TEXTURES_HIGH (diese Einträge sind in der gamedata.ini definiert), man kann aber auch einfach selbst dort Zahlen eintragen (wenn man zB möchte, das eine Textur IMMER ausgetauscht wird, unabhängig vom LoD).

    III. Technische Probleme und Lösungen

    1. Das Upgrade-Limit aka das seltame Upgrade-Problem
    Vor allem Mods mit vielen neue Seiten und Helden kennen sicher das Problem:
    Plötzlich funktionieren einige Upgrades nicht mehr, obwohl sie doch neulich noch gingen und man eigentlich nichts daran geändert hat? Nun, Schuld daran ist das Upgrade-Limit.
    Genauso wie in C&C Gnerals und Zero Hour gibt’s es auch bei SuM1 das Problem, das nur eine bestimmte Anzahl an Upgrades aus der Upgrade.ini eingelesen wird. Wenn mehr Upgrades vorhanden sind, überschreiben sie sich gegenseitig im Arbeitsspeicher, was zu Abstürzen und ähnlichem führen kann.
    Das Limit lag bei CCG bei 64, bei Zero Hour bei 128 und einigen Tests von Amras Fefalas nach zu urteilen, müßte das Limit bei SUM1 bei 192 liegen. Das Limit für SuM2 ist nicht bekannt.
    Versucht daher unter allen Umständen, das Limit nicht zu überschreiten (vor allem bei Helden kann man notfalls viele Upgrades einsparen)



    Hätte theoretisch noch mehr auf Lager, bin aber zu faul zum kopieren :P
    Zuletzt geändert von Chriz; 13.06.2006, 20:59.
    Hier ensteht eine neue Signatur.

    Kommentar


    • #3
      AW: Modding Diskussionen

      Hab mehrere fragen zum Modding:

      -wie macht man einen Starter/Installer
      -kann man machen, das das Spiel die Maps aus einem anderen Ordner bezieht?
      -wie kann man neue Spells machen aus dme Spellbook, also neue Blitzeffekte u.s.w.-> Moddellieren???

      Kommentar


      • #4
        AW: Modding Diskussionen

        @ Crafty

        1. Für nen Installer kann ich dir den InstallCreator empfehlen. Ansonsten kannste auf www.freeware.de so ziemlich alles finden, was du brauchst für sowas.
        2. So weit ich weiß, müsste man dazu die Game.dat bearbeiten. Aber das ist nicht legal (leider).
        3. Sie dir mal den Gewitter-Spell von Isengart an. Das müsste dir helfen, denk ich.

        @ Chriz
        Deine Tipps sind klasse! Besonders der mit den RandomTexture hat meiner Mod ca. 20 MB an Modellen weggenommen und meine Arbeit beschleunig bzw vereinfacht! Danke!



        Ein Tipp von mir:
        Einheiten mit unterschiedlichen Modellen, aber den gleichen Skeleton (meistens eine _skl.w3d Datei) und meistens auch identischen Animationen, kann man sich eine Menge Arbeit ersparen. Man macht eine .INC Datei und fügt diese im Code mit dem Befehl "#Include" ein. Das klappt übrigens bei allen Objekten/Einheiten/Gebäude ect. Auch Behaviors lassen sich damit einfügen.

        Im großen und ganzen kann man sich damit eine gewisse Übersicht in den .inis schaffen, was die Arbeit deutlich vereinfachen kann.



        Frage:
        Gibt es überhaupt ein Upgradelimit in SuM2? Ich kann mir jedenfalls nicht vorstellen, da SuM2 mit sicherheit mehrer hundert Upgrades nutzt.

        Kommentar


        • #5
          AW: Modding Diskussionen

          in sum1 gabs das. gehe davon aus, dass es das auch im 2.teil gibt, dürfte da aber um einiges höher liegen.
          "Oh ja, kämpft und ihr sterbt vielleicht. Flieht und ihr lebt, wenigstens eine Weile... Und wenn Ihr dann in vielen Jahren sterbend in eurem Bett liegt, wärt Ihr dann nicht bereit, jede Stunde einzutauschen von heute bis auf jenen Tag, um ein Mal nur, ein einziges Mal nur, wieder hier stehn zu dürfen und unsren Feinden zuzurufen. Ja, sie mögen uns das Leben nehmen, aber niemals nehmen sie uns unsre FREIHEIT!"

          Kommentar


          • #6
            AW: Modding Diskussionen

            und nen starter? weißte wie das geht?

            Kommentar

            Lädt...
            X