So, we all know it currently goes [POPULATION_CAP:#], and quite a few player have differing opinions about migration wave size causing their fortress to grow too fast, or maybe rarely they think its too slow. I have seen suggestions that players actively change the population cap in d_init to indirectly control migration waves, but I have an idea.
Lets change how population cap is inputted in d_init to a multi-step input.
Generic input argument [POPULATION_CAP:#1:#2:#3:#4:...:#n:#n]
How does this work? The game will change the population cap on graduated steps that are fed as inputs. It will base migration and population related stuff off of the first number being the pop cap, and then once the first pop cap is reached, it will read the next input value and change the pop cap to the new value. It keeps doing this until it reads the next pop cap as being the same as the last pop cap, at which point the pop cap is set at the final value.
Example [POPULATION_CAP:10;20;30;30]
How this would play: Population cap is set for 10, once you get 10 pop, it will switch to population cap 20, once you get 20 it will switch to population cap 30, once you get 30, it will read the next population cap as 30, which was same as the last population cap, which will then set the final cap at 30.
I can see this perhaps being less elegant than any other solution for migration waves, and may be more trouble than its worth. But it could be interesting, and would certainly allow for "dwarven society" to set more strict rules or ritual in how many dwarfs should be put in a fortress before any more dwarfs are considered to be placed into a fort.
Second alternative generic input [POPULATION_CAP:S:N:E:F]
How this would work, population cap starts at the value listed in S, it will increase in steps of N, up to a final population cap size of E, the population cap increases at a frequency of F.
Example [POPULATION_CAP:10:20:150:4]
How this specific example would work. Population cap starts at 10, after the population hits 10, the population cap would increase up by 20 to 30 total, this would happen at frequency 4, so from how I imagine it, this would mean that after 4 seasons being at population 10, the cap would then increase to 30. This keeps happening in steps of 20 to the population cap, each time the population reaches the cap it would stay that size for 4 seasons, and this ends with a final population cap of 150.