There are a lot of things the are really cool about Dwarf Fortress, like the fact that you can follow the story of an individual dwarf through his virtual life. And there are a lot of things that are really weird about Dwarf Fortress that it's best not to think about like where most of the stone goes when you hit it with a pick axe and why you don't have to haul it back out, or why carving out the inside of a mountain doesn't leave a mountain sized tailings pile, or teleporting water, or perpetual motion machines.
And then there are the things that don't make sense either within the game world or taken as a game.
Like why in the world do literally hundreds of dwarves want to make their way from their homes in some distant dwarves civilization to make their way to some wild, gods forsaken, place on the border of goblin-lands, where they might at any moment be devoured by a giant grizzly bear, and they won't even have a proper bed when they get there, much less any normal dwarven amenities like hot and cold running water and magma?
Taken as a simulation, this makes absolutely no sense. No sooner have seven unimportant dwarves settled down in the wilds with a single wagon load of low value goods and been dropped off by whatever tame roc brought them there, than 20 or 40 migrants come knocking on their door asking for a job and some space on the floor. What are we, Urist McGalt's Gulch? Is the dwarfish government that hated that people would rather travel 1000 miles across trackless wilderness, face forgotten beasts and goblin hordes without a military, forgo clean water and the safety of a stout drawbridge, forgo even so much as a silver goblet to lift to your lips, and live under the management of 7 dwarves without so much as 4 levels of skill in anything when they left just to get out from under it temporarily? Does, "Hey, there are seven dwarves barely scratching a living out in the wilderness, but they don't seem miserable!", send the teaming masses yearning to be free to us? What in the heck is going on here that I don't have to actually succeed at anything to get hordes of relatively happy, relatively important, relatively high skill, dwarves risking their lives to help out? I'm sure you can retroactively explain any game mechanic, but this is a game that models the melting point of body fat in an effort to have mechanics from first principles so retroactively justifying a game trope seems a bit counter to the thrust of this games development.
The first time I played Dwarf Fortress, I 'beat the game' in a limited sense. Within six years, I was hosting the Monarch as the Mountain Home of my civilization. Yes, I realize that there are other challenges I can set for myself, but really, the only thing I have to do now to keep my fortress alive indefinitely is just not mess up my micromanagement. I could wall the fortress off, and with my 500+ turkeys and startup farm of pigs, and 400 squares of rotating underground crops, I could sustain my fortress pretty much forever in clothes, food, and booze. And since everyone is amazingly happy (that's probably a bug) and since nothing can move through a construction, as long as I keep the booze flowing all the civilization destroying random generated massive creatures in the game could show up and I could thumb my nose at them. And if I was bored, I'd have 200-240 level 20+ dwarf warriors in steel waiting for them, and so far 6-8 have proven more than a match for random titans and forgotten beasts, so just don't open the doors if there is a syndrome bearing critter and don't worry about adamantium because you don't actually need it for anything because it doesn't protect really against anything steel doesn't already protect against. Best block, no be there. This is not FUN.
Much of that can be blamed on the steady supply of immigrants that happens almost immediately. I've seen commentary where the gist of the point was Dwarves were the least valuable resource in Dwarf Fortress because they were the most renewable. That is bad as a simulation and bad as a game. As a simulation, the Dwarves need to mostly be able to replace their own through the normal biological process. It's not like dwarves are coming from the magic cloning center. Children ought to be desirable, not something you send to an atom smasher because they are blocking an immigrant from arriving. As a game, there needs to be a logical progression between being a new fortress with inadequate labor, and being in an end game state where you have abundant skilled labor. In Dwarf Fortress in the present state, you get into the end game in about 18 months of game time. As a simulation, this is nonsense. How did my fortress come to be the most wealthy, most secure, and most famed and desirable fortress in just 5 years out of a history spanning centuries? As a game, this is nonsense.
Taken as a game, immigration utterly ruins the game. Sure, now you have to make a bed and ramp up booze production, but you've got the willing hands to do it. The first few migrations triple or double your labor pool and bring you lots of critical skills missing from your first 7. In fact, in many ways, your first 7 dwarves are the least skilled ones you'll ever have, and even if they get deeper skills than immigrant dwarves, many will never have the breadth of skills the immigrants have. (For why this is stupid, see my post on dwarf educational opportunities.) I have one of the original 7 that has like 24 ranks in mining, a couple of rank 1 skills that date from the first few months when no one was around but the original seven, and zero social skills after 6 years in the fortress. And he's pretty typical. The fact that early on when I had few resources and was just learning the game, a few dwarves died or were maimed was meaningless, because here comes 15 or 30 more to replace Urist. Barring an early bit of bad luck, or simple micromanagement burnout leading to a mistake, it would be very hard to have your fortress crushed because attrition is meaningless. You don't have to take care of your dwarves. And that above anything else, ruins what makes this game great. DF is Lemmings where the lives of your individual Lemmings become meaningful and personalized and you care about them. If you don't have to care about them, you don't have a great game.
So, how to fix this:
1) The maximum number of immigrants at any time should normally be no more than 1/2 your current dwarves, or 1/10 your maximum population, whichever is smaller. I say normally, because I'm going to define a term here: "economic migrants". Economic migrants are dwarves that are coming to your fortress for a better life, specifically for economic reasons. I'm going to assume that almost all the dwarves arriving at current fortresses are dwarves of this sort. I'll consider exceptions later, but for now let's consider the these economic migrants.
2) Obtaining the maximum number of economic migrants in a single season should be very difficult. The percentage of dwarves that actually show up should be limited by all the following:
a) Lack of Displayed Wealth: You shouldn't get the maximum amount with less than say 20,000 displayed wealth per dwarf in the fortress. Economic migrants are attracted to the promise of wealth. If you aren't displaying wealth, rumors about your wealth shouldn't be attracting dwarves to the fortress.
b) Lack of Happiness: You shouldn't get the maximum amount of immigrant dwarves if the average happiness of dwarves currently in your fortress is less than happy. No one will want to immigrate anywhere that has a reputation for misery.
c) Lack of Government/Security/Fame: Dwarves associate security with the presence of nobles of Baronial rank. Dwarves are social creatures with a strong sense of loyalty to their civilization and their heritage. The more Barons, Counts, Dukes, and Monarchs in your fortress, the more security the fortress is perceived to have. Without sufficient nobles in your fortress, few dwarves are going to want to risk it. Right now in terms of game play, nobles only serve to artificially increase the difficulty of the game in minor ways. Why do you want nobles in your fortress? Because nobles are what attracts migrants. Indeed, nobles are one of the things that attracts desirable migrants, since important and skillful dwarves are only going to want to serve other important, wealthy, famous dwarves. More on this later.
d) Distance to the nearest outpost of civilization: If you pick a settlement on the other side of the world from the nearest outpost of your civilization, good luck on getting a lot of migrants.
e) Intervening Hazards: If there are Evil lands, howling wildernesses, and goblin civilizations between your settlement and your civilization, most anyone that tries to immigrate is going to die on the way or never dare such a risky journey in the first place. Those that arrive, should on the other hand be more likely to have military skills.
Early on, you should feel good getting 1-2 additional migrants per season added to your fortress. This also means that there is value early on in displaying wealth, and not just in attracting a caravan. If you want new residents, you want to advertise your fortress. Get lots of new migrants, enough to replenish losses from a bad season, should only happen relatively late in the game. The possibility of losing a fortress to attrition, because the death rate is not high enough to sustain all the dwarves you are losing should be very real.
3) The more economic migrants you get at a time, the less desirable that they should be.
Early on, when one dwarf shows up in your hole in the ground in the wild wilderness, he or she is probably the same sort of pioneer dwarf that your original 7 were. They should on average have 1 or 2 useful skills, and a small amount of equipment suitable to a traveler. They probably have a weapon, because otherwise they wouldn't have survived getting here. They are probably only slightly stressed. They might even show up with a donkey or wardog other handy pet. However, the more wealth and fame your fortress has, the more likely it is to attract the tired huddled dwarf masses who see your fortress as a land of opportunity. These tend to on average be peasants with nothing more than the clothes on their back, and they tend to be rather stressed from their journey.
4) The more nobles you have, the more likely you are to get desirable migrants. To counterbalance this trend of success leading to worse migrants, you have to have nobles, which improve average quality of the migrants. Dwarves with professional or higher skill in something shouldn't be showing up at all unless you have a lot of nobles. Professionals and masters want to serve in noble courts, where they can enjoy prestige and patronage of the rich and powerful families and obtain the best and most desirable marriages and alliances, and the most desirable apprentices and apprenticeships. The same is true of mighty dwarf warriors, who only want to pledge their fealty to the most noble dwarf houses. Having the banner of a mere Mayor of a minor hamlet on your shield is no way to demonstrate your honor. Mighty dwarven knights want to serve under the King or a Duke! Scholars and surgeons and great artisans are much the same.
5) All things being equal, economic migrants are most likely to be relations and friends of dwarves already present in the fortress. Once the number of dwarves is decided, and the general quality calculated, a decision should be made if any of these candidate dwarves could be represent relatives of existing dwarves. There is absolutely no reason why families, pining for each others company, should remain separated unless the dwarves are writing letters back home saying things like, "Don't come here! There are no places to sleep, no mugs, and hordes of elephants trample everything! I wouldn't want you to join me in this gods forsaken wilderness." If dwarves are happy, they should be sending for their relatives.
6) With no guarantee of large number of migrants, other means of increasing the numbers of your dwarves become much more important With the expectation that the first 5 or 10 years of your fort will have fairly small numbers of dwarves with little micromanagement and little lag, growing children into useful citizens becomes more necessary. Likewise, right now there is little reason to open Inns or Libraries or Temples to outsiders, because you are just getting loafers that don't do much for your fort. But, if these visitors could be induced to become long term citizens and eventually apply for citizenship, then actually opening a tavern in the wilderness might not be a bad idea... even before economy gets tweaked and visitors pay for their drinks. How else are you going to get that skill 10 mercenary or skill 9 scholar into your citizenry this early in the game? I suggest that visitors should be more willing to apply for citizenship once they are happy long term visitors. Right now, at least for me, it didn't happen at all until I was the Mountain Home, and even then its been a fairly slow process. Using locations to increase your effective immigration rate should definitely be a thing.
7) Refugees should be a separate thing from migrants: I think something like this is planned, but ideally the arrival of refugees should be semi-random events that can occur at any time. Refugee arrival should be triggered by the Refugees are created event in the world engine, and scheduled for some future season in whatever numbers based on distance from the event. Far away events might send no refugees your way, while being the closest outpost to the event would be very likely to send refugees your way. Unlike economic migrants, refugees should be extremely varied in nature. Some might arrive with nothing, not even clothing. Most will have worn clothing. Some might arrive with heavy weaponry, as veterans of battle and have extra military skill. Some might even arrive as families with wagons and a load of basic quality goods, or even with artifacts rescued from other fortresses. However, they should all arrive as high stress, unhappy, and potentially volatile dwarves. Some might be only slightly stressed, and some might be PTS basket cases, but the arrival of refugees should be a mixed blessing. How many arrive should be calculated similarly to economic migrants with the addition of adding the calculation of whether they are from your civilization (relatively small numbers of refugees might arrive from other dwarf civilizations or even allied human civilizations. I'm not sure about elves, but perhaps if you're maintaining a no wood cutting policy?), but the caps should be based on the size of the fortress they are arriving from. So under the best (worst?) conditions you might find a comparative horde has arrived. I think it's reasonable that you could turn away refugees, with a few caveats. If you do, all high empathy dwarves in your fortress get unhappy thoughts, and/or may suddenly get grudges with the mayor. Hospitality is presumably a prized virtue among dwarfs. Secondly, the refugees get unhappy thoughts, may start brawls, and the whole group may occasionally turn hostile especially in the rare case they outnumber the residents, but also in any case when the group isn't from the same civilization. Thirdly, whatever source civilization the refugees hail from get the equivalent of an unhappy thought, similar to robbing one of their caravans, treble so if the refugees end up dead (even if they started it). Refugees you lock out of the fortress without an audience probably should just go insane, poor things.
Part of this reform is motivated by me noticing that the most fun I had playing the game was in the first year or so, when I knew every dwarf by name and had some idea who they were and what they meant for my fortress. The death of any one of them would have hurt. Then, very quickly, I moved into a second phase where dwarves were divided into two groups - oldbies (meaning they'd got their in the first year) and newbies. During this phase, if anyone got hurt, I was like, "Please don't let it be Urist." (Or Bim, or Fath, or whomever). But then, as the number of dwarves kept skyrocketing every year far faster than I could get to know each new arrival, I stopped caring completely. It was too much to keep track of. I've got 240 dwarves now, plus 62 visitors, plus 11 long term visitors, plus 600 animals. Someone emotes something and I'm like, "Who?" or "Why haven't I given you a job to do?" or just, "Ok, just die. I don't care." Plus, my framerate now sucks. It's effectively the end game, yet I feel I just started this fortress in some sense.