• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Baldamundo

Colonel
112 Badges
Oct 10, 2009
820
683
  • Sword of the Stars II
  • Europa Universalis III Complete
  • Lead and Gold
  • Arsenal of Democracy
  • March of the Eagles
  • Europa Universalis III Complete
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Rome Gold
  • Semper Fi
  • Sword of the Stars
  • Magicka
  • Supreme Ruler: Cold War
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Rome: Vae Victis
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Reapers Due
  • Cities: Skylines - After Dark
  • Cities: Skylines - Snowfall
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Impire
  • Darkest Hour
  • Europa Universalis III: Chronicles
  • Heir to the Throne
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Divine Wind
  • Europa Universalis III
  • Hearts of Iron 4: Arms Against Tyranny
  • Europa Universalis IV: El Dorado
  • Mount & Blade: Warband
  • Crusader Kings II: Way of Life
  • Europa Universalis IV
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Conclave
I've not been able to find much information on how random AI empire generation works or how to mod it, so posting here looking for some tips on where to start. I play Stellaris heavily modded - especially with lots of shipset & portrait mods, but that comes with a few limitations for me, e.g.
  1. randomly generated AI empires rarely (if ever?) spawn using modded shipsets
  2. species name options can be limited & repetitive
  3. portrait mod species name lists often don't make much sense with randomised empires. e.g. a Star Trek portrait pack will generate a bunch of random species named after species from Star Trek, but with the portraits of the wrong species - much more immersion breaking than if they just had totally randomised names.
So some questions:
  1. is all of this controlled in the species classes file?
  2. do random empires drawn from a specific set of portraits all have to use the same shipset? i.e. all Mammalian empires currently will use Mammalian shipset - this could be modded so they all use say the Reptilian shipset, but not so as they randomly draw one of several shipsets?
  3. how do overwrites work in Stellaris? do I need to overwrite entire species class files or is there a way of only overwriting specifically e.g. the graphical_culture section? and do species_names additions overwrite each other or are they all additive?
  4. is there anything else I should be thinking about here? e.g. will all random AI empires already automatically draw from all possible civics and origins and traits?
 
Last edited:
Can anyone explain the country_customization folder?

Vanilla has a file called 00_country_customization.txt containing:
Code:
#
# This file is used to provide some customization options for empires.
# for each country, the various customizations are weighted, and the one that ends up with the highest weight is used
#

default = {                                        # "default" should always exists as it's the value the engine will always fall back on
    colony_shelter = {
        default = "building_colony_shelter"
        pc_habitat = "building_hab_capital"
    }

    weight = {                                    # scope = country
        base = 1                                # a value of 0 will be ignored entirely, otherwise the customization with the highest value wins.
    }
}

machines = {
    colony_shelter = {
        default = "building_deployment_post"
        pc_habitat = "building_hab_capital"
    }

    graphical_culture_for_random_empire = {
        humanoid_01 = {
            modifier = { add = 1 species_portrait = "default_robot" }
            modifier = { add = 1 species_portrait = "sd_hum_robot" }
        }
        mammalian_01 = { modifier = { add = 1 species_portrait = "sd_mam_robot" } }
        reptilian_01 = { modifier = { add = 1 species_portrait = "sd_rep_robot" } }
        avian_01 = { modifier = { add = 1 species_portrait = "sd_avi_robot" } }
        arthropoid_01 = { modifier = { add = 1 species_portrait = "sd_art_robot" } }
        molluscoid_01 = { modifier = { add = 1 species_portrait = "sd_mol_robot" } }
        fungoid_01 = { modifier = { add = 1 species_portrait = "sd_fun_robot" } }
        plantoid_01 = { modifier = { add = 1 species_portrait = "sd_pla_robot" } }
        lithoid_01 = { modifier = { add = 1 species_portrait = "lith_machine" } }
    }

    weight = {
        base = 0
        modifier = {
            add = 10
            has_authority = auth_machine_intelligence
        }
    }
}

hive_minds = {
    colony_shelter = {
        default = "building_hive_capital"
        pc_habitat = "building_hab_capital"
    }

    weight = {
        base = 0
        modifier = {
            add = 10
            has_authority = auth_hive_mind
        }
    }
}

and the Alien Suns mod for example has a file called aliensuns_customized.txt containing:

Code:
aliensuns = {
    colony_shelter = {
        default = "building_colony_shelter"
        pc_habitat = "building_hab_capital"
    }

    graphical_culture_for_random_empire = {
        humanoid_01 = { modifier = { add = 1 species_portrait = "as9" }}
        mammalian_01 = { modifier = { add = 1 species_portrait = "as8" }}
        reptilian_01 = {
modifier = { add = 1 species_portrait = "as7" }
modifier = { add = 1 species_portrait = "as15" }
modifier = { add = 1 species_portrait = "as17" }}
        avian_01 = { modifier = { add = 1 species_portrait = "as3" } }
        arthropoid_01 = {
modifier = { add = 1 species_portrait = "as1" }
modifier = { add = 1 species_portrait = "as2" }
modifier = { add = 1 species_portrait = "as11" }
modifier = { add = 1 species_portrait = "as12" }}
        molluscoid_01 = {
 modifier = { add = 1 species_portrait = "as6" }
modifier = { add = 1 species_portrait = "as10" }
modifier = { add = 1 species_portrait = "as13" }
modifier = { add = 1 species_portrait = "as14" }}
        fungoid_01 = { modifier = { add = 1 species_portrait = "as5" } }
        plantoid_01 = {
modifier = { add = 1 species_portrait = "as4" }
modifier = { add = 1 species_portrait = "as16" }
modifier = { add = 1 species_portrait = "as18" } }
    }}

    weight = {
        base = 0
        modifier = {
            add = 10
            or ={
            is_species_class = "AS"
            species_portrait = "as1"
            species_portrait = "as2"
            species_portrait = "as3"
            species_portrait = "as4"
            species_portrait = "as5"
            species_portrait = "as6"
            species_portrait = "as7"
            species_portrait = "as8"
            species_portrait = "as9"
            species_portrait = "as10"
            species_portrait = "as11"
            species_portrait = "as12"
            species_portrait = "as13"
            species_portrait = "as14"
            species_portrait = "as15"
            species_portrait = "as16"
            species_portrait = "as17"
            species_portrait = "as18"
            }
        }
    }
 
randomly generated AI empires rarely (if ever?) spawn using modded shipsets
1602060041386.png

The highlit bit defines what shipset (and city type) they use.
I dont know if you can have multiple shipsets after the equals but maybe try something like

graphical_culture = {
set1
set2
}