simsulla / nwomod

NWO mod for Victoria 2
http://simsulla.org/
MIT License
57 stars 69 forks source link

Historic immigration and balance migration #178

Closed simsulla closed 8 years ago

simsulla commented 8 years ago

The Vic2 migration system is simply to crude, to mimic all aspects of migration. In particular the preference to migrate to neighbor countries, and post-colonial preference for former colonial over-lord. Also the migration to the Gulf does not happen,

simsulla commented 8 years ago

By mitusonator State capitals attract immigrants and Dubai is the biggest city in UAE By Simsulla There is a github ticket for "Historic immigration and migration #178" this will include specific definitions for migration to the Gulf, as the Vic2 "bas-bigration" system simly is not flexible enough to model this major pop moves. I will see to that Dubai gets it's fare share of Asian migrants.

simsulla commented 8 years ago

By BattleSarge I just noticed something about the mod. Most to all nations in Africa or Asia do not allow immigration or emigration, thus nearly completely disallowing pops to leave the country. This is somewhat stupid, as no pops EVER leave, and places like Canada, New Zealand, Australia, etc. have absolutely tiny populations and get no immigration, as all immigration is taken by Germany (all 1000 migrating pops). The laws restricting emigration should NOT completely disable anybody from leaving, as people always find a way to leave, so nations even with that policy should have at least 50/100 pops leaving per month.

Also, make a bit more immigration pull for Europe and North America, as well as Oceania. These nations in real life have immigration issues, with minority groups growing, etc. In game, the immigration is so light that these issues don't exist, and nations like Canada and Australia and even some Euro nations are depopulated and have a negative pop growth trend, whereas it should be positive, slightly due to immigration, if you know what I mean.

simsulla commented 8 years ago

More suggestions

By Thinghunter Hi guys, I have an idea related to the immigration of Turkish/Yugoslav/Polnish... to western Europe:

1) A decision "Anwerbeabkommen" between e.g. Germany and Turkey that moves craftsmen (and perhaps Clerks/other poptypes -> balance) from east Anatolia to German cities. This would on the one hand reflect the Turkish/Kurdish immigration to Germany and on the other hand ensure that Turkey's east provinces do not get too strong economically (as in history). The resulting debuff for Turkey is needed, because in my games, Turkey usually becomes very strong in the 2020s- usually a grandpower with bigger power than France/GB 2) Similar decisions between the following countries are also possible:

There is a list for Germany: https://de.wikipedia.org/wiki/Anwerbeabkommen As you can see, there are many examples and thus i think this is a big improvement for the mod

3) After the Fall of Eastern Bloc, many immigrants migrated from East Europe to Western Europe, lowering those economy drastically (Do you say that in this way? My English, sadly, is not that good.) -> good time for similar Events.

4) Similar events could be used to represent the strong migration of refugees especially in Africa/ Arabia

I hope you like my idea,

Thinghunter

Thinghunter commented 8 years ago

Hi, I will try to modify the "Deportation of Germans" decision for an "Anwerbeabkommen". For balancing reasons, it can not be very historical, i guess. My "Anwerbeabkommen" will only include the movement of pops, other results (increase of populists in Germany, reduction od militance in Turkey... I am not able to implent because I lack the modding experience)

Thinghunter

Ps: How to push my programm?

simsulla commented 8 years ago

Look in decisions/poland the Expulsion of the Germans for some cod for moving around pops. If you know how to clone the repo and use githup make a pull request. If not, just send me the files.

please use the Vic2 validator and validate that your changes does not cause tons of errors, before sending changes.

Thinghunter commented 8 years ago

I went into a problem: pops are only moved, when i own the province. Why did the "Deportation of Germans" decision work for Russia, and moved pops in Poland? Did the decision trigger an event in Poland or something like this?

simsulla commented 8 years ago

there is no such limitation. Code?

Thinghunter commented 8 years ago

anwerbeabkommen_germany-turkey = { picture = "deportation_of_germans" potential = { tag = GER

        NOT = { has_country_flag = anwerbeabkommen_germany-turkey }
    }

    allow = {

    }

    effect = {
        set_country_flag = anwerbeabkommen_germany-turkey

        # Who: craftsmen/worker
        # Target: (by absolute number) many ++++ (8): W. Berlin, Frankfurt, München, Stuttgart, Düsseldorf, Köln, Dortmund, Hamburg,   
        #                   +++  (5): Bremen, Mannheim, Nürnberg, Wiesbaden, Karlsruhe 
        #                   ++   (3): Braunschweig,  Aachen, Saarland
        #                   +    (7): Ingolstadt, Hannover, Konstanz, Freiburg, Siegen, Mainz, Tübingen
        # From: (Turkish&Kurdish mixed)         
        #                   ++++: Konya, Diabakyr, Adana, Trabzon, Urfa, Van, Malatya, Sivas
        #                   +++ : Mersin, Kayseri, Amasia, Giresun, Sinop, Marash, 
        #                   ++  : Antep, Bolu, Denizli
        #                   +   : Kars, Hakkari, Erzincan, Mugla, Kastamonu, Afyon, Kütahya

        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 873 } } move_pop = 549 } # Konya -> W. Berlin 
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 893 }  } move_pop = 564 } # Diabakyr -> Frankfurt
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 894 }  } move_pop = 599 } # Adana -> München
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 892 }  } move_pop = 589 } # Trabzon -> Stuttgart
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 878 }  } move_pop = 589 } # Kayseri -> Stuttgart
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 899 }  } move_pop = 578 } # Urfa -> Düsseldorf
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 890 }  } move_pop = 575 } # Van -> Köln
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 879 }  } move_pop = 580 } # Sivas -> Dortmund
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 889 }  } move_pop = 528 } # Malatya -> Hamburg

        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 895 }  } move_pop = 539 } # Mersin -> Bremen
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 877 }  } move_pop = 569 } # Amasia -> Mannheim
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 884 }  } move_pop = 595 } # Giresun -> Nürnberg 
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 883 }  } move_pop = 565 } # Sinop -> Wiesbaden
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 896 }  } move_pop = 586 } # Marash -> Karlsruhe

        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 881 }  } move_pop = 539 } # Bolu -> Braunschweig
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 871 }  } move_pop = 576 } # Denizli -> Aachen
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 898 }  } move_pop = 573 } # Antep -> Saarland

        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 885 }  } move_pop = 601 } # Kars -> Ingolstadt
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 886 }  } move_pop = 601 } # Ardahan -> Ingolstadt
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 892 }  } move_pop = 534 } # Hakkari -> Hannover
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 888 }  } move_pop = 588 } # Erzincan -> Konstanz
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 872 }  } move_pop = 587 } # Mugla -> Freiburg
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 880 }  } move_pop = 583 } # Kastamonu -> Siegen
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 866 }  } move_pop = 570 } # Afyon -> Mainz
        any_pop = { limit = { OR = {type = craftsmen type worker } location = { province_id = 867 }  } move_pop = 591 } # Kütahya -> Tübingen

    }
    ai_will_do = {
        factor = 1
    }       

}       
simsulla commented 8 years ago

Your syntax is incorrect. The Vic2 validator image type = craftsmen type worker should be type = craftsmen type = worker

Thinghunter commented 8 years ago

Does not work with corrected syntax, too. It only works when i own the province (or when owner is vassal?) What code do i need to vassalize first, then move pops and then end vassalisation?

simsulla commented 8 years ago

1. Have you checked your code with the validator?

image

2. This is the decision after fixing errors...

image You have to change scope to Turkey (or have turkey take the decision). any_pop is "any_pop" of the country in scope (Germany), and then you select for Turkish provinces not controlled by Germany.

Thinghunter commented 8 years ago

When I do it in your way it works! Thanks a lot. Now I want to enhance the decision: When both Germany&Turkey are Member of NATO or TUR is in sphere of USA and has better Relations to GER than 100, GER and TUR should be able to trigger the decision 1964. Then the other country shall get an event with 2 options: Accept or decline the agreement. Then pops are moved and Nationalist parties in GER shall get a boost (more Pops in favor) and some militance and consciousness. Turkey shall get some prestige. And of course the relationship between the 2 countries shall get a boost. Futhermore, Germany shall get some influence in Turkey.

Since I have no real idea how to trigger an event like this, i need a good example how to implement it.

I hope you like my idea, Thinghunter

simsulla commented 8 years ago

Will put this back as an enhancement and not include it in 1.08. This is the basic work items

Change poptypes/_.txt and common/pop_types.txt _Migrate:* Craftsmen & Clerks only to state capital Emigrate: Craftsmen & Clerks only to state capital if have pop of culture - by event create seed pop (see above) Migrate: Farmer/laborer if any neighbor province has pop of culture THIS.

The bulk migration needs to be done by move pop - move craftsmen and clerks to gulf/europe/anzus destination. This will benefit the industry of the recipient and hurt the source countries industry which is good,

These are event driven migration cases (only including large and culturally diverse pops - small, cultural/religious close are not included): The idea is to use this as "pop seeds" that then are replenished by the normal migration

South Asian Migration to the Gulf Bahrain indain_muslim 200000 indian 300000 Saudi Arabia Indian: 1.3 million, Pakistani: 1.5 million, Egyptian: 900,000, Yemeni: 800,000, Bangladeshi: 500,000, Filipino: 500,000, Jordanian/Palestinian: 260,000, Indonesian: 250,000, Sri Lankan: 350,000, Sudanese: 250,000, Syrian: 100,000 and Turkish: 100,000 Oman India (465,660 for both sexes), Bangladesh (107,125) or Pakistan (84,658) Qatar Indians are the largest community, numbering 545,000 in 2013,[19] followed by 341,000 Nepalis, 185,000 Filipinos, 137,000 Bangladeshis, 100,000 Sri Lankans and 90,000 Pakistanis Kuwaint Philipino (est. 450,000), Indian (est. 600,000) UAE Indian (25%), Pakistani (12%), Emirati (9%), Bangladeshi (7%), and Filipino (5%) of 8,264,070

European Arabs Denmark sunni_arab 121000 Ireland sunni_arab 40000 Norway indian_muslim 40000 sunni_arab 40000 somali 40000 Germany 2.7 million Turkish, 1,15 Kurdish, 1.5 million Polish, 1mil sunni_arab Belgium 220000 Turks, 450000++ sunni_arab Netherlands 2.4% Indonesian, 2.4% German, 2.2% Turkish, 2.0% Surinamese, 1.9% Moroccan, 0.8% Antillean and Aruban

Turkish Migration to Europe Germany 2.7 million Turkish, 1,15 Kurdish, 1.5 million Polish, 1mil sunni_arab Austria 300000 Turks Belgium 220000 Turks, 450000++ sunni_arab Swiss Tamil 6.3% Turkey (3.8%) Netherlands 2.4% Indonesian, 2.4% German, 2.2% Turkish, 2.0% Surinamese, 1.9% Moroccan, 0.8% Antillean and Aruban

Somali Migration to Europe - event somalia.txt Norway indian_muslim 40000 sunni_arab 40000 somali 40000 Sweden somali 50000 turks 50000 sunni_arab 211000 persian 70000

South East Asian Migration to Europe Greece 480,824 Albanian, 34000 Pak+247,090 Afg,Pak,Bangladesh Spain sunni_arab 800000, 900000 mestizo, pardo_portuguese 60000, indaian_munslim 60000, chines e 160000 Norway indian_muslim 40000 sunni_arab 40000 somali 40000 Swiss Tamil 6.3% Turkey (3.8%)

Post-Colonial Portugual black_portuguese 110000 pardo_portuguese 110000 Netherlands 2.4% Indonesian, 2.4% German, 2.2% Turkish, 2.0% Surinamese, 1.9% Moroccan, 0.8% Antillean and Aruban Fracne sunni_Arab 6 mil black:french 3 mil UK indian 1050000, pakistan 750000, bangladex 280000, Chinese 250000, balck_anglo 1150000 Spain sunni_arab 800000, 900000 mestizo, pardo_portuguese 60000, indaian_munslim 60000, chines e 160000

New World Migration USA latino 21224087 (11700000 mexico, 1100000 cuba, 1100000 el salvador, 900000 Dominican Rep, 900000 Guatemala) South Korea 1100000, Vietnam 1240000, Philipino 1800000, chinese 2166000, Indian 1780000 NZ China 100000, Polynesia 100000, India 70000 Australia Chinese (4.3%), Indian (2.0%), sunnia_arab 1% indain_muslim 1.2% Canada , Chinese (4.3%), Black_anglo (2.9%), sunni_arab 0.8%, indain_muslim (2.5%) and indian (1.5%)

simsulla commented 8 years ago

Simplify the migration: simplified migration clerk/craftsmen migrate to state capitals only. State capitals in "conflict" states does not qualify as migration target.