• 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.

Tiny Turtle

Second Lieutenant
112 Badges
Jan 27, 2011
126
18
www.twitch.tv
  • A Game of Dwarves
  • 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
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron 4: Arms Against Tyranny
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings Complete
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Bastards Wound
  • Age of Wonders III
  • Cities: Skylines - Green Cities
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Age of Wonders: Planetfall Sign Up
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron IV: By Blood Alone
  • Victoria 3 Sign Up
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Battle for Bosporus
  • Crusader Kings III
  • Stellaris: Federations
  • Hearts of Iron IV: La Resistance
  • Stellaris: Lithoids
  • Surviving Mars: First Colony Edition
  • Surviving Mars: First Colony Edition
  • Crusader Kings II: Holy Fury
  • Imperator: Rome Deluxe Edition
  • Hearts of Iron IV: Expansion Pass
  • Prison Architect
  • Age of Wonders: Planetfall Deluxe edition
Hey guys! I tried looking around and I didn't find this answered - if it has been, I'm really sorry. Please disregard!

Anyway, here's my question. Is it possible to create an empire that begins with more than one native pop? Is it possible to make it so that not only is it available as a modded custom empire, but give the player the ability to make it themselves in-game? I understand that balance can be an issue here, but I'd rather see this become a reality and worry about balance later. :)

Basically what I'm asking for / suggesting / trying to find a way to do, is let the player create, for an example, the High Fantasy empire. In that Empire we would have humans, elves, dwarves and orcs. They'd all have it in common that they developed on a continental planet, so they share that preference. But then orcs live short lives, but they're tough, talented and quick learners. Elves live incredibly long, but breed and learn slowly. Dwarves live longer than humans, but are anti-social and rude. Then the humans get their own traits and bam. There's your first planet.

Then as you spread out, you may choose to settle some planets with pops good at industrial efforts, or farming food, or whatever. This would also make me want the ability to build higher tech mega-colony ships, that could carry two pops, then eventually three. Send the elves and dwarves to Mars for farming and mining.

But if this becomes possible, this opens up the ability to bring in all kinds of fictional empires. Star Trek and Star Wars both come to mind with so many different races working and living together. You could also make silly Empires, like Warhammer Fantasy empire that'd start with a pop for every single different Warhammer army. :)

So can this be done? Or is it doomed to being event driven?


Also, with this comes my want for the ability to have different ethics within your species. They could be political, lilke Communists and Capitalists, or they could be cultural, like a 'Northern' fantasy faction that gets militaristic ethos vs a 'Southern' that gets spiritualistic. And, if you've got more than one species in your starting empire, it'd be nice to see the possibility of species specific ethics groups at the start of a game. So Orcs might have a higher chance of being a 'Tribal' ethic group, with militarism and spiritualism, while Humans and Elves might both have a higher chance of being merchants, or something else.

Could a system like this actually be made? Would it have to be universal and random? Could you create these factions yourself during empire-generation?



From what I've seen this could be done but only very clumsily through events. Like I can create en empire with different pops, but they'd have to be coded into the events, so instead of creating an empire I'd be creating a -mod-. I don't believe this can be done at all, but I hope to be proven wrong.
 
I'd imagine it would be possible, but I haven't tried to do something like that.

You'd have to setup a planet_event to create the elf, orc, dwarf etc. species.

Something like this

Code:
planet_event = {
    id = theempire_event.1
    is_triggered_only = yes
    hide_window = yes

    immediate = {
        every_tile = {
            remove_blocker = yes
            create_species = {
                    name = "Orc_pop"
                    plural = "Orc"
                    adjective = "Orc"
                    class = "orc"
                    portrait = "pretty_orc_portrait"
                    traits = {
                        trait = "trait_orc"
                        trait = "trait_moreorcy"
                        trait = "trait_mostestorcy"
                        trait = "trait_pc_continetal_preference"
                    }
                    pops_auto_growth = 1.0
                    pops_can_be_colonizers = yes
                    pops_can_migrate = yes
                    pops_can_reproduce = yes
                    pops_can_join_factions = yes
                    can_generate_leaders = yes
                    pops_can_be_slaves = yes
                    can_be_modified = yes
                    pops_have_happiness = yes
                    pop_ethics = yes
            }
        }
        random_tile = {
            limit = { has_grown_pop = no }
            create_pop = {
                species = "orc_pop"
                ethos = owner
            }
        }
    }
}
 
  • 3
Reactions:
Morrell's example is very close to what I've done in my personal mod, which was to create an "Individualist" empire in which many of the starting Pops have an ethic that diverges from the empire norm.
 
Sorry how late this response is, I was in Denmark. :)

Thanks for the example! I guess it can only be done through events then? That's a bummer, but I'll dig into it. See how far I can take creating / customizing extra pops in your empire when you're in the game at start.
 
It can be done without an event, although you will have to use a modified system initilizer.

I have my homeworld starting off with 3 species
2 minority species
And my primary species which is the majority of the population

@Tiny Turtle
 
  • 1
Reactions:
It can be done without an event, although you will have to use a modified system initilizer.
By going to town on the
Code:
init_effect = {
}
section?

I'd started there, but I found it easier to hook to from prescripted_countries/my_mod.txt with something like:
Code:
my_mod_empire = {
    name="My First Mod"
    ...

    country_event={
        id=my_mod.1
    }
}
as this gave me the full set of event hooks, triggers, effects, etc., plus the potential to fire a dialog to help debugging things.

By the time I was done in /common/prescripted_country and /events .. okay, who am I kidding, I'm never done .. I'd wound up with no functionality left in /common/solar_system_initializers.
 
By going to town on the
Code:
init_effect = {
}
section?

I'd started there, but I found it easier to hook to from prescripted_countries/my_mod.txt with something like:
Code:
my_mod_empire = {
    name="My First Mod"
    ...

    country_event={
        id=my_mod.1
    }
}
as this gave me the full set of event hooks, triggers, effects, etc., plus the potential to fire a dialog to help debugging things.

By the time I was done in /common/prescripted_country and /events .. okay, who am I kidding, I'm never done .. I'd wound up with no functionality left in /common/solar_system_initializers.


Code:
init_effect = {
            create_species = {
                        name = Wizim
                        plural = Wizim
                        class = "MAM"
                        portrait = "human"
                        traits = {
                            trait = "trait_quick_learners"
                            trait = "trait_communal"
                            trait = "trait_charismatic"
                            ideal_planet_class = "pc_tropical"
                        }
                        homeworld = this
            }
            create_species = {
                        name = Venti
                        plural = Venti
                        class = "MAM"
                        portrait = "human"
                        homeworld = THIS
                        traits = {
                            trait = "trait_quick_learners"
                            trait = "trait_communal"
                            trait = "trait_adaptive"
                            ideal_planet_class = "pc_ocean"
                        }
            }
            random_tile = {
                limit = { has_blocker = no has_building = no num_adjacent_tiles > 3 }
                set_building = "building_capital_1"
                add_resource = {
                    resource = food
                    amount = 1
                    replace = yes
                }   
                add_resource = {
                    resource = minerals
                    amount = 1
                }
                ##TEST##
                random_neighboring_tile = {
                    limit = { has_blocker = no has_building = no }
                    set_building = "etech_building_great_pyramid"
                    add_resource = {
                        resource = minerals
                        amount = 1
                        replace = yes
                    }                       
                }
                ##END##                   
                random_neighboring_tile = {
                    limit = { has_blocker = no has_building = no }
                    set_building = "building_hydroponics_farm_1"
                    add_resource = {
                        resource = food
                        amount = 1
                        replace = yes
                    }
                    create_pop = {
                            species = Wizim
                            ethos = owner
                    }                       
                }
                random_neighboring_tile = {
                    limit = { has_blocker = no has_building = no }
                    set_building = "building_power_plant_1"
                    add_resource = {
                        resource = energy
                        amount = 1
                        replace = yes
                    }
                    create_pop = {
                            species = Venti
                            ethos = owner
                    }                       
                }
                random_neighboring_tile = {
                    limit = { has_blocker = no has_building = no }
                    set_building = "building_power_plant_1"
                    add_resource = {
                        resource = energy
                        amount = 1
                        replace = yes
                    }                       
                }
                random_neighboring_tile = {
                    limit = { has_blocker = no has_building = no }
                    set_building = "building_mining_network_1"
                    add_resource = {
                        resource = minerals
                        amount = 1
                        replace = yes
                    }                       
                }               
            }
            random_tile = {
                limit = { has_blocker = no has_building = no }
                set_blocker = "tb_failing_infrastructure"
                add_resource = {
                    resource = engineering_research
                    amount = 1
                    replace = yes
                }               
            }
            random_tile = {
                limit = { has_blocker = no has_building = no }
                set_blocker = "tb_failing_infrastructure"
                add_resource = {
                    resource = society_research
                    amount = 1
                    replace = yes
                }               
            }
            random_tile = {
                limit = { has_blocker = no has_building = no }
                set_blocker = "tb_failing_infrastructure"
                add_resource = {
                    resource = physics_research
                    amount = 1
                    replace = yes
                }               
            }
            random_tile = {
                limit = { has_blocker = no has_building = no }
                set_blocker = "tb_decrepit_dwellings"
                add_resource = {
                    resource = energy
                    amount = 2
                    replace = yes
                }                   
            }
            random_tile = {
                limit = { has_blocker = no has_building = no }
                set_blocker = "tb_decrepit_dwellings"
                add_resource = {
                    resource = food
                    amount = 1
                    replace = yes
                }                   
            }
            random_tile = {
                limit = { has_blocker = no has_building = no }
                set_blocker = "tb_decrepit_dwellings"
                add_resource = {
                    resource = energy
                    amount = 1
                    replace = yes
                }               
            }
            random_tile = {
                limit = { has_blocker = no has_building = no }
                add_resource = {
                    resource = food
                    amount = 1
                    replace = yes
                }               
            }           
        }
 
Wow, okay, that looks pretty much exactly like what I wound up with in my event, give or take that I'm not building great pyramids.

Must've been me struggling to learn the syntax when I couldn't get it to work in the init_effect.