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

Pancakelord

Lord of Pancakes
44 Badges
Apr 7, 2018
3.375
12.292
  • Cities: Skylines - Green Cities
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Ancient Relics
  • Cities: Skylines - Mass Transit
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Imperator: Rome
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Cities: Skylines Industries
  • Imperator: Rome Deluxe Edition
  • Magicka: Wizard Wars Founder Wizard
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Stellaris: Necroids
  • Sword of the Stars
  • Crusader Kings III
  • War of the Roses
  • Cities: Skylines
  • Stellaris: Federations
  • Cities: Skylines - After Dark
  • Cities: Skylines - Snowfall
  • Stellaris: Lithoids
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Stellaris - Path to Destruction bundle
  • Stellaris: Megacorp
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
  • Stellaris
  • Cities: Skylines Deluxe Edition
  • Sword of the Stars II
  • March of the Eagles
  • Darkest Hour
Can we have Imperial Authority?
1614132780271.png

We have Imperial Authority at home.

Imperial Authority at home:
1614134620584.png


Was screwing around with more efficient ways of firing rebellions and figured... yes. Why not call it this.

For now it's just updating randomly, following a normal(ish) distribution. But want to see if there's an efficient way of polling planet stability, or if there are any aggregated measures for stability on a per-sector basis (probably not but one can hope). That can then be used to apply skewness to the base curve and an unstable empire will lose authority more often each month than gain it, which can act as a hook for rebellion / sector uprising events. & factions
1614134803815.png
1614135590552.png
 
Last edited:
  • 3
  • 1Haha
Reactions:
This is quite epic. But seriously good idea. This would be great with potent rebelions but probably mod compatability hell. But this seems like your making better potent rebelions.
 
  • 1
  • 1Like
Reactions:
Is this a mod that you are making inspired by the Imperium mechanics in Nemesis?
A little. I've been working on this for a while. but it's basically fighting with game systems at every step, as Stellaris is rather bare-bones when it comes to internal politics. Though Nemesis has given me some Ideas on how to proceed.

In theory the Empire Authority Level would be a general measure of how stable / decadent / unified your empire is. If it's high not much happens (say 55% +) but if it's low it should be a way to fire off rebellions - e.g. have an event "listen" for when the counter is <50% to trigger protests, <40% to trigger armed riots, <30% to trigger attempts to overthrow random unstable worlds, <15% to trigger civil wars vs sectors rising up. And this would ideally all be crammed into its own self-consistent event chain, that's running both off this counter + local (scoped) planetary properties.

The problem is finding a performative way to measure planetary stability, on an empire-wide basis, that can scale well into the late game.
 
Last edited:
A little. I've been working on this for a while. but it's basically fighting with game systems at every step, as Stellaris is rather bare-bones when it comes to internal politics. Though Nemesis has given me some Ideas on how to proceed.

In theory the Empire Authority Level would be a general measure of how stable / decadent / unified your empire is. If it's high not much happens (say 55% +) but if it's low it should be a way to fire off rebellions - e.g. have an event "listen" for when the counter is <50% to trigger protests, <40% to trigger armed riots, <30% to trigger attempts to overthrow worlds, <15% to trigger civil wars vs sectors rising up.

The problem is finding a performative way to measure planetary stability that can scale well into the late game.
Could their be a way to check this from the GUI without having to open anything. I have an idea on how to do this. A new strategic resource that wouldn't be used for anything. That would change in amount depending on this number.
 
Could their be a way to check this from the GUI without having to open anything. I have an idea on how to do this. A new strategic resource that wouldn't be used for anything. That would change in amount depending on this number.
Yeah I've thought about adding a scripted resource, one that produces a range of -5 - 0 - +5 depending on planetary stability, and then clamping the stockpile to be 0 and testing income levels, but it still means youre updating resource output based upon planet stability (i.e. if Stab 30 <>39 output -3 "STAB_RES"), when I can just scan the planet via script directly in event. So not sure if it's really worth it.

Alternative Ideas i've had are forcing pops to consume unity if they're unhappy... but we all know where pop checks go (nowhere good).
 
Yeah I've thought about adding a scripted resource, one that produces a range of -5 - 0 - +5 depending on planetary stability, and then clamping the stockpile to be 0 and testing income levels, but it still means youre updating resource output based upon planet stability (i.e. if Stab 30 <>39 output -3 "STAB_RES"), when I can just scan the planet via script directly in event. So not sure if it's really worth it.

Alternative Ideas i've had are forcing pops to consume unity if they're unhappy... but we all know where pop checks go (nowhere good).
If you do it dont forget to make it compatable with universal resource patch!
 
Yeah I've thought about adding a scripted resource, one that produces a range of -5 - 0 - +5 depending on planetary stability, and then clamping the stockpile to be 0 and testing income levels, but it still means youre updating resource output based upon planet stability (i.e. if Stab 30 <>39 output -3 "STAB_RES"), when I can just scan the planet via script directly in event. So not sure if it's really worth it.

Alternative Ideas i've had are forcing pops to consume unity if they're unhappy... but we all know where pop checks go (nowhere good).

May i suggest to check factions happines with a modifier based on theyr popularity ? ... it would have less to do with actual happyness of the pops , but you can create the rebels based on the most powerful unhappy faction ethics . And based the events on theyr demands.
 
Wow @Pancakelord is this the foundations of a mod?

I don't know if you have seen my messages around here before, but I CONSTANTLY claim that the most outstanding thing lacking in Stellaris is something around the lines of what the OP is showing.
 
Wow @Pancakelord is this the foundations of a mod?

I don't know if you have seen my messages around here before, but I CONSTANTLY claim that the most outstanding thing lacking in Stellaris is something around the lines of what the OP is showing.
Yes I want to bring back the old pre-utopia faction interactions the game had with rebellions [planetary uprisings leading to secession/independence or civil wars, multiple rebels appearing and combining etc].

But 1.5+ factions lack the code needed to do that on their own (despite extensive testing) and some sort of helper event chain is needed (despite me wasting a few weeks trying to do it without substantial event frameworks and making factions drive everything - as, events are prone to breaking each time PDX does a scripting update or bigass patch and I want to design the mod to be "low maintenance" if I can).

I'm currently thinking to use the counter in the OP as a country-specific tracker (so each country runs its own tracker - including AIs, maybe with an option to make it player only if this really does end up being CPU heavy, hopefully not though, I'm the kind of person that wants the AI to do as much as the player does) and then dividing up the number range (0-100) into 5 levels of stability [below bar array] which act as thresholds/ triggers for rebellion event chains, secession so on. It seems like this is the only practical way to run this. POIs (e.g. like how the situation log can track precursor events or interesting locations for quests) could be applied vs worlds with uprisings on them. something like "Uprising here" "Rebellion here" etc. So the base UI is pretty robust, if youre willing to get creative.

.
1614191750622.png
.
Right now i've got it setup for a "constructive" wave - the more stable you are, the more stable you become - and vice versa. Though this is just for testing.
A more "fun" (IMO) setting would be a destructive wave. I.e. the more stable your empire is, the more likely it is to become less stable - and vice versa.
This also prevents "death spiral" syndrome: You'd have to work harder to be stable, and multiple rebellions wouldnt be as crippling.

Right now the counter follows a purely random bell curve (yellow curve above) increasing or decreasing EAL at random. Though, I'm still trying to find a good way to update the EAL - have tried generating 5 states for it to flip between depending on empire authority levels[handled via flags or emp modifiers for now] (which are all the other curves above) or skipping special states and
  1. handling it "mathematically" via events / faking it (this is the constructive/destructive thing above) - but its divorced from how your empire is actually running.
  2. handling "realistically" via actually inspecting your colonies and using this to bias the increase/decrease odds.
I'd like it to be the latter, but the thought of polling planets each month late-game makes even my CPU start to smell like fried egg. Maybe sampling is an option. Lots to think about.

Depending on how busy/tired work keeps me, I should have something good "soon".
 
Last edited:
Turns out the situation log counter system doesnt actually work very well as a sliding % meter (not that it's much of a surprise as it wasnt ever intended for this)
....
So I built my own.... all it took was generating everything from scratch in excel and porting it over to VS code.
generating the code
1614301560686.png

generating the probabilities (because random_list (the modding effect) does NOT support fking pre-scripted values)
1614301750671.png
1614301831323.png

For now it's a slightly modified normal distribution (with the dist becoming non-normal at the 0% and 100% marks, as your empire authority cant go outside of 0-100%)

Generating the scripted localisation
1614301927493.png

And the localisations themselves
1614301970032.png


Then this is all fed into script and tidied up if needed (not much is)
1614302339753.png
1614302636440.png


And what happens is each month the game assigns a flag between 000 and 100 to each empire, and bumps it up or down "randomly" based on my pre-computed probabilities, the current flag (e.g. eal_067) is then used to output text (your "EAL is 67%")

The next step from here is to edit the text in the situation log to show this (right now ive just got it updating each month in the console window.

Then assign categorical flags which the game will actually use as hooks (e.g. eal_000-eal_025 flags = empauth_very_unstable, eal_026-40 empauth_unstable etc) these flags are then listened for (e.g. every 6 months or 12 months) and if you happen to have one, and maybe a planet with both robots and spiritualists on it, the game rolls a dice and fires a "religious riot event" which - depending on your response, goes away - or could get worse.

eventually I want to set up 3 states an unbiased drift (so you tend to hover roughly around the 40-60% range) and a positive drift + negative drift (hovering near the edges of the 0-100% range) and the game would pick which to use based on a "final" set of flags it determines... by polling planets for crime, stability, happiness and generating a "scorecard" value. This means that your empire being run like crap will cause your EAL to drop a lot more than one run well (though events could still bypass this to shake things up). But that's for me to think about later.


Modding in Clauzewitz games is easy... if youre working within the confines of established features set by the devs (e.g. adding a new civic).

Trying to implement a new framework from scratch... that's a ballache and a half. What i've created here, is effectively the empire stability meter in Imperator rome - or the old one anyway. I havent played any recent versions of that game after its overhauls.
 
Last edited:
Turns out the situation log counter system doesnt actually work very well as a sliding % meter (not that it's much of a surprise as it wasnt ever intended for this)
....
So I built my own.... all it took was generating everything from scratch in excel and porting it over to VS code.
generating the code
View attachment 686106
generating the probabilities (because random_list (the modding effect) does NOT support fking pre-scripted values)
View attachment 686109View attachment 686110
For now it's a slightly modified normal distribution (with the dist becoming non-normal at the 0% and 100% marks, as your empire authority cant go outside of 0-100%)

Generating the scripted localisation
View attachment 686111
And the localisations themselves
View attachment 686112

Then this is all fed into script and tidied up if needed (not much is)
View attachment 686114

And what happens is each month the game assigns a flag between 000 and 100 to each empire, and bumps it up or down "randomly" based on my pre-computed probabilities, the current flag (e.g. eal_067) is then used to output text (your "EAL is 67%")

The next step from here is to edit the text in the situation log to show this (right now ive just got it updating each month in the console window.

Then assign categorical flags which the game will actually use as hooks (e.g. eal_000-eal_025 flags = empauth_very_unstable, eal_026-40 empauth_unstable etc) these flags are then listened for (e.g. every 6 months or 12 months) and if you happen to have one, and maybe a planet with both robots and spiritualists on it, the game rolls a dice and fires a "religious riot event" which - depending on your response, goes away - or could get worse.

Modding in Clauzewitz games is easy... if youre working within the confines of established features set by the devs (e.g. adding a new civic).

Trying to implement a new framework from scratch... that's a ballache and a half.
This is slightly unrelated. But for your wormhole drives mockup may i suggest making it a megastructure instead of a decision? That way you can build them in systems without habitable planets/outside your territory(like you could in 1.9). Also how would requesting wormhole station access work?
In addition there is a mod called aggressive crisis engine that adds in wormhole stations for the contingency. Perhapse you could contact the author of the mod and see how they did it? The wormhole stations only allow defensive fleet recalls tho. Also what is your steam workshop page? I want to follow you there.
 
1614307750263.png

1614308334621.png


Still needs tweaking and testing but works Ok! The percentage changes according to flags, and the word next to it updates by flagged thresholds based on below:
1614307851313.png

empauth_low and very_low will be the main drivers for predictably spawning "negative factions" and events {e.g. uprisings], with a smaller chance for the average state. And some could be positive only. idk megacorp lobbyists and immigration factions or something.

Also works on AI
1614308780455.png
 
Last edited:
  • 1Like
Reactions: