Now that Stellaris is starting to really work on improving performance with their updates, I have to ask:
Why was Stellaris Late Game Pop Lag (patent pending) ever a problem to begin with?
Now, nobody needs to be reminded that this was (and likely will be for a few updates more), in fact, a problem that needs fixing. But I'm not here just to complain about the fact that entire playthroughs turn genocidal just so the game runs at a playable speed, or the fact that the meta favors rushing planet busters as fast as humanly possible not because of in-game reasons, but because it's the only way to keep the galaxy's population from breaking your PC. Oh, and I certainly don't need to mention that the exponential increase to Pop growth cost on a per empire basis not only does weird things to game balance and opens up some... unusual ways to cheese the system, but only delays the inevitable.
No, ranting about that now that performance is finally being worked on would be in poor taste. I'm here to talk about a solution. And while I'm no programming expert, I know enough to say with a little confidence that - unless Stellaris's pop code is REALLY wonky - this change should be easier to implement than some other changes made to the game over the years, and is definitely important enough that it's worth the effort.
And that solution can be found in the Victoria series. (Also made by Paradox.) Victoria 2 also tracks population, Victoria 2 tracks much larger populations than Stellaris - so what's the difference? Why doesn't this lag the hell out of Victoria 2 like it does Stellaris?
Because Victoria 2 internally tracks its "pops" as overall statistics, and Stellaris internally tracks pops as individuals. And to avoid any possible misunderstanding as to what I mean by this, I'm going to use an example!
Stellaris as it is now, internally tracks a planet's pops like this:
Pop 01
Species: Flibbit
Ethos: Egalitarian
Job: Miner
Stratum: Worker
Pop 02
Species: Flibbit
Ethos: Militarist
Job: Miner
Stratum: Worker
...and so on and so forth, with an entry for each pop on the planet.
If Stellaris internally tracked pops like Victoria 2, it would track a planet's pops like this:
Worker Stratum
20 Egalitarian
5 Authoritarian
7 Militarist
10 Xenophile
Miners
35 pops
21 Flibbits, 8 Biffits, 6 Blorgs.
Clerks
7 pops
7 Biffits
...with similar entries for the other stratums.
Notice how information on 42 pops was delivered using Victoria's method in about the same amount of space it took Stellaris's to elaborate upon 2? That's a lot less variables for the game to track, which means less lag.
So why doesn't Stellaris track pops this way? Well, as those who have been around for a while already know, originally pops were on a grid - with all these wacky adjacency bonus and tile based shenanigans. Back then, which pop had which ethos and was where actually mattered. And back then, a planet only held 25 pops at MOST.
Now, though? Who cares whether those 7 militarist pops are Flibbits or Blorg? Who cares if they're miners or clerks? As long as all seven are from the worker stratum, their political influence is the same - and if that information isn't important in any way shape or form, why does the game track it? This isn't The Sims or Crusader Kings, nobody is checking in on individual specific pops to see what they're up to and how they're doing!
Not to mention that the vast majority of the time, these statistics are how the player sees pop related data. I would probably just assume the game ALREADY tracked pops this way if it weren't for two things:
The fact that I can check the ethos of each individual pop - as well as some other things, like whether they're currently demoting or still upset that they used to be a slave.
And, perhaps more importantly, the very existence of pop lag to begin with. A 7 doesn't make more lag than a 4, if pops were just statistics in the game files then how many pops there were on a planet wouldn't make a difference.
But, how would this affect the players? (Aside from reducing lag, of course.) Well, it wouldn't. Only two minor changes would need to be made, and even then I can think of ways to get around them.
The first is pop demotion and similar pop behaviors - which could be easily fixed by making them demote faster, but only one at a time... or just attaching the data to the planet rather than the pop. (There are 3 Blorgs currently demoting is all the player needs to know.)
The second is ethos. The player wouldn't be able to click on individual pops to see what their ethos is anymore, but, again, who cares? In fact, why is pop ethos still tracked as solid numbers instead of percentages? I mean, usually that's how the player perceives it. I don't care how many authoritarian pops there are on this planet total, I care what portion of the planet's population they comprise - and maybe what stratum they're in.
Not to mention that a pop is definitely WAY more than just one person. Sure, the exact amount of people that make up a pop is deliberately left vague, but even if we lowball it and say one 20 Pop planet has a population of just 1 billion (less than a seventh of the population of Earth) that still puts 1 Pop at 50 million people! And you mean to tell me ALL 50 million are authoritarian? Plus, tracking the constant ethos shifting of individual pops has GOT to contribute to the lag problem. Just say that 32% of the planet's worker stratum is authoritarian and leave it at that. Heck, the total doesn't even have to add up to 100% - after all, some people could support materialist AND authoritarian policies, or some people might just not be invested in politics.
Combine this with some changes to AI to make them less zealous with creating new species, and some auto-cleaning that - every month or so - deletes every species template with no pops either actively part of the template or being converted to it... and Stellaris Late Game Pop Lag should be all but dead and gone.
The only real remaining source of lag at this point should be fleets and armies, and the performance updates Paradox already has brewing should be enough for that.
Why was Stellaris Late Game Pop Lag (patent pending) ever a problem to begin with?
Now, nobody needs to be reminded that this was (and likely will be for a few updates more), in fact, a problem that needs fixing. But I'm not here just to complain about the fact that entire playthroughs turn genocidal just so the game runs at a playable speed, or the fact that the meta favors rushing planet busters as fast as humanly possible not because of in-game reasons, but because it's the only way to keep the galaxy's population from breaking your PC. Oh, and I certainly don't need to mention that the exponential increase to Pop growth cost on a per empire basis not only does weird things to game balance and opens up some... unusual ways to cheese the system, but only delays the inevitable.
No, ranting about that now that performance is finally being worked on would be in poor taste. I'm here to talk about a solution. And while I'm no programming expert, I know enough to say with a little confidence that - unless Stellaris's pop code is REALLY wonky - this change should be easier to implement than some other changes made to the game over the years, and is definitely important enough that it's worth the effort.
And that solution can be found in the Victoria series. (Also made by Paradox.) Victoria 2 also tracks population, Victoria 2 tracks much larger populations than Stellaris - so what's the difference? Why doesn't this lag the hell out of Victoria 2 like it does Stellaris?
Because Victoria 2 internally tracks its "pops" as overall statistics, and Stellaris internally tracks pops as individuals. And to avoid any possible misunderstanding as to what I mean by this, I'm going to use an example!
Stellaris as it is now, internally tracks a planet's pops like this:
Pop 01
Species: Flibbit
Ethos: Egalitarian
Job: Miner
Stratum: Worker
Pop 02
Species: Flibbit
Ethos: Militarist
Job: Miner
Stratum: Worker
...and so on and so forth, with an entry for each pop on the planet.
If Stellaris internally tracked pops like Victoria 2, it would track a planet's pops like this:
Worker Stratum
20 Egalitarian
5 Authoritarian
7 Militarist
10 Xenophile
Miners
35 pops
21 Flibbits, 8 Biffits, 6 Blorgs.
Clerks
7 pops
7 Biffits
...with similar entries for the other stratums.
Notice how information on 42 pops was delivered using Victoria's method in about the same amount of space it took Stellaris's to elaborate upon 2? That's a lot less variables for the game to track, which means less lag.
So why doesn't Stellaris track pops this way? Well, as those who have been around for a while already know, originally pops were on a grid - with all these wacky adjacency bonus and tile based shenanigans. Back then, which pop had which ethos and was where actually mattered. And back then, a planet only held 25 pops at MOST.
Now, though? Who cares whether those 7 militarist pops are Flibbits or Blorg? Who cares if they're miners or clerks? As long as all seven are from the worker stratum, their political influence is the same - and if that information isn't important in any way shape or form, why does the game track it? This isn't The Sims or Crusader Kings, nobody is checking in on individual specific pops to see what they're up to and how they're doing!
Not to mention that the vast majority of the time, these statistics are how the player sees pop related data. I would probably just assume the game ALREADY tracked pops this way if it weren't for two things:
The fact that I can check the ethos of each individual pop - as well as some other things, like whether they're currently demoting or still upset that they used to be a slave.
And, perhaps more importantly, the very existence of pop lag to begin with. A 7 doesn't make more lag than a 4, if pops were just statistics in the game files then how many pops there were on a planet wouldn't make a difference.
But, how would this affect the players? (Aside from reducing lag, of course.) Well, it wouldn't. Only two minor changes would need to be made, and even then I can think of ways to get around them.
The first is pop demotion and similar pop behaviors - which could be easily fixed by making them demote faster, but only one at a time... or just attaching the data to the planet rather than the pop. (There are 3 Blorgs currently demoting is all the player needs to know.)
The second is ethos. The player wouldn't be able to click on individual pops to see what their ethos is anymore, but, again, who cares? In fact, why is pop ethos still tracked as solid numbers instead of percentages? I mean, usually that's how the player perceives it. I don't care how many authoritarian pops there are on this planet total, I care what portion of the planet's population they comprise - and maybe what stratum they're in.
Not to mention that a pop is definitely WAY more than just one person. Sure, the exact amount of people that make up a pop is deliberately left vague, but even if we lowball it and say one 20 Pop planet has a population of just 1 billion (less than a seventh of the population of Earth) that still puts 1 Pop at 50 million people! And you mean to tell me ALL 50 million are authoritarian? Plus, tracking the constant ethos shifting of individual pops has GOT to contribute to the lag problem. Just say that 32% of the planet's worker stratum is authoritarian and leave it at that. Heck, the total doesn't even have to add up to 100% - after all, some people could support materialist AND authoritarian policies, or some people might just not be invested in politics.
Combine this with some changes to AI to make them less zealous with creating new species, and some auto-cleaning that - every month or so - deletes every species template with no pops either actively part of the template or being converted to it... and Stellaris Late Game Pop Lag should be all but dead and gone.
The only real remaining source of lag at this point should be fleets and armies, and the performance updates Paradox already has brewing should be enough for that.
- 4
- 2
- 1