A trip through the fantasy worlds I enjoy

 

In a prior Developer Blog (http://forums.galciv3.com/461709/page/1/ ) I talked about all the cool stuff you can do in the Custom Race tool. We give you a bunch of images, traits, abilities and settings to create whatever race you want.

But, if you really want to make something unique you can go so much further. In this post I’ll talk about how modding works in Galactic Civilizations III and show you how I used it to make a new faction for the game, the Ghosts of Abbadon.


How does modding work?

Mods are files placed in your My Games/GalCiv3/Mods/ directory. They can include graphic and XML files. You can have as many mods in here as you want, but keep them in their own directories (so if you want to remove one it’s easy to do). The plan is to get some Steam Workshop integration in here to help manage this at some point. But first we are getting the system working.

NOTE: We use a file structure to help with organization, but the game actually just searches all subdirectories when looking for files. So your files must have unique names (even if they aren' in the same directory).

At a high level there are three things you want to do when modding. You either want to add something, modify something or delete something.

  1. Adding things. This is the easiest, just create a new XML file, with a new name. It doesn’t matter what the name is, as long as it isn’t the same as an existing file. Personally I like using the same name that it uses in GC3, but I append the mod name to make sure it is unique. The only other thing that matter is that it is in the right directory. Faction Defs, Star System Defs and Planet Defs are all in the Game folder (because if you look at the XML in the GalCiv’s real directories those files are in the Game folder). You have to match GalCiv3’s file placement so that the modded files load correctly. Add a new file in here with just the new Faction, Star System, Planet, Tech, Improvement, Ideology Trait, etc (there are about 150 moddable xml files in GC3). Anything Paul can add to the game, you can add too.
  2. Modifying things. What if you want to increase the amount of credits the Iridium to start the game with? If you ever want to modify an existing object you just need to copy the file from the GC3 directories and modify what you like, but be sure to keep the name exactly the same. When the game starts if it sees a file with an identical name in your mod directory to one of the base files it uses your mod file instead. This gives you ultimate control over overwriting anything in the base game (without ever having to modify a base game file).
  3. Removing things. Since you can overwrite any of the existing XML files our deletion solution is built right in. If there is a particular global event that annoys you can copy that xml file into your mod directory, delete that event form your copy and voila, it’s gone.

Now let’s use this power to create a new faction, the Ghosts of Abbadon. The Ghosts are unlike any other faction in GC3, and we want to be able to do more with them than the Custom Race tool normally allows. In this case they have ruined their homeworld and used the last of their resources to prepare 3 colony ships to go out and attempt to find a new home.

How do we do this?

1: Copy the FactionDefs.xml file into my new mods \My Games\GalCiv3\Ghost\Game\ directory.

2: Rename it from FactionDefs.xml to FactionDefs_Ghost.xml. (I don’t want to overwrite the existing factiondefs, I just want to add a new one).

3: Open up the file (I use Notepad++ for this) delete the other entries, except maybe one I am about to use as a template, and add the XML for my faction.

There are lots of things set here. But the important things here are that <HomeStarSystem> is set to “DeadSystem” where normal factions have a Colony, Scout and Survey ship in <StartingShips> they have 3 Colony ships instead. We could put anything we want in here, 12 Colony ships, a Battleship, a fleet of flying toasters, etc.

I played with a bunch of options with their starting ships. At first I gave them the extra colony ships in addition to the normal Survey and Scout. But when it was just Colony ships it made them feel a more desperate. They don’t have the luxury of having a scout out finding planets for them, or time spent collecting anomalies. When they choose to set out for a star it becomes a dramatic step, and when there is nothing there it is a tragedy of the time of a very valuable resource wasted. And when they find a worthwhile planet it is a huge joy. The hardest part is finding a mediocre planet, do they keep going, looking for something better, or settle?

I used the Terran definition for most of their art aspects, and I’m using one of the extra faction foregrounds and backgrounds that come with the game (“Devilgirl”) for the leader art. We could create our own versions of any of this. If you had a custom image you wanted to use for your faction you would just reference it here, I think Paul has one for his dog Maggie.

The only custom art I created for them is that I created a new material in <Material1>, Ghost_Ship_Material_01.

To do that I added a new file for my mod, this time in the \Mods\Ghost\Core\ directory. I’ve used it to define a new material that I can use to create ships. Materials aren’t colors (you will want to add appearances to modify ship colors). They define the way that light interacts with the surface of the object and I wanted to try some things out to make the ghost ships look unusual.

I really don’t know what I’m doing here. But I love having lots of levers available to tweak and play with. So I’m not asking any modder to understand what all these options mean. Instead do what I did, make a bunch of new materials with all sorts of values then load up the game and check them out. I’ve created new color schemes and materials, and I will add them to the base game to make it easy for non-modders to play with. But modders can go wild.

For this new material I bumped the Reflectivity to a crazy 10.2. That’s going to make my ship look like it is made from mirrors. It’s hard to appreciate in a still picture, but it looks pretty cool in motion.

 

So I have some cool looking ships and a fun faction to play as. I’m going to go play some Galactic Civilizations III.


Comments (Page 12)
on Jul 07, 2015

So far I've modded in several factions both major and minor with only a few issues, typically me misspelling or forgetting to put something.  However, I can't find the issue with my most recent two mods, the Confederacy of Independent Systems and the l'Cie Sanctum.  Every time I try to use them as the player race or and AI race the game shuts down as the map tries to load.  The problem seems to be the home system, because if I copy either race in the ingame editor and change the home system they work fine.  But when I compare the StarDefs, PlanetDefs, and StarSystemDefs to my other mods and the originals btu I cant find the issue.

 

Here the Confederany:

 StarDefs

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

<StarList

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="../Schema/StarDefs.xsd">

 

<!--Fixted Sytem Stars-->

 

<Star>

<InternalName>MusafarStar</InternalName>

<DisplayName>Mustafar</DisplayName>

<ObjectType>Star</ObjectType>

<Type>YellowStar</Type>

<ArtDefine>SunArt</ArtDefine>

<SFXDefine>STAR_AMBIENT</SFXDefine>

</Star>

 

</StarList>

PlanetDefs

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

<PlanetList

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="../Schema/PlanetDefs.xsd">

 

                <Planet>

                                <InternalName>PlanetGeonosis</InternalName>

                                <DisplayName>GeonosisName</DisplayName>

                                <PlanetType>Habitable</PlanetType>

                                <PlanetClass>15</PlanetClass>                

                                <ArtDefine>DrengiArt</ArtDefine>

        </Planet>

 

</PlanetList>

StarSystemDefs

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

<StarSystemList

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="../Schema/StarSystemDefs.xsd">

<!-- Created with the Gal Civ 3 Editor -->

<!-- StarSystemDefs.xml -->

 

  <!-- System Group -->

 

  <StarSystemGroup>

    <InternalName>DroidStart</InternalName>

 

    <StarSystem>

      <InternalName>MustafarSystem</InternalName>

      <DisplayName>MustafarSystem_Name</DisplayName>

      <Description>MustafarSystem_Dec</Description>

      <OrbitLane>

        <LaneType>Star</LaneType>

        <Body>

          <BodyType>UnaryStar</BodyType>

          <BodyDef>MustafarStar</BodyDef>

        </Body>

      </OrbitLane>

      <OrbitLane>

        <LaneType>NoRandom</LaneType>

      </OrbitLane>

      <OrbitLane>

        <LaneType>HabitableZone</LaneType>

        <Body>

          <BodyType>Planet</BodyType>

          <BodyDef>PlanetGeonosis</BodyDef>

          <IsHomeworld>true</IsHomeworld>

          <Position>5</Position>

        </Body>

      </OrbitLane>

      <OrbitLane>

        <LaneType>NoRandom</LaneType>

      </OrbitLane>

    </StarSystem>

 

 </StarSystemGroup>

 

</StarSystemList>

on Jul 09, 2015

New to messing with anything in the world of programming. I downloaded notepad++ but I can't even translate the .faction files. I've tried messign with the language and other setting and I feel pretty dumb at this point. Can someone tell me where the setting is? \

on Jul 09, 2015

Eliotthib

New to messing with anything in the world of programming. I downloaded notepad++ but I can't even translate the .faction files. I've tried messign with the language and other setting and I feel pretty dumb at this point. Can someone tell me where the setting is? \

There is no setting. .faction files cannot be edited by anything but GC3 itself. 

on Sep 02, 2015

Potentially dumb question, but was the Ghosts of Abbadon faction mod that Derek Paxton made in the OP ever actually released?  Kinda like to play with them in one of my games.

on Jun 08, 2016

So i have been tinkering in the various XMLs and would really like to see a list of my options to some of these strings. I can figure some out by looking at others but i notice sometimes when there is an error it tells me a list of strings available but not their options>

 

For example:

<RaceTraits> Productive1, Clever1, Economical1, Content1, Fertile1, etc

or

<PlanetType> Habitable, GasGiant, Dead, etc

 

and so on.

 

specifically i noticed there is a <StrategicResource> for planetdefs.xml which i have figured out to either be true or false, yet i can not see the effect so i assume it has to do with planet type.

 

it would be nice to have a list of the options in order to maximize modding

 

 

on Jun 08, 2016

canadian_rocker2008

So i have been tinkering in the various XMLs and would really like to see a list of my options to some of these strings. I can figure some out by looking at others but i notice sometimes when there is an error it tells me a list of strings available but not their options>

 

For example:

<RaceTraits> Productive1, Clever1, Economical1, Content1, Fertile1, etc

or

<PlanetType> Habitable, GasGiant, Dead, etc

 

and so on.

 

specifically i noticed there is a <StrategicResource> for planetdefs.xml which i have figured out to either be true or false, yet i can not see the effect so i assume it has to do with planet type.

 

it would be nice to have a list of the options in order to maximize modding

 

 

 

You can see what is available by looking that the Schema file associated with the xml you are editing. You may need(most likely will) to check the "include" Schema files too.

on Jun 06, 2017

haldiron

I would just like to pre-thank the wonderful person or persons who is going to make a Babylon 5 mod - it will be AMAZE-BALLZ!!!!

 

We are making better worlds. All of them, better worlds....

 

You do know that with Crusade and the DLCs it`s actually quite easy now to make a babylon5 mod yourself? It would only take time and referring to the series for accuracy. I haven`t made one, but the intro soundtrack of my game is from the later series of Babylon5 intro. Very fitting.

on Apr 20, 2018

Greetings

After posting a post about wanting to add more planets in my faction system. I would like to have 5 planets that are Habitable. How do I write it up or can it be done?

Thank Thank you

Saint Mina

Adepta Sororitas