Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 26

Thema: GalCiv III - Modding-Guide

  1. #1
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196

    GalCiv GalCiv III - Modding-Guide

    GalCiv III - Modding Guide

    Während ich lerne, die Moddingmöglichkeiten von GalCiv III zu erforschen, werde ich hier einzelne Aspekte erklären.

    Fragen, Tipps, Tricks und Hilfsangebote sind jederzeit willkommen. Allgemeine Modding-Diskussionen sollten wir aber in ein eigenes Thema auslagern.

    Dieser Modding-Guide wird eure Mithilfe brauchen. Denn für manche Themen wie die Erstellung von Grafiken bin ich vollkommen ungeeignet und auf Hilfe angewiesen!

    Als Grundidee werde ich versuchen das Volk der Jülziish (oder Blues) aus dem Perry Rhodan Universum einzubauen. Nicht sehr originell, aber für diesen ersten Versuch gibt es einige interessante Ansätze für Modifikationen:

    * Blues haben eine hohe Fortpflanzungsrate, neigen aber auch zu internen Zwisten bis hin zu Bürgerkriegen.
    * Als besondere Technologie kennen Blues eine Molkexpanzerung - das schreit nach einem veränderten Techbaum bei der Schiffspanzerung
    * Als Event darf eine Hornschreckenplage nicht fehlen.
    * Diskusförmige Raumschiffe
    * ...

    Inhaltsverzeichnis

    Teil 1 - Vorbereitung
    Teil 2 - Eine eigene Rasse auf einfache Art
    Teil 3 - Eine eigene Rasse auf die harte Tour
    Teil 4 - Sonne, Mond und Sterne
    Teil 5 - Jetzt wird's bunt!
    Teil 6 - Technologiebaum
    Teil 7 - Raumschiffsbauteile





  2. #2

  3. #3
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Teil 1 - Vorbereitung

    Mods werden im Ordner Eigene Dokumente\My Games\GalCiv3\Mods\ installiert. Dabei muss die Ordnerstruktur dem Aufbau der Verzeichnisse im Spieleordner folgen.

    Am einfachsten kopiert man die Ordnerstruktur des ExampleMod und bennent diese um. Ich habe Blues als Namen gewählt:

    Bild

    GalCiv 3 unterstützt zwei unterschiedliche Arten des Moddings:

    * Ersatz der vorhandenen Dateien - Dateien gleichen Namens im Mods-Ordner ersetzen den Inhalt der Originaldateien
    * Dateien gleicher Struktur, aber mit anderem Dateinamen ergänzen die Originaldateien

    Um es uns einfach zu machen, suchen wir also nach den Originaldateien und werden bei Standardinstallation in C:\Steam\SteamApps\common\Galactic Civilizations III\data fündig.

    Von hier kopiert man die gewünschten Originaldateien in den neu erstellten Mods-Ordner und bennent diese bei Bedarf um. Ich werde im jeweiligen Kapitel aufführen, welche Originaldateien als Basis für die Modifikation verwendet werden.
    Angehängte Grafiken Angehängte Grafiken

  4. #4
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Wichtig ist natürlich auch, die Nutzung von Mods zu aktivieren. Das habe ich am Anfang vergessen gehabt:

    Bild


    Des weiteren wird ein Unicode-fähiger Texteditor benötigt - ich nehme am liebsten Notepad++ für solche Zwecke.

    Und natürlich ein Grafikprogramm eurer Wahl.
    Angehängte Grafiken Angehängte Grafiken

  5. #5
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Teil 2 - Eine eigene Rasse auf einfache Art

    Um eine eigene Rasse anzulegen, gibt es zwei Möglichkeiten.
    Die erste und deutlich einfachere ist die Verwendung der Werkzeuge im Spiel zur Erstellung einer eigenen Rasse. Es gibt allerdings gewisse Einschränkungen bei den Anpassungsmöglichkeiten.

    Die zweite ist wie oben beschrieben die passenden XML-Dateien zu erstellen. Am einfachsten als Kopie einer existierenden Rasse.

    Nehmen wir zuerst den einfachen Weg der vorhandenen Möglichkeiten im Spiel.

    Da wir den Blues nicht einfach als Terraner, Thalaner oder gar als Drengin verkleiden wollen, benötigen sie ihr eigenes Gesicht.
    Also schnell ein Bild eines typischen Blues mit Tellerkopf und blauem Flaum erzeugt und in zwei Größen abgespeichert.

    Ein Portrait mit Maximalgröße 128x128 Pixel im PNG-Format:

    Bild


    Der Einfachheit halber dann nochmals das gleiche Bild vergrößert als 1920x1080 PNG (Sagte ich schon, ich habe keine Begabung für Graphiken?)

    Zusätzlich zu den beiden Portraits könnte ich noch einen Hintergrund für das Portrait und ein Logo für die Rasse erstellen. Aber da bediene ich mich vorerst aus dem im Spiel vorhandenen Fundus.

    Die Bilder werden in folgendes Verzeichnis kopiert:

    Documents\My Games\GalCiv3\Factions

    \LeaderBGs - Hintergrund für Portraits - 1920x1080
    \LeaderFGs - Portrait im Spiel z.B. bei Diplomatie - 1920x1080
    \Logos - Flagge/Logo der Rasse - 128x128
    \Portraits - kleines Portrait des Anführers - 128x128

    Jetzt kann GalCiv3 gestartet werden - die Blues warten auf uns!
    Angehängte Grafiken Angehängte Grafiken

  6. #6
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Nach Auswahl von New Game kann eine neue Rasse erstellt werden:

    Bild

    Falls wir diesen Knopf drücken grüßen uns die Terraner - alternativ lässt sich auch jede der anderen existierenden Rasse als Kopiervorlage verwenden.

    Bild

    Schnell wählen wir ein neues Portrait für den Anführer aus durch Auswahl von "Picture" - ganz am Ende der Liste taucht unser zuvor erstelltes Bild auf:

    Bild

    Die Video-Option kann ich leider nicht zeigen, da ich keine Videos im Bink2-Format erstellen kann. Wenn mir da jemand helfen kann, bitte melden!

    Noch einen geeigneten Hintergrund dazu ausgewählt und das ganze nochmals für das kleine Portrait:

    Bild

    Dann taufen wir unseren Anführer noch auf Iül-Theer-Hij, den Meister der Neunzehnten Vorsicht, die Vorsicht für interplanetarische Zusammenarbeit und den Bestand des Reiches.

    Fertig ist unser Anführer:

    Bild

    Copyright-Hinweis: Der Blues ist dem Titelbild des Perry Rhodan Romans 2036 entnommen und nicht meine Eigenkreation. Alle Rechte liegen beim Pabel-Moewig Verlag GmbH, Rastatt

    PS: Ja, ich habe da Tippfehler in der Beschreibung von Iül-Theer-Hij gemacht - bin aber zu faul dafür jetzt neue Screenshots zu machen.
    Angehängte Grafiken Angehängte Grafiken

  7. #7
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Im nächsten Schritt muss der neuen Rasse ein Name, eine Beschreibung und ein Logo verpasst werden. Ein Heimatplanet und Sonnensystem kann ebenfalls festgelegt werden.

    Bild


    Und hier zeigt sich die erste Einschränkung dieser Methode: Man kann zwar den Planetennamen überschreiben (Earth => Gatas), aber als Sonnensystem nur eines der im Spiel vorhandenen auswählen. Ein eigenes Sonnensystem Verth kann ich nicht erstellen.

    Also schnell weiter zu den Eigenschaften unserer Blues. Hohe Fortpflanzungsrate, zerstritten, militaristisch und mutig sollen sie sein. Als Bonus erhalten sie bei der Besiedelung neuer Planeten die doppelte Bevölkerungszahl und das erste Gebäude gratis.

    Ich habe keine Ahnung, ob daraus eine wettbewerbsfähige Rasse entstehen wird. Aber die verfügbaren Punkte werden so voll ausgeschöpft.

    Bild


    Im nächsten Menu können Farben für Karte und UI, Schiffstypen und Farben festgelegt werden.

    Auch hier gilt wieder: Es können nur im Spiel bereits vorhandene Einstellungen verwendet werden. Sollen die Blues also irgendwann ihre charakteristischen Diskusschiffe bekommen, müssen wir zu anderen Mitteln greifen.

    Ich klicke also ein paar mal auf "zufällig alles einstellen" (der Recyclingknopf rechts am Rand) und gebe mich damit zufrieden.

    Bild


    Zum Schluss kann noch die Persönlichkeit der neuen Blues-Rasse eingestellt werden. Das ist wichtig, wenn die KI mit dieser Rasse spielen sollte.

    Bild

    Außerdem kann ich einen Techbaum auswählen. Da ich noch keinen eigenen Techbaum für die Blues erstellt habe, muss der Standardtechbaum als Grundlage reichen.

    Jetzt noch speichern und die Blues stehen zur Verfügung:

    Bild
    Angehängte Grafiken Angehängte Grafiken

  8. #8
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Im Spiel sieht es dann wie folgt aus:


    Bild


    Bild



    Fortsetzung folgt ... vielleicht
    Angehängte Grafiken Angehängte Grafiken

  9. #9
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Teil 3 - Eine eigene Rasse auf die harte Tour!

    Ziel: Die Rasse der Blues über XML als Modifikation zu erstellen und dabei alle Details abzubilden, die in Teil 2 mit den Ingame-Werkzeugen gewählt worden sind.

    Werkzeuge: Texteditor

    Voraussetzung: Die Grafiken aus Teil 2

    Modifizierte XML-Dateien: FactionDefs.XML, FactionText.xml

    Und los geht's!


    Schritt 1: Grafiken kopieren

    Das Bild unseres Anführers und Logos müssen ihren Weg in die Modifikation finden. Dazu wird im Modverzeichnis ein Unterordner \Gfx\Factions angelegt.

    Innerhalb dieses Ordners können dann die Ordner wie in Teil 1 beschrieben angelegt und gefüllt werden:

    \LeaderBGs - Hintergrund für Portraits
    \LeaderFGs - Portrait im Spiel z.B. bei Diplomatie
    \Logos - Flagge/Logo der Rasse
    \Portraits - kleines Portrait des Anführers


    Schritt 2: Die passende XML-Vorlage finden

    Das kopierte Beispiel-Modverzeichnis ist ansonsten noch vollkommen leer. Bevor es also weitergeht, muss die passende XML-Vorlage für eine neue Rasse gefunden werden.


    Dazu schaue ich in das Installationsverzeichnis von GalCiv ...\SteamApps\common\Galactic Civilizations III\data.

    Im Unterordner .\Game lächeln mich auch gleich 137 XML-Dateien an. Da muss doch einfach die passende dabei sein!

    Eine Suche nach *faction* liefert 6 XML-Dateien mit denen sich die Rassen im Spiel anpassen lassen. Wichtig ist zunächst nur FactionDefs.xml - hier finden sich alle Rassen (auch die nicht spielbaren).

    Im Unterordner \English\Text fördert die Suche eine weitere Datei namens FactionText.xml zu Tage.

    Beide Dateien kopiere ich in die passenden Ordner Game und Text meiner Blues-Mod. Anschließend benenne ich die Dateien um und ergänze jeweils ein _Blues im Dateinamen:

    FactionDefs_Blues.xml
    FactionText_Blues.xml


    Ohne Umbenennung würde ich alle Rassen aus GalCiv 3 durch meine Eigenkreationen ersetzen. Das will ich aber vorerst nicht.

  10. #10
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Schritt 3: XML-Fummelei

    Aus der FactionDefs_Blues.xml lösche ich sämtliche "Faction"-Einträge bis auf die Terraner. Dann arbeite ich mich Stück für Stück durch die Datei:

    Code:
        <Faction>
            <InternalName>FACTION_BLUES</InternalName>
            <DisplayName>FACTION_BLUES_Name</DisplayName>
            <DisplayNameShort>FACTION_BLUES_ShortName</DisplayNameShort>
            <LeaderName>FACTION_BLUES_LeaderName</LeaderName>
            <Description>FACTION_BLUES_Dec</Description>
            <LeaderDescription>FACTION_BLUES_LeaderDec</LeaderDescription>
            <RaceType>Major</RaceType>
    Der erste Abschnitt ist einfach:

    InternalName - Eindeutiger Schlüssel für die Rasse
    DisplayName - Name
    DisplayNameShort - Kurzname
    LeaderName - Name des Anführers
    Description - Beschreibt die Rasse im Startmenu
    LeaderDescription - Bescheibt den Anführer im Startmenu
    RaceType - Legt fest, ob es sich um eine spielbare "Major" oder nicht spielbare "Minor" Rasse handelt.

    Wie man sieht, habe ich keine Texte eingetragen, sondern Textschlüssel definiert. Diese Textvariablen füllen wir ganz am Schluss mit Inhalten.

    Texte hier direkt einzutragen ist ein ganz schlechter Programmierstil und erschwert eine spätere Übersetzung enorm. Für Testzwecke ist's aber ausnahmsweise ok.

    Die zulässigen Werte für RaceType sind in einer anderen Datei definiert. Wie man zulässige Werte findet, steht im Spoiler.

    Achtung Spoiler:

    Im Kopf jeder XML-Datei wird auf das zu verwendende Schema verwiesen:
    Code:
    <FactionList
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="../Schema/FactionDefs.xsd">
    In FactionDefs.xsd sind alle zulässigen Tags definiert, die wir zur Beschreibung der neuen Rasse verwenden können.
    Im Kopf der Datei werden weitere Schemata eingebunden - diese definieren dann die zulässigen Werte der einzelnen Einträge:
    Code:
     <xs:include schemaLocation="Lib/CustomTypes.xsd"/>
     <xs:include schemaLocation="Lib/Enums/PlayerTypes.xsd"/>
     <xs:include schemaLocation="ModifierType.xsd"/>
     <xs:include schemaLocation="AICategoryWeightType.xsd"/>
     <xs:include schemaLocation="Enums/StarbaseModuleTypes.xsd"/>
     <xs:include schemaLocation="Enums/ShipPieceCategoryFilterTypes.xsd"/>
     <xs:include schemaLocation="Enums/StrategicIconTypes.xsd"/>
      <xs:include schemaLocation="Enums/PersonalityTypes.xsd"/>
    Die zulässigen Werte für RaceType finden sich dann in Lib/Enums/PlayerTypes.xsd und sind "Major", "Minor" und "Special". Was "Special" bewirkt, habe ich noch nicht getestet. Vermutlich für die Dread Lords und Arnor?


    Auf zum nächsten Abschnitt! "PersonalityTraits" kann ja eigentlich nur beschreiben, wie die KI sich verhalten soll.

    Ich wähle die gleichen Eigenschaften aus wie zuvor beschrieben.

    Achtung Spoiler:

    Zur Gedächtnisauffrischung:

    Bild


    Code:
            <PersonalityTraits>Neutral</PersonalityTraits>
            <PersonalityTraits>Expansionist</PersonalityTraits>
            <PersonalityTraits>Scientific</PersonalityTraits>
            <PersonalityTraits>Opportunistic</PersonalityTraits>
            <PersonalityTraits>Spiritual</PersonalityTraits>
            <PersonalityTraits>Xenophobic</PersonalityTraits>
    Die zulässigen Werte finden sich in PersonalityTypes.xsd und sind eigentlich selbsterklärend.

    Jetzt wird es interessannt: Die Fähigkeiten der neuen Rasse können festgelegt werden:

    Achtung Spoiler:

    Als Erinnerung: Diese Fähigkeiten wollte ich haben:

    Bild


    Code:
            <RaceTraits>ColonizersAbility</RaceTraits>
            <RaceTraits>ProlificAbility</RaceTraits>
            <RaceTraits>Clever2</RaceTraits>
            <RaceTraits>Content4</RaceTraits>
            <RaceTraits>Fertile1</RaceTraits>
            <RaceTraits>Militant2</RaceTraits>
            <RaceTraits>Farmers1</RaceTraits>
            <RaceTraits>Courageous2</RaceTraits>
    Die zulässigen Werte finden sich in AbilityDefs.xml und RaceTraitDefs.xml.

    Wichtig bei den RaceTraits ist die Numerierung:

    Clever2: +1 Punkt auf Clever
    Fertile1: + 2 Punkte auf Fertile
    Content4: -2 Punkte auf Zufriedenheit

    Der Zusammenhang zwischen den Schlüsselwerten wie Content4 und den Kosten wird in der RaceTraitSliderGroupDefs.xml beschrieben.


    Wo unsere Blues leben sollen, wird im nächsten Abschnitt geregelt:

    Code:
            <RequiresHomeworld>true</RequiresHomeworld>
            <HomeStarSystem>SolSystem</HomeStarSystem>
            <HomePlanetName>FACTION_BLUES_PlanetName</HomePlanetName>
    RequiresHomeworld - "true" wenn die Rasse mit einem Heimatplaneten starten soll. Kann auch entfernt werden, z.B. wenn man Weltraumvagabunden oder Flüchtlinge erschaffen will.
    HomeStarSystem - Muss ein in StarSystemDefs.xml definiertes Sonnensystem sein. Für den Anfang tut es das heimatliche Sonnensystem.
    HomePlanetName - Kann den Namen des Startplaneten (und des ganzen Sonnensystems) überschreiben. Wird HomePlanetName weggelassen, dann werden die Standardnamen verwendet.

    Unverändert übernehme ich die Startraumschiffe (Kolonieschiff, Erkunder-Flaggschiff, Explorer) und den Techbaum. Später wird es hier sicher noch Änderungen geben:
    Code:
            <StartingShips>ColonyStaticBlueprint</StartingShips>
            <StartingShips>SurveyStaticBlueprint</StartingShips>
            <StartingShips>ScoutStaticBlueprint</StartingShips>
            <TechTree>Terran_Tree</TechTree>
    StartingShips - Startraumschiff - kann mehrmals vergeben werden
    TechTree - Technologiebaum

    Der nächste Abschnitt beschreibt Aussehen, Logos, Filme und Musik:

    Code:
            <ShipCallsign>FACTION_BLUES_Callsign</ShipCallsign>
            <LogoImage>RaceLogo51.png</LogoImage>
            <LeaderThumbnail>blues_leader_small.png</LeaderThumbnail>
            <LeaderImageFG>Blues_leader_bigger.png</LeaderImageFG>
            <LeaderImageBG>Hammerhead_BG.png</LeaderImageBG>  
            <NewsRobotMovie_Approach>Generic_Newsbot_Idle.bk2</NewsRobotMovie_Approach>
            <NewsRobotMovie_Idle>Generic_Newsbot_Idle.bk2</NewsRobotMovie_Idle>
            <StartupImage>StartGameDrengin.png</StartupImage>
            <StartupTitle>FACTION_BLUES_StartupTitle</StartupTitle>
            <StartupDescription>FACTION_BLUES_StartupDescription</StartupDescription>
            <StartupTraitsDescription>FACTION_BLUES_StartupTraitsDescription</StartupTraitsDescription>
            <MapColorDef>TerranMapColors</MapColorDef>
            <UIColorDef>TerranUIColors</UIColorDef>
            <FactionMoviesFGDef>TerranMoviesFG</FactionMoviesFGDef>
            <FactionMoviesBGDef>TerranMoviesBG</FactionMoviesBGDef>  
            <FactionMusicDef>TerranMusic</FactionMusicDef>
    ShipCallsign - Text, der allen Schiffsnamen vorangestellt wird
    LogoImage - Logo der Rasse (ich habe immer noch kein eigenes erstellt und verwende den Platzhalter aus Teil 2)
    LeaderThumbnail - Bild des Anführers aus \Gfx\Factions\Portraits
    LeaderImageFG - Bild des Anführers aus \Gfx\Factions\LeaderFGs
    LeaderImageBG - Hintergrundbild aus Gfx\Factions\LeaderBGs
    NewsRobotMovie_Approach - Video für den Forschungsroboter - habe ich vom terranischen Modell auf ein generisches umgestellt
    NewsRobotMovie_Idle - dito
    StartupImage - Keine Ahnung wo genau das verwendet wird. Jedenfalls nicht beim Start eines neuen Spieles. Egal welches Bild ich hier eintrage, es tut sich nichts.
    StartupTitle - Titel des Begrüßungsschirms
    StartupDescription - Text auf dem Begrüßungsschirm (Einführung in die gespielte Rasse)
    StartupTraitsDescription - Erläuterungstext der speziellen Fähigkeiten
    MapColorDef - Farbschema auf der Karte
    UIColorDef - Farbschema des UI
    FactionMoviesFGDef - Video des Anführers. Löschen, wenn kein Video vorhanden ist, sonst wird das in LeaderImageFG definierte Bild mit einem Video überschrieben
    FactionMoviesBGDef - Videohintergrund - ebenfalls löschen.
    FactionMusicDef - welche Musik dudeln soll. Hat jemand "Blues"-Musik in Ultraschallfrequenzen für mich?


    Der nächste Abschnitt wimdet sich dem Aussehen der Raumschiffe.

    Achtung Spoiler:

    Ich habe versucht die zufällig gewählten Werte aus Teil 2 zu reproduzieren:

    Bild


    Code:
            <Material1>Thulium_Material_01</Material1>
            <Material2>GC3_Ship_Material_Painted_Metal</Material2>
            <Surface1>GC3_Default_Surface_12</Surface1>
            <Surface2>GC3_Default_Surface_15</Surface2>
            <Appearance>GC3_Yor_Appearance_R</Appearance>
            <ShipStyleSet>DrenginShipStyleSet</ShipStyleSet>
    Material1 / Material2 - in GC3MaterialDefs.xml definierte Materialien für den Raumschiffbau
    Surface1 / Surface2 - Raumschifftexturen aus GC3SurfaceDefs.xml
    Appearance - Farbschema aus GC3AppearanceDefs.xml
    ShipStyleSet - Raumschiffsmodelle


    Dies und das im nächsten Abschnitt:

    Code:
            <CreditsInit>3000</CreditsInit>
            <WarEnduranceInit>90</WarEnduranceInit>
            <DefaultResistance>0.5</DefaultResistance>
            <InfluenceTallyInit>10</InfluenceTallyInit>
            <StartingColonyPopulation>10</StartingColonyPopulation>
    CreditsInit - Startgeldbetrag
    WarEnduranceInit - bisher keine Ahnung
    DefaultResistance - bisher keine Ahnung
    InfluenceTallyInit - bisher keine Ahnung
    StartingColonyPopulation - Startbevölkerung (nicht setzen, wenn es keinen Heimatplaneten gibt!)

    Der Kreis schließt sich - wie zu Beginn wieder ein paar Werte zur Steuerung der KI:

    Code:
            <AICategoryWeight>
              <Military>16</Military>
              <Growth>20</Growth>
              <Tech>14</Tech>
              <Diplomacy>8</Diplomacy>
              <Expansion>18</Expansion>
              <Wealth>10</Wealth>
              <Influence>6</Influence>
              <Fortification>12</Fortification>
            </AICategoryWeight>
        </Faction>
    Der Zahlenwert gibt eine Gewichtung für die KI. Der Blues-KI wäre Wachstum am Wichtigsten - Einfluss auf andere Völker wäre unwichtig.

    Das müsste der Einstellung aus Teil 1 entsprechen:

    Achtung Spoiler:

    Bild


    So, das war ziemlich trockene Kost. Aber es ist fast geschafft!

  11. #11
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Schritt 4: Kreative Texte schreiben

    Sagte ich was von kreativ? Vergesst es, das lasse ich lieber Writing Bull oder andere geeignetere Modder erledigen.

    Ich sammle einfach alle definierten Textschlüssel aus FactionDefs_Blues.xml auf und lege für jeden davon einen Eintrag in FactionText_Blues.xml an.
    Nicht vergessen, vorher alle bestehenden Einträge in dieser Datei löschen!

    Da GC3 noch keine Mehrsprachigkeit unterstützt, lege ich alle Texte vorerst auf Englisch an. Ansonsten hätte ich ein furchtbares Sprachwirrwar im Spiel.

    Code:
    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    <StringTableList
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="../../Schema/Lib/StringTable.xsd">
    <!-- Created by Ronnar -->
    <!-- Based om FactionText.xml -->
    <!-- http://www.civforum.de/showthread.ph...-Modding-Guide -->
     
    <!-- Tech Names and Descriptions -->
     
      <StringTable>
        <Label>FACTION_BLUES_Name</Label>
        <String>Jülziish</String>
      </StringTable>
     
      <StringTable>
        <Label>FACTION_BLUES_ShortName</Label>
        <String>Blues</String>
      </StringTable>
     
      <StringTable>
        <Label>FACTION_BLUES_LeaderName</Label>
        <String>Iül-Theer-Hij</String>
      </StringTable>
     
      <StringTable>
        <Label>FACTION_BLUES_Dec</Label>
        <String>Jülziish or the "Blues" as the Terrans call them are the predominating race in the galactic eastside. Blues are intelligent and very fertile. However  internal conflicts and fracticidal wars slow their expansion down.</String>
      </StringTable>
     
      <StringTable>
        <Label>FACTION_BLUES_LeaderDec</Label>
        <String>Leader of the 19th precaution, responsible for interplanetary collaboration and security of the Jülziish empire.</String>
      </StringTable>
     
      <StringTable>
        <Label>FACTION_BLUES_Callsign</Label>
        <String>Blues</String>
      </StringTable>
     
      <StringTable>
        <Label>FACTION_BLUES_StartupTitle</Label>
        <String>Go Forth And Multiply</String>
      </StringTable>
     
      <StringTable>
        <Label>FACTION_BLUES_StartupDescription</Label>
        <String>Jülziish or the "Blues" as the Terrans call them are the predominating race in the galactic eastside. Blues are intelligent and very fertile. However  internal conflicts and fracticidal wars slow their expansion down.
    Some other races describe them as cold-hearted, however this is mostly base on a misunderstanding of their complex social structures. Blues cannot be trusted as allies and will often change allegiance or try to avoid conflict.
    </String>
      </StringTable>
     
      <StringTable>
        <Label>FACTION_BLUES_StartupTraitsDescription</Label>
        <String>Jülziish are famous for their couisine. Technology wise they may be behind the rest of the galaxy, but their Molkex armor for spaceships is surpassing any other defense system known.</String>
      </StringTable>
      
      <StringTable>
        <Label>FACTION_BLUES_PlanetName</Label>
        <String>Gatas</String>
      </StringTable> 
    </StringTableList>
    Möge die weiße Kreatur der Weisheit mit euch und die farblose Kreatur des Mysteriums nach Lesen dieser Zeilen von euch gewichen sein!

    Wenn es jemand ausprobieren will: Das ZIP-Archiv aus dem Anhang in den Mod-Ordner kopieren und entpacken.
    Feedback, Anregungen, Grafikspenden sind willkommen!

    Edit: Download entfernt - da hatte ich doch glatt eine veraltete Datei im Archiv

  12. #12
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Teil 4 - Sonne, Mond und Sterne

    Ziel: Den Blues ein Heimatsystem verschaffen

    Voraussetzung: Die XML-Dateien aus Teil 3

    Modifizierte XML-Dateien: StarDefs.XML, PlanetDefs.xml, StarSystemDefs.xml

    Das terranische Sonnensystem einfach in "Gatas" umzubenennen war natürlich etwas billig. Bevor die Jülziish meutern, muss das Verth-System mit dem Heimatplaneten Gatas also ordentlich modelliert werden.

    Als erstes brauche ich eine Sonne. Wie gehabt nehme ich die vorhandene Datei StarDefs.xml und benenne sie in StarDefs_Blues.xml um.

    Alle Sterne bis auf einen werden gelöscht und dieser wird umbenannt und zu einem blauen Riesenstern gemacht:

    Code:
      <Star>
        <InternalName>VerthStar</InternalName>
        <DisplayName>Verth_Name</DisplayName>
        <ObjectType>Star</ObjectType>
        <Type>BlueStar</Type>
        <ArtDefine>BlueStarArt</ArtDefine>
      <SFXDefine>STAR_AMBIENT</SFXDefine>
      </Star>
    InternalName - eindeutiger Schlüssel für den Stern
    DisplayName - Name
    ObjectType - "Star"
    Type - Typ des Sterns, siehe StarTypes.xsd
    ArtDefine - Aussehen des Sterns, muss nicht notwendigerweise mit dem Sternentyp übereinstimmen. Ein Typ YellowStar lässt sich mit dem Aussehen eines BlueStarArt kombinieren.

    Das Verth-System hat 14 Planeten - das wären zuviele auf der Karte, aber einige davon lassen sich umsetzen.

    PlanetDefs.xml -> kopieren, umbenennen zu PlanetDefs_Blues.xml und Inhalte löschen:

    Code:
     <Planet>
      <InternalName>PlanetFryjund</InternalName>
      <DisplayName>Fryjund_Name</DisplayName>
      <PlanetType>Dead</PlanetType>  
      <PlanetClass>0</PlanetClass>  
      <ArtDefine>MercuryArt</ArtDefine>
     </Planet>
    
     <Planet>
      <InternalName>PlanetGatas</InternalName>
      <DisplayName>Gatas_Name</DisplayName>
      <PlanetType>Habitable</PlanetType>
      <PlanetClass>11</PlanetClass>
      <PlanetTrait>BreadBasketWorld</PlanetTrait>  
        <ArtDefine>BreadBasketWorld</ArtDefine>
     </Planet>
     <Planet>
      <InternalName>PlanetGytüll</InternalName>
      <DisplayName>Gytüll_Name</DisplayName>
      <PlanetType>Habitable</PlanetType>
      <PlanetClass>4</PlanetClass>
      <PlanetTrait>ThinAtmosphereWorld</PlanetTrait>
      <DisableColonizationEvent>true</DisableColonizationEvent>
      <ArtDefine>TempOKPlanet02</ArtDefine>
     </Planet> 
     
     <Planet>
      <InternalName>PlanetAlpasim</InternalName>
      <DisplayName>Alpasim_Name</DisplayName>
      <PlanetType>Habitable</PlanetType>
      <PlanetClass>3</PlanetClass>
      <PlanetTrait>FrozenWorld</PlanetTrait>
      <ArtDefine>FrozenWorld</ArtDefine>
     </Planet>
     <Planet>
      <InternalName>PlanetBnaypüsh</InternalName>
      <DisplayName>Bnaypüsh_Name</DisplayName>
      <PlanetType>GasGiant</PlanetType>
      <PlanetClass>0</PlanetClass>
      <ArtDefine>GasGiantArt</ArtDefine>
     </Planet>
    InternalName - Eindeutiger Schlüssel für den Planeten
    DisplayName - Name
    PlanetType - Dead, Habitable, Uninhabitable, GasGiant siehe StarSystemTypes.xsd
    PlanetClass - Klasse des Planeten (0 ist unbewohnbar)
    PlanetTrait - Optional, kann einen Sonderplaneten beschreiben gemäß PlanetTraitDefs.xml. Beispielsweise Extremwelten wie Eisplaneten "FrozenWorld" oder Welten mit Nahrungsüberfluss "BreadBasketWorld"
    DisableColonizationEvent - Optional, kann Event bei der Besiedelung verhindern. Wird üblicherweise bei Planeten im Heimatsystem gesetzt.
    ArtDefine - Aussehen des Planeten wie Kontinente etc. Zulässige Werte stehen in PlanetArtDefs.xml. Es gibt aber noch andere wie TempOKPlanet02 - keine Ahnung wo die definiert sind.


    Sonne und Planeten gibt es - jetzt müssen sie nur noch in die korrekten Umlaufbahnen gebracht werden.

    StarSystemDefs.xml -> kopieren, umbenennen zu StarSystemDefs_Blues.xml und löschen:

    Code:
      <StarSystemGroup>
        <InternalName>FactionStart2</InternalName> 
        <StarSystem>
          <InternalName>VerthSystem</InternalName>
          <DisplayName>VerthSystem_Name</DisplayName>
          <Description>VerthSystem_Dec</Description>
          <OrbitLane>
            <LaneType>Star</LaneType>
            <Body>
              <BodyType>UnaryStar</BodyType>
              <BodyDef>VerthStar</BodyDef>
            </Body>
          </OrbitLane>
          <OrbitLane>
            <LaneType>DeadZone</LaneType>
            <Body>
              <BodyType>Planet</BodyType>
              <BodyDef>PlanetFryjund</BodyDef>
            </Body>
          </OrbitLane>
          <OrbitLane>
            <LaneType>HabitableZone</LaneType>
            <Body>
              <BodyType>Planet</BodyType>
              <BodyDef>PlanetGatas</BodyDef>
              <IsHomeworld>true</IsHomeworld>
              <Position>5</Position>
            </Body>
            <Body>
              <BodyType>Planet</BodyType>
              <BodyDef>PlanetGytüll</BodyDef>
            </Body>
          </OrbitLane>
          <OrbitLane>
            <LaneType>OuterZone</LaneType>
            <Body>
              <BodyType>Asteroid</BodyType>
              <BodyDef>NormalAsteroid</BodyDef>
              <Position>0</Position>
            </Body>
            <Body>
              <BodyType>Planet</BodyType>
              <BodyDef>PlanetAlpasim</BodyDef>
            </Body>
            <Body>
              <BodyType>Planet</BodyType>
              <BodyDef>PlanetBnaypüsh</BodyDef>
            </Body>
          </OrbitLane>
        </StarSystem>
     </StarSystemGroup>
    InternalName - Eindeutiger Schlüssel für das Sternsystem
    DisplayName - Anzeigename
    Description - Beschreibung
    OrbitLane - Umlaufbahn - Werte aus StarSystemTypes.xsd: "Star", "DeadZone" (Unbewohnbare Zone nahe am Stern), "HabitableZone" für bewohnbare Systeme, "OuterZone" weit draussen
    BodyType - legt fest ob es sich um einen Stern, einen Planeten oder Asteroiden handelt. Auch Doppelsternsysteme sind möglich "BinaryStar" - Werte aus StarSystemTypes.xsd
    BodyDef - Verknüpfung zu Werten aus PlanetDefs.xml oder StarDefs.xml

    Fertig ist das Sonnensystem!

    Jetzt noch den Blues zuweisen in FactionDefs_Blues.xml:

    Code:
            <RequiresHomeworld>true</RequiresHomeworld>
            <HomeStarSystem>VerthSystem</HomeStarSystem>
    <!--        <HomePlanetName>FACTION_BLUES_PlanetName</HomePlanetName> -->
    Und wie immer noch die Texte schreiben. Ich könnte sie in die existierende Textdatei einfügen, habe aber eine eigene für Sterne und Planeten angelegt StarsPlanetsTexts_Blues.xml

    Code:
      <StringTable>
        <Label>VerthSystem_Name</Label>
        <String>Verth</String>
      </StringTable>
     
      <StringTable>
        <Label>VerthSystem_Dec</Label>
        <String>The Jülziish home system.
    Habitable worlds Class 11
    and 4.
    1 Frozen, 2 Dead worlds and 1 Asteroid Chain.</String>
      </StringTable>
      <StringTable>
        <Label>Verth_Name</Label>
        <String>Verth</String>
      </StringTable>
      
      <StringTable>
        <Label>Fryjund_Name</Label>
        <String>Fryjund</String>
      </StringTable>  
      <StringTable>
        <Label>Gatas_Name</Label>
        <String>Gatas</String>
      </StringTable>
      
      <StringTable>
        <Label>Gytüll_Name</Label>
        <String>Gytüll</String>
      </StringTable> 
      
      <StringTable>
        <Label>Alpasim_Name</Label>
        <String>Alpasim</String>
      </StringTable> 
      
      <StringTable>
        <Label>Bnaypüsh_Name</Label>
        <String>Bnaypüsh</String>
      </StringTable>
    Und so sieht es jetzt beim Spielstart aus:

    Bild


    Bild
    Angehängte Grafiken Angehängte Grafiken

  13. #13
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    So, noch ein Versuch die bisherigen Dateien bereitzustellen. Diesmal hoffentlich die richtigen!
    Angehängte Dateien Angehängte Dateien

  14. #14
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Teil 5 - Jetzt wird's bunt!

    Ziel: Den Blues eine eigenes Farbschema spendieren

    Modifizierte XML-Dateien: ColorDefs.XML, FactionMapColorDefs.xml, UIColorDef.xml

    Zitat Zitat von Franz Marc, deutscher Maler, Mitbegründer der Künstlergemeinschaft »Blauer Reiter«
    Blau ist die einzige Farbe, bei der ich mich wohl fühle.
    Was liegt also näher als den Blues eine blaue Farbe auf der Karte und im UI zu verpassen?

    Problematisch nur, dass die Terraner in den Grundeinstellungen ebenfalls einen Blauton nutzen. Also muss eine neue Farbvariante her.

    Die ColorDefs.xml wird in den .\Core Ordner kopiert und umbenannt zu ColorDefs_Blues.xml

    Dann gebe ich den Blues ein reines Blau, den Kriegsnebel mache ich etwas heller als gewöhnlich mit einem Blaustich.

    Farben werden als RGB-Werte definiert.

    Natürlich würde ein einziger Eintrag für all die identischen Blautöne ausreichen. Aber vielleicht muss ich später zwischen der Farbe der Rasse, Karte und UI unterscheiden.
    Also lege ich dafür verschiedene Einträge an, alle mit demselben Farbton:

    Code:
      <!-- Blues Colors -->
     
      <Color>
        <InternalName>BluesRaceBlue</InternalName>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Color>
     
      <Color>
        <InternalName>BluesMapBlue</InternalName>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Color>
     
      <Color>
        <InternalName>BluesUIBlue</InternalName>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Color>
     
      <Color>
        <InternalName>BluesUIDefault</InternalName>
        <Red>100</Red>
        <Green>135</Green>
        <Blue>160</Blue>
      </Color>
     
      <Color>
        <InternalName>BluesUIDefaultHot</InternalName>
        <Red>100</Red>
        <Green>170</Green>
        <Blue>235</Blue>
      </Color>
     
      <Color>
        <InternalName>BluesUIDefaultHighlight</InternalName>
        <Red>255</Red>
        <Green>204</Green>
        <Blue>0</Blue>
      </Color>
     
      <Color>
        <InternalName>BluesFOWUnexplored</InternalName>
        <Red>20</Red>
        <Green>20</Green>
        <Blue>90</Blue>
      </Color>

    Nun werden die Farbtöne für die Karte zugewiesen in FactionMapColorDefs.xml => FactionMapColorDefs_Blues.xml

    Code:
      <MapColorDef>
        <InternalName>BluesMapColors</InternalName>
        <DisplayName>UI_Color_Blues</DisplayName>
        <FactionColor>BluesUIBlue</FactionColor>
        <GridColor>BluesRaceBlue</GridColor>
        <InfluenceColor>BluesMapBlue</InfluenceColor>
        <InfluenceLine>
          <MinAlpha>200</MinAlpha>
          <MaxAlpha>200</MaxAlpha>
        </InfluenceLine>
        <InfluenceBlur>
          <MinAlpha>0</MinAlpha>
          <MaxAlpha>80</MaxAlpha>
        </InfluenceBlur>
        <ResourcePathLineColor>UIDefaultHighlight</ResourcePathLineColor>
        <TradePathLineColor>BluesMapBlue</TradePathLineColor>
        <ShipyardPathLineColor>UIDefault</ShipyardPathLineColor>
        <StrategicIconColor>BluesUIBlue</StrategicIconColor>
        <RallyPointColor>BluesUIBlue</RallyPointColor>
      <CampaignWaypointColor>BluesUIBlue</CampaignWaypointColor>
      </MapColorDef>

    Und dasselbe in grün - äh blau - für die UI-Farben in UIColorDef.xml => UIColorDef_Blues.xml

    Code:
      <UIColorDef>
        <InternalName>BluesUIColors</InternalName>
        <DisplayName>UI_Color_Blues</DisplayName>
        <Color>
          <OriginalColor>UIDefault</OriginalColor>
          <OverrideColor>BluesUIDefault</OverrideColor>
        </Color>
          <Color>
          <OriginalColor>UIDefaultHot</OriginalColor>
          <OverrideColor>BluesUIDefaultHot</OverrideColor>
        </Color>
      <Color>
       <OriginalColor>UIDefaultHighlight</OriginalColor>
       <OverrideColor>BluesUIDefaultHighlight</OverrideColor>
      </Color>
      <Color>
       <OriginalColor>FOWUnexplored</OriginalColor>
       <OverrideColor>BluesFOWUnexplored</OverrideColor>
      </Color>
      </UIColorDef>

    In der Hauptdatei unserer Blues-Rasse FactionDefs_Blues.xml werden die neuen Farben dann noch zugewiesen:

    Code:
            <MapColorDef>BluesMapColors</MapColorDef>
            <UIColorDef>BluesUIColors</UIColorDef>

    Ein Textschlüssel muss auch noch angelegt werden. Ich packe ihn in die vorhandene FactionText_Blues.xml:

    Code:
       <StringTable>
        <Label>UI_Color_Blues</Label>
        <String>Blues</String>
      </StringTable>
    Fertig! Wie es wohl aussehen wird? Am besten in einem Spiel gegen die Terraner testen.

    Die Farbe ist ja ganz schön heftig ... Aber der Kriegsnebel in blau hat was

    Bild

    Aber wird die Farbe sich ausreichend von den Terranern abheben?
    Angehängte Grafiken Angehängte Grafiken

  15. #15
    Ad Astra Avatar von Ronnar
    Registriert seit
    27.10.08
    Beiträge
    3.196
    Ich aktiviere die Debuggingkonsole (mit Taste ö) und entferne den Nebel des Grauens mit "fow".

    Dann lasse ich die Blues vollautomatisch gegen die Terraner spielen (mit "soak"). Mich interessieren momentan ja nur die Farben und da will ich nicht selber klicken.

    Bild


    Nach 50 Zügen sind meine Blues den Terranern begegnet. Die Farben lassen sich gut unterscheiden, sowohl auf der Hauptkarte als auch in der Minimap:

    Bild


    Aber überlebensfähig werden unsere Blues nicht sein: Schon nach 50 Runden und nur 4 Planeten liegt die Zufriedenheit auf allen Planeten unter 20.

    Die Terraner haben zu dieser Zeit ebenfalls 4 Planeten, aber eine Zufriedenheit zwischen 60 und 100.

    Wenn es bei dem Malus auf Zufriedenheit für Blues bleiben soll, dann muss ich wohl die KI-Prioritäten verändern.

    In Verbindung mit dem beschleunigten Wachstum der Blues auch noch die KI-Priorität auf Wachstum zu stellen war wohl zu viel des Guten. Die Blues haben zu diesem Zeitpunkt schon die 1,6fache Bevölkerung verglichen mit den Terranern.
    Angehängte Grafiken Angehängte Grafiken

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •