Emigration

I haven't looked into it but I'd highly suspect smoothing the unhappiness curve will require c++ access. It's a rather core element of the game.

Honestly, it feels weird that happiness smoothly curves up in golden-age value, but unhappiness has jerky hops in effect. It's just annoying to be honest, puppet some city and you might drop from happy to angry, then back up to unhappy, jitters around too much. The transitions aren't consistent in effect either. Should be smooth... like -10% population growth (<=-100%), -3% unit strength (<=-75%), and -3% production (<=-75%) for each :mad:. Overall effect would be the same at 10:mad:, and the stability of your empire would keep deteriorating from there.

Still, this is a little off-topic from your mod, though it relates to the same problems with unhappiness.
 
Cities with 1 population can go to 0. Saw it last night. Doesn't crash the game and the city will grow to 1 again provided happiness goes up sufficiently. I don't know if this has anything to do with my scenario not allowing city razing.
 
This mod is very good indeed! Keep the good work!

About getting a bonus in a city that receives any emigrants, it's a good idea, but it shouldn't be too much, or else things can go unbalanced. The growth is already a good reward, and small culture and gold rewards, like 10 culture and 25 gold (just an example) would fit just nice. Maybe in different eras the rewards could change?...

A question: has anybody pay any atention to the cities where the emigrants "go"? I mean, if they are closer to the civ where the emigrants come from or if it's a random city that receives them...
 
Nice one.

I think the civ they leave should get a temporary happiness bonus (few turns) not the receiving one, for two reasons:
- in the game the absolute majority of unhappiness is caused by population number, so its logical that some people leaving makes the rest a bit less worried. If you think its stupid, than you are right, but that is because the game uses some twisted logic.*
- for gameplay reasons this would prevent instantly losing large populations from small downturns, giving you some time to try and fix the situation.


*When did people get unhappy for being "too crowded", even if their life standards were great? The exact opposite, actually.
 
puppet some city and you might drop from happy to angry, then back up to unhappy, jitters around too much. The transitions aren't consistent in effect either. Should be smooth... like -10% population growth (<=-100%), -3% unit strength (<=-75%), and -3% production (<=-75%) for each :mad:.
sounds reasonable.

Is this mod compatable with saved games? Thanks in advance
yes it is. i believe i checked this option, it has to be displayed somewhere in mod details i think.

Shouldnt emmigration need a border to the civ it migrates to?
good idea, although complicate things much. e.g. there may be an another coutry that borders both as a transit point of route, or water/road way, these are factors not less deserving to be included in calculation. add all this up and you'll get a pile of code for quite a slight modification.

I think the civ they leave should get a temporary happiness bonus (few turns) not the receiving one, for two reasons:
- in the game the absolute majority of unhappiness is caused by population number, so its logical that some people leaving makes the rest a bit less worried.
i concur with this and the reasoning is fine. i'll see if i can add temporary happiness bonus.
 
I have not tested this yet, but the concept looks very good! It already helps smoothing the happiness curve, as whenever your empire is unhappy population will emigrate and it will get happier, and when your empire is happy it will receive emigrants and will get less happy.


I don't see any reason to add things like increased effects or temporary bonusses.
 
I have not tested this yet, but the concept looks very good! It already helps smoothing the happiness curve, as whenever your empire is unhappy population will emigrate and it will get happier, and when your empire is happy it will receive emigrants and will get less happy.


I don't see any reason to add things like increased effects or temporary bonusses.

Not sure I think increased effects or temporary bonusses are necessary as well, but if you add them you can get slick and make the bonusses relevant to the city it left (e.g., major gold producing city, then get a gold bonus etc). But most likely any poor sap who is leaving probably is pretty poor in the first place. That is for the most part the history of emigration no?

One thing I think that might make sense though is to have the chance of people leaving start very small and increase over time. That way a turn or 2 of unhappiness won't likely cause you to lose anybody but after several turns people may be leaving in droves (this parameter would need to reset once happiness is achieved again, or better yet decay over time once happiness is achieved with decay faster the happier they are).

Regardless though, great mod :goodjob:
 
excelent mod. one issue ive noticed is that ive been getting imigrants from my own cities. i get a message saying 'one of your cites has recieved an immigrant from the russian empire' (or whatever) but IM the russians... and have 46 happiness...
 
i get a message saying 'one of your cites has recieved an immigrant from the russian empire' (or whatever) but IM the russians... and have 46 happiness...

Oops thats a bug. actually that emigrant was from another empire, but the script uses a name of yours for notification mistakenly.

Thanks for report much!
 
Why not just keep a running average of happiness from the last 10 turns or so, adjusted by game speed? This would solve all "spikes of temporary unhappiness" problems and simultaneously have a 'cascading' effect as unhappiness rises.

  • If the empire has negative happiness at the start of a turn, use the running average to determine the probability of emigration.
  • If the empire is happy, keep tracking the average, but without emigration taking place.

This will eliminate spikes in levels from turn to turn, and help people react to recent unhappiness changes if their empire had overall been happy for a while. A short dip into unhappiness won't have a big effect, but staying there for more than a dozen turns will start to result in a mass exodus.

In addition, when emigration occurs it might be logical for cities with puppet or occupied status to have a higher probability of being chosen than normal cities (if you don't do this already).
 
I haven't tried your mod yet, but will after I finish my current game - it's a great idea. Looking at the code though, it looks like emigration happens every turn that your nation is unhappy - is that right?

Seems a bit severe if that is the case. I was thinking - what if you kept a running total, adding the unhappiness to the total every turn. Then when a certain threshold is reached, the emigration occurs and total resets. This way severely unhappy nations will quickly lose people, but those that have the occasional dip into unhappiness will not be too heavily penalized. You can then reduce the total when the civ is over a certain "very happy" threshold.

Also, with this approach you can change the emigration threshold when certain techs unlock. For example optics, railroad, combustion, and flight are the big techs that allowed people to emigrate in large numbers in the past. Reduce the threshold for each of these to represent the ease with which unhappy people can leave a modern nation.

You can also alter the "very happy" threshold based on the current era (as we all know people these days will put up with a lot less crap from their governments than in the past)

Just some ideas to play with :)
 
ok so i have to code this behavior of 'delayed exodus' as there 3 requests already :D
also i will correct notification message for immigration and give a small :gold: bonus to it and thus it will be a v2 of the mod.

But most likely any poor sap who is leaving probably is pretty poor in the first place. That is for the most part the history of emigration no?
uh.. no. not as a rule.
there are many specialists/busiessmen who cant be considered poor but they move to better countries where living standards are higher. they can refrain from it because of patriotism but when conditions become worse they can decide to move and because they are wealthy they can do it easier. another type of emigrant is a one who crosses a border illegally its a poor guy ofc.
 
Excellent mod!

Any plans for future versions to have emigration mitigated or immigration enhanced by Social Policies or Wonders?

For example:

Statue of Liberty
Happiness is considered at greatly increased value to potential immigrants. Citizens may emigrate to owning civilization if homeland is less happy than that of the owner.

Autocracy::police State
Emigration due to unhappiness occurs at a decreased rate

Liberty::Citizenship
Immigration due to happiness occurs at an increased rate
 
I like those wonder ideas! The only problem is it might clash with other mods (balance mods, valkrionn's economy mod and blahblah), unless you can just "add" the new wonder bonuses to the code without changing the basics. But i think you can, right?
 
no doubt nice idea, i dont know about everyone elses games but the AI in my saves doesnt have a problem with happiness and by endgame/midgame some have upto 80 happiness, which will mean the ai will just take all my population...
 
Top Bottom