Stellaris
Оценок: 2,920
Carrying Capacity
7
4
16
2
8
2
7
3
5
2
   
Наградить
В избранное
В избранном
Удалить
Размер файла
Добавлен
Изменён
13.876 MB
27 ноя. 2019 г. в 14:17
14 мар. 2023 г. в 10:45
Обновлений: 24 (просмотреть)

Подпишитесь, чтобы загрузить
Carrying Capacity

Описание
Realistic Growth
UPDATE: This mod predates the Pdx population growth rework. It is slightly different- mostly in that there is not an arbitrary logistic growth limit, and this also has a system for robots. Personally, I am happy with the new pdx system (it is much more cleanly implemented). However I keep this mod updated for those who still enjoy it. Recommend setting vanilla Logistic Growth Cap to 1 with this mod. Pop scaling is up to your preference.

Populations grow exponentially, up to the point where pressures from their environment begin to make that unsustainable. The constant, linear population growth in Stellaris has always irked me, so after spending far too much of my free time doing math I present: Carrying Capacity, modeled after how real biological populations work. Population growth speed will no longer be the most powerful modifier in the game, as the population you have is more directly tied to what you can actually support. The goal is to dramatically increase population growth on worlds with room to expand, and rapidly curtail growth as a world fills up so that pops will reach a natural equilibrium and stop growing entirely once a planet is full. This has the nice side benefit of decreasing micro in the late game, as once your planets are at capacity they will stop growing pops naturally, and you wont have to constantly keep adding new buildings for all eternity. No need for that population controls edict, pops will simply stop procreating when they come to the cruel realization that high rents and low job prospects mean their offspring would have little to hope for.

Exponential Growth
Every non-robot pop will increase planet growth speed by 5%. On a newly colonized world, the effect is small, but as you build up a sizeable population the effect will compound. The higher the population, the faster it will grow. Machine and Robot empires have a similar mechanic, but since robots do not reproduce by traditional biological means they do not receive an assembly modifier based on pop size. Instead, they will get additional Replicator or Roboticist jobs based on the size of their population.

Carrying Capacity
Every planet has a Carrying Capacity and a Robot Capacity (displayed as planetary features) that is the ideal population size the planet can support. Capacity is determined by combining the total number of pops and free housing on the planet. Free district slots count as 10 potential housing (2 more than you could get from a max tech city district), meaning that as you develop a planet its capacity will decrease, especially if you build non-city districts. Capacity applies a negative growth modifier that is scaled by the ratio of free capacity left. When your population reaches capacity, the total growth from pops will equal the negative growth from the capacity modifier, and the population will reach equilibrium. Other growth modifiers from medical workers and species traits are multiplied by the effects of capaicity. Exceeding capacity will create scaling emigration push, in addition to stopping growth.

Machines and Robots
Mechanical pops are also limited by the capacity of a planet to support them. Assembly speed is not directly altered by capacity, however a scaling percentage of Replicator and Roboticist jobs will be converted into Master Replicators and Master Roboticists. These jobs increase the output of all robots, but do not assemble any new robots. This means machines will see a simplified version of the organic growth curve, with each inflection point occurring as they gain enough pops to support another Roboticist or Master Roboticist.

Math
I am using the standard mathematical model for biological population growth:
dN/dt = r((k-N)/k)N
N = number of pops
k = Carrying Capacity
r = growth rate constant (an arbitrary constant, but I am using .05 in this case)

Rearrange that to be useful as an additive paradox modifier, and you get:
N - N²/k-N/K

Where the first term, N, is the growth you get per pop. The second term, N²/k is the negative growth from used capacity. This means that as N approaches k, N²/k will approach N, and the whole equation approaches -1, which in paradox math, is -100% growth speed.

Robots get 1 extra assembly job per 25 jobs (or 20 for Machine Intelligences), until they reach 50% of capacity. Then, at every 10th percentile after, 1/5th of their regular assembly jobs will be converted into the Master Replicator variant, creating overall a simplified version of the same biological curve.

Base pop growth has been reduced from 3 to 2, and required machine assembly increased from 100 to 200 to offset how this mod generally increases growth speeds. The colony development speed penalty has been removed.


Note this is just a quick sketch of the new growth curves. Notice there are no actual values, it just shows the overall behavior. Still balancing how this works relative to vanilla, new growth, and new robot growth

This all can be balanced by altering the growth constant r, which right now is 5% per pop for non-robots, and 1 replicator per 20 pops for machines. That will make the curve steeper or shallower. I may also try to make it start slower than in vanilla, then quickly catch up. In my testing so far this number seems right, but I am happy to receive feedback if overall growth seems too much or too little. Mid game, pops should grow much faster, but it will even out as the capacity reductions kick in as your planets fill up.

Compatibility
Save game compatible, can take a year or two for all the capacity modifiers to get applied. Currently supports capacities up to 400 (that is a 5 city district ringworld). Any modded planet type or size that goes beyond this will be treated as a capacity 400 world. Birch Worlds from Gigastructures get a special infinite capacity modifier. Any modded source of pop assembly will also not be offset by carrying capacity, which will allow you to build pops beyond capacity. Ill do my best to account for these as well as they are reported. You can check to see if housing for carrying capacity is being counted correctly by with debugtooltip.

Japanese Localisation
Russian Localisation
Chinese Localisation
Korean Localisation

Try out some of my other Mods



[discordapp.com]
Популярные обсуждения Просмотреть все (8)
69
19 апр. 2021 г. в 13:46
ЗАКРЕПЛЕНО: Compatibility Requests
starchitec
22
26 янв. 2020 г. в 7:12
the math for mixed biological and robot populations
db48x
3
4 дек. 2022 г. в 5:19
Compatability?
Maistronom
Комментариев: 1 144
starchitec  [создатель] 12 мая в 9:58 
yeah, that is maybe the part of this mod that is still relevant, not a bad idea. I would need a simpler way to do it mechanically (the behind the scenes of this mod are a mess since it was implemented before paradox made capacity a thing)
Amentus 12 мая в 6:15 
Any chance of you making a version just for machines? I liked the planets weaning off of robot production instead of building at a constant and having to stop all robot production on a per planet basis.
Dr.Macari 20 фев в 1:09 
The end of an Era. Your mod saved me and my friends a lot, it was essential for playing and balance, one of the best ones in workshop.
ThelianTech 2 янв в 18:08 
Well thats understandable. but I loved this back in the day. and i still feel like this mod is still better than vanillas but i understand if you wont be updating this anymore. loved your work.
Veiden 29 окт. 2023 г. в 0:44 
Your version is better, please update.
starchitec  [создатель] 27 окт. 2023 г. в 11:32 
I honestly use the vanilla version myself now, its good enough. I do wish paradox would lower base growth a bit, but beyond that, it has finally achieved enough of my goals from this mod
raw666 27 окт. 2023 г. в 11:28 
Seems to work with me but been debating getting rid in favor of paradox version.
Shifter 5 окт. 2023 г. в 12:12 
Update when ;-;
Shen The Fool 26 сен. 2023 г. в 22:41 
pls fix the mod, it is not compatible with the 3.9 update. As others have pointed out it crashes every time.
[CN]突击队队员 17 сен. 2023 г. в 2:42 
[17:36:35][effect_impl.cpp:1816]: Error in fire event effect at file: events/!!!00_a_vanilla_megacorp_overwrite.txt line: 35, could not find event: Breakthrough.88
[17:36:35][effect_impl.cpp:1816]: Error in fire event effect at file: events/!!!00_a_vanilla_megacorp_overwrite.txt line: 45, could not find event: MasterNature.1000
[17:36:35][effect_impl.cpp:1816]: Error in fire event effect at file: events/!!!00_a_vanilla_megacorp_overwrite.txt line: 55, could not find event: gpm_terraform.78871

get in there and fix it guys.