A trip through the fantasy worlds I enjoy

 

In a prior Developer Blog (https://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 4)
12 PagesFirst 2 3 4 5 6  Last
on Apr 10, 2015

Derek can you post a zip of the Ghost mod so I can try that?

 

on Apr 11, 2015

stonehold

Yes!  Thank you, @Ronnar!  Makes sense, the default images are animated.  Fixed the startup screen, too.

 

Doing some more extensive editing on StarSystemDefs.xml and PlanetDefs.xml now. 

 

Are there any plans for starbase editor?  It'd be really awesome if I could design one to look like B5 orbiting Epsilon III.

 

Reduced 55%
Original 1018 x 731



Reduced 62%
 
Original 887 x 702


 I`ve tried and all I get is a Blank pic with text now.

How did you get this to work or was it done in Beta 4 ??? If it was done in Beta5 Please tell how.

 

 

Thanks!!

Nasty!

on Apr 12, 2015

if you want to add new pictures for a custom faction do you need a code? also where do i put the art files in the mod folder so others will see them in multiplayer?

 

sorry perhaps i should clarify i got an icon a fg a bg and a portrait i want to use for a custom faction i see it on my end if i add the pngs to the factions art folders but how do i make them a mod so my friends will see them on there end

 

on Apr 12, 2015

wulff420

if you want to add new pictures for a custom faction do you need a code? also where do i put the art files in the mod folder so others will see them in multiplayer?

 

sorry perhaps i should clarify i got an icon a fg a bg and a portrait i want to use for a custom faction i see it on my end if i add the pngs to the factions art folders but how do i make them a mod so my friends will see them on there end

 

 

I believe the Devs are looking into this you are not the only one having this problem 

stonehold

Yup, got it working in-game.

Here's a link to the zipped directory.  After you extract it into your \Documents\my games\GalCiv3\Mods\ directory, go to your \Steam\SteamApps\common\Galactic Civilizations III\data\Game\ directory and append both the 'PlanetDefs.xml' and 'StarSystemDefs.xml' with '.1' or some equivalent in order to keep them intact. 

 Edit: btw, this is my first mod. Ever. In the history of existence.

 

Here is where they should go download stoneholds custom race to get a feel for how things are handle if you have them there already you may want to make a ticket on it with support.

Nastytang


Quoting stonehold,

Yes!  Thank you, @Ronnar!  Makes sense, the default images are animated.  Fixed the startup screen, too.

 

Doing some more extensive editing on StarSystemDefs.xml and PlanetDefs.xml now. 

 

Are there any plans for starbase editor?  It'd be really awesome if I could design one to look like B5 orbiting Epsilon III.

 







 I`ve tried and all I get is a Blank pic with text now.

How did you get this to work or was it done in Beta 4 ??? If it was done in Beta5 Please tell how.

 

 

Thanks!!

Nasty!

@stonehold I figure it out it was a Blank.png I was using that was working right that i did not know it was .

on Apr 12, 2015

thank you for the info but future reference will i need a code and also will i need to like in the mod folder put a gfx folder in game or core or something then a faction folder in the gfx folder then the portrait folder icon folder leader fg folder and leader bg folder in the faction folder that is in the gfx folder that is in the game or core folder in the mod folder or is it easeier than that? lol that kinda reminds me of that song theres a frog on a log that i found in a whole at the bottom of the see lmao

on Apr 14, 2015

Ok, so I'm trying to put my own custom faction in the game. I downloaded the Zathras mod to double check that everything seemed to be in the same order (the things that I changed, at least) and they are... When I go to launch the game, I get the following error message:

C:\Users\Tommy\Documents\My Games\GalCiv3\Mods\Revenants\Game\FactionDefs_Revenants.xml(69,15): error:
element 'LeaderImageFG' is not allowed for content model '(InternalName,DisplayName,DisplayNameShort,LeaderName,Description,LeaderDescription?,RaceType,PersonalityTraits*,RaceTraits*,RequiresHomeworld?,HomeStarSystem,HomePlanetName?,StartingShips*,TechTree,StartingTechs*,HatedFaction*,ShipCallsign,LogoImage,LeaderThumbnail,LeaderImageFG?,LeaderImageBG?,NewsRobotMovie_Approach,NewsRobotMovie_Idle,StartupImage?,StartupTitle?,StartupDescription?,StartupTraitsDescription?,MapColorDef,UIColorDef?,FactionMoviesFGDef?,FactionMoviesBGDef?,FactionMusicDef?,Material1,Material2,Surface1,Surface2,Appearance,ShipStyleSet,CreditsInit,WarEnduranceInit,DefaultResistance,ManufacturingSliderInit?,MilitarySliderInit?,ResearchSliderInit?,WealthSliderInit?,InfluenceTallyInit?,TradeRouteInit?,StartingColonyPopulation?,AICategoryWeight?)'

Anyone know what this is and what I did wrong?

on Apr 14, 2015

riviaguy221

,NewsRobotMovie_Approach,NewsRobotMovie_Idle,StartupImage?,StartupTitle?,StartupDescription?,StartupTraitsDescription?,MapColorDef,UIColorDef?,FactionMoviesFGDef?,FactionMoviesBGDe
I got that error when I tried to use a still pic for the Tech guy I don`t need to see is hand go to his glasses. I had to put him back in.

 

 

 

 

As you can tell I have moded most of the stuff here and I have it working

<TechTree>Terran_Tree</TechTree>
<ShipCallsign>FOP</ShipCallsign>
<LogoImage>NTSTDKBlueRaceLogo00.png</LogoImage>
<LeaderThumbnail>NTGC3_WT_Riker_Small.png</LeaderThumbnail>
<LeaderImageFG>DStartGameTerran.png</LeaderImageFG>
<LeaderImageBG>jamesclyne14.png</LeaderImageBG>

I was not able to mod the Terran Research Adviser

<NewsRobotMovie_Approach>Terran_ResearchAdviser_Approach.bk2</NewsRobotMovie_Approach>
<NewsRobotMovie_Idle>Terran_ResearchAdviser_Idle.bk2</NewsRobotMovie_Idle>


<StartupImage>StartGameRiker.png</StartupImage>
<StartupTitle>FACTION_TERRAN_StartupTitle</StartupTitle>
<StartupDescription>FACTION_TERRAN_StartupDescription</StartupDescription>
<StartupTraitsDescription>FACTION_TERRAN_StartupTraitsDescription</StartupTraitsDescription>
<MapColorDef>TerranMapColors</MapColorDef>
<UIColorDef>TerranUIColors</UIColorDef>

 

Make sure you have hind these or taeken them out.
<!-- <FactionMoviesFGDef>TerranMoviesFG</FactionMoviesFGDef>
<FactionMoviesBGDef>TerranMoviesBG</FactionMoviesBGDef> -->


<FactionMusicDef>TerranMusic</FactionMusicDef>
<Material1>GC3_Ship_Material_Brushed_Metal</Material1>
<Material2>Onyx_Material_01</Material2>
<Surface1>GC3_Default_Surface_04</Surface1>
<Surface2>GC3_Default_Surface_04</Surface2>
<Appearance>GC3_Terran_Appearance</Appearance>
<ShipStyleSet>TerranShipStyleSet</ShipStyleSet>

on Apr 15, 2015

I really hope modders of galciv 3 will start hosting @ nexusmods.com website

it's so much better than the library of galciv 2 with a host of great features for modders & users.

on Apr 22, 2015

Nastytang


Quoting stonehold,

Yes!  Thank you, @Ronnar!  Makes sense, the default images are animated.  Fixed the startup screen, too.

 

Doing some more extensive editing on StarSystemDefs.xml and PlanetDefs.xml now. 

 

Are there any plans for starbase editor?  It'd be really awesome if I could design one to look like B5 orbiting Epsilon III.

 





 I`ve tried and all I get is a Blank pic with text now.

How did you get this to work or was it done in Beta 4 ??? If it was done in Beta5 Please tell how.

 

 

Thanks!!

Nasty!

 

I got the startup portrait to work in Beta 5, but it's finicky.  I used the same dimensions and resolution for all my races, but only two, ('Zathras' and 'Cosmic Horror') are displayed properly.  The others are either way off-center to show nothing, or only a shoulder (or tentacle whatever -- I'm easy).  I'm still trying to figure that out.  Dimensions: 860*540, Resolution: 92ppi.

 

Okay, question for the developers now.  I'm tinkering around with TechTrees and ShipComponentDefs.  I now have a few new. selectable components unlocked when the proper tech's been researched.  I'd like to make a ship component that affects a ships stat, but the effect increases if the are more ships in the fleet with the same component. 

 

For example, component raises [x] stat by [y] amount for each additional ship in fleet WITH that component.  Does that make sense?  Is it possible?

Thanks!

 

 

on Apr 23, 2015

stonehold

Okay, question for the developers now.  I'm tinkering around with TechTrees and ShipComponentDefs.  I now have a few new. selectable components unlocked when the proper tech's been researched.  I'd like to make a ship component that affects a ships stat, but the effect increases if the are more ships in the fleet with the same component. 

 

For example, component raises [x] stat by [y] amount for each additional ship in fleet WITH that component.  Does that make sense?  Is it possible?

 

Yes. I had similar ideas in mind.

I can't see a way to do it because the Value in the modifier seems to have to just be an integer. I don't know whether it can be a variable. There don't seem to be any defined in the relevant schemas.

on Apr 23, 2015

bkeniry

Quoting stonehold,


Okay, question for the developers now.  I'm tinkering around with TechTrees and ShipComponentDefs.  I now have a few new. selectable components unlocked when the proper tech's been researched.  I'd like to make a ship component that affects a ships stat, but the effect increases if the are more ships in the fleet with the same component. 

 

For example, component raises [x] stat by [y] amount for each additional ship in fleet WITH that component.  Does that make sense?  Is it possible?

 

Yes. I had similar ideas in mind.

I can't see a way to do it because the Value in the modifier seems to have to just be an integer. I don't know whether it can be a variable. There don't seem to be any defined in the relevant schemas.

I'm not a programmer and I've not done a lot of modding, but I'm pretty sure to accomplish something like what you want to do is to copy a ship component that effects the fleet (i.e., the <Scope> needs to be Fleet), change the <OnePerShip> field to false, change the <Type>, <SupportType>, and <EffectType> to the appropriate types, and then either use a flat bonus or a multiplier (in which case I believe 1 is equal to 100%).

I tried this by making a component called an HP Generator. I changed it's Type to HitPointAugment and left its SupportType Shields (because I wasn't sure if there was a valid Hit Point type, and then changed the EffectType to HitPointsCap with a BonusType of Multiplier and Value of 1. I think it applied the multiplier to the base value of each ship's HP, never to the modified value (so, for example, each new ship with this module increased a cargo-hull example's HP by 10, but a huge-hull example's HP by 200.

This is probably not exactly what you guys are after, but it is similar, I think. And maybe this will point you in the right direction.

on Apr 24, 2015

Hi,

i tryed to create my own race with their own shipstyle. i built some templates for survey, colony and constructor sofar. the new shipstyle is already displayed in the shipstyle list for custom race but in the preview there is still the terran survey and not mine. i modified the factionshipstylesetdefs, shipdefs, shipclassdefs and the factiondefs XML for my race. i put the filename of my models to the ships startingcolony, startingsurvey, constructor, colony and survey.

now the problem. when i start a game with my new race, game crashes. it must be something with the ships, but i dont know how to fix it.

maybe someone could help. did i missed something or is there anything else i have to do before the game accepts my models? why is my surveyship not being shown when i select my shipstyle? do i need to use a special form for the filename?

btw, i created only ship templates, without any modules. could this be the problem?

thx in advance

on Apr 24, 2015

Here is my effort

It's the 'Kerbal' race (how original lol), but I'd like folks to try it out to see how I've done.

http://hugefiles.net/wzd5e6mt1q5y

 

Not a lot of info out there ATM, modding wise, but I do hope on game release, that changes

on Apr 25, 2015

virus scanner block the page for me scara_monga

on Apr 25, 2015

Nastytang

virus scanner block the page for me scara_monga

 

Dunno how buddy?

It's 'hugefiles', pretty decent storage site

12 PagesFirst 2 3 4 5 6  Last