• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Victoria 3 - Dev Diary #105 - Migration in 1.6

16_9.jpg

Hello! I’m Alex, one of the system designers on Victoria 3 and I’m here to tell you a bit about what changes we have been planning for Migration in 1.6. I have also conscripted volunteered one of our programmers, Konrad, down from the code mines to give us some of the nitty gritty details about what’s going on.

Goals for the changes​

To begin with I’d like to clarify what the goals for these changes are, and (importantly) what they aren't. Unlike say the military rework, the goal here isn’t to completely change the gameplay surrounding migration. In fact, gameplay should feel somewhat similar, particularly if you don’t know the exact details of how it used to work.

So what is the purpose of this? Primarily, it’s about performance. We hear your concerns about mid- to late-game pacing and we’re constantly looking for opportunities to improve how well the game runs. Part of that is making small optimizations here and there, caching this or that value, pushing how much we can run in parallel and so on. Another aspect of it is looking at what design decisions we have made and considering if we can change them so gameplay still works but the mechanics are more performance-friendly.

These changes fall into the second category. In the current version of the game, migration works by regularly splitting Pops up and moving the pieces all over the place, which of course results in a higher number of Pops and worsened performance as the game goes on. In 1.6 we avoid splitting Pops for migration as much as possible so we can keep the number of Pops down.

On top of performance, another reason we are doing these changes is to make the system more maintainable and easier to work with in the future. The new implementation is simpler to understand when you are working with it which is a big plus for us, and incidentally should also make life easier for modders!

Finally, we also wanted to take the opportunity to sneak in some QoL and UX improvements while we were at it, which you’ll find towards the end of this dev diary.

General Concepts​

Before I go into details below, it’s important we are on the same page for what different terms mean and how they work. Migration in Victoria 3, as you might know, comes in two main forms: Market Migrations and Mass Migrations.

We also took the opportunity to fine tune the wording on a few of our concepts!
DD105_01.png

Market Migrations happen exclusively within your market and are largely due to economical factors in a Pop’s life. Mass Migrations on the other hand are the mechanism for Pops to migrate between different markets and have a stronger cultural focus.

How we select where people go and how many people move is highly dependent on the Migration Attraction a state has. This is a metric which indicates how much people want to move there due to factors like available employment, arable land, trade and so on. When migration attraction is used, what matters is the difference in migration attraction between two states and not the absolute value in a vacuum. It is also worth noting that migration attraction can change fairly quickly and in particular if a state receives a lot of migration, its migration attraction is likely to go down which then leaves room for other states to receive migrants.

Finally, you will often see mentions of terms like “Pops”, “number of Pops”, “Population” and so on and it is good to understand the difference between them. A Pop (also known as a Part Of Population) is a segment of a population with a specific job, culture, religion, living in a particular state and working in a specific building, e.g. Swedish Protestant engineers working at a Tooling Workshop in Stockholm. The number of Pops is how many different unique Pops we have in a building, state or even the whole game. This means that if the Tooling Workshop above employs both Swedish and Norwegian engineers, then the number of engineer pops in that building is two. Lastly, population is how many individuals we model through the use of Pops. The Swedish engineers above might be 5000 people large for instance.

These general concepts remain unchanged between 1.5 and 1.6.

You might notice the mention of a new concept: Mass Migration Attraction. We’ll go into what that means further down in the dev diary.
DD105_02.png

So, what has changed?​

Pop Selection​

On a very basic level what you need to know about how the system used to work is that we’d pick small portions from a lot of Pops all over the place and then move them around between states. In other words, migration as a system was taking consolidated larger pops and turning them into a larger number of smaller pops, which is bad for performance.

What we instead are doing now is that when we pick people to migrate, we try to pick as many “whole” pops as possible, sort them from smallest to largest and start sending them to new states. When they arrive we attempt to merge them into existing local Pops. Sometimes we still need to fragment pops, for instance if they’re too large, but we try to do so with more restraint.

Migration Destinations​

Previously, pops would migrate to essentially any state that seemed attractive enough and that would allow them based on your Migration and Citizenship laws. This led to a very spread out many-to-many migration system, which again, coupled with the Pop Selection system resulted in more pop fragmentation.

In the new system, we only allow pops to migrate to states with a so-called Cultural Community for the culture that pop belongs to. If there are multiple available cultural communities, we send migrants to all states within a certain margin of the highest migration attraction state, distributing them according to their migration attraction and if they’re actually able to take in that many migrants.

I’ve heard that Michigan is lovely this time of year. Maybe we should create a Swedish cultural community there?
DD105_03.png

Cultural Communities​

If you played the 1.5 open beta, you might recall when we tried introducing some of these changes (and how it accompanied some… interesting bugs with pops ignoring migration laws and all that). One of the changes was this notion of Cultural Communities. The idea is for them to model that you are more likely to migrate somewhere you know people of your culture already live in. You can of course move somewhere completely new, but that is not as common.

Do you tend to look through the in-game concepts like this one often? Did they help you when learning the game? We’d love to hear your thoughts!
DD105_04.png

Cultural communities exist everywhere there is at least one pop of a given culture. Additionally, every month there is a chance for a new cultural community belonging to a culture in your market to spawn in one of your states. If no one of that culture moves to that state, the cultural community disappears after a few weeks.

It is important to note that the relevant factor for performance is not the size of the population, but rather the number of Pops. This means that if the migration mechanics produce more homogenous results, we end up with a better performing game without having to compromise on the fidelity of the other aspects of the simulation (employment, pop consumption, population growth, qualifications, etc) at all. Since the concern we've heard from players previously is not at all that the simulation produces too homogenous results but rather a sometimes immersion-breaking mix of pop cultures in any given state, this system lets us scale down the average number of cultures present in each state.

If you are into modding, the weights and conditions for cultural communities to spawn are completely customizable through a script value that runs every month for every combination of state and culture in a market. I’m looking forward to seeing what you come up with!

Mass Migrations​

Mass migrations used to be more tightly coupled to market migration in 1.5. For 1.6 they work more in parallel having their own limits and conditions. Essentially, when evaluating if we should spawn a mass migration we go through the following steps:

  1. For every culture, go through the countries where that culture has homelands and calculate the chance for a mass migration to spawn from there. This includes filtering out countries or cultures that don’t fulfill the requirements for mass migrations, like having enough cultural turmoil or actually allowing migration to happen
  2. Pick one of the eligible countries above as the origin for the mass migration
  3. Calculate the Mass Migration Attraction for that culture to migrate to all different countries. This is the average migration attraction of the eligible states in the target countries.
  4. After adding a small random factor so we don’t send all mass migrations to the same place, pick the country with the highest Mass Migration Attraction
  5. Go through the eligible states in that country and pick the one with the highest migration attraction (after adding a small random factor)

After all this we spawn the mass migration for the selected culture and country we picked in step 2 to the state we picked in step 5.

You might also have noticed that we now mostly display migration as a weekly value, instead of an annual one. The reason is that migration can change pretty quickly between weeks which used to make it confusing or even misleading when we focused on the annual value.
DD105_05.png

At this point, similarly to market migration, we select pops we want to move, trying to prioritize smaller whole pops and send them on their way to their new home. We do keep track so we don’t send too many people from any one state or to any one state so we neither depopulate nor overwhelm states during mass migrations.

Results​

So how did all these changes turn out? For now our own tests have given us positive results with a reduction of around 15-20% in the number of pops towards the end game. This comes both from a reduction in fragmented pops, but also in pops getting more concentrated in which states they are sent to, which also leads to somewhat fewer buildings overall.

For all you gamers economists out there, in this case line go down is good!
DD105_06.png

New shiny UX improvements​

I bet you’re thinking “What about the UX improvements you mentioned though? Give them to me!”. Also hello to all of you impatient readers who skipped through the details right to the shiny screenshots and UX changes. As mentioned, with the migration changes we wanted to also make the system a bit more accessible from a UX perspective as development itself showed there was a lot of information that felt way too hard to access and understand given how important it is.

One change I personally am quite a fan of is that we now clearly display if a state can actually receive a mass migration now:
Who’d ever want to go to Rhode Island of all places?
DD105_07.png


DD105_08.png

If you are wondering about what the requirements for this are, they are now displayed in the updated concept for Mass Migration targets:

DD105_09.png

These requirements are not new, we just haven’t properly exposed them before. It can of course be tedious to check states one by one if they are eligible for mass migration, so we also added a map mode that shows you this:

Remember to integrate your states if you want them to get any mass migrations! Also, it’s probably a good idea to make sure they are properly connected to your market..
DD105_10.png

While we are on the topic of map modes, we have also added a map mode that tells you roughly what country is most likely to receive a mass migration:

The New World displaying its promise for greatness in bright green!
DD105_11.png

This map mode also includes a new concept for Mass Migration Attraction:

Can’t get a mass migration if you’re so small people can’t even spot you on a map
DD105_12.png

Something I’ve felt has been missing from the game for a long time is a map mode that shows you where people are actually moving, rather than where there’s high migration attraction. We have that now!

What’s up with Idaho, though?
DD105_13.png

Finally, we also reworked the old migration attraction map mode so it only shows states in your market, rather than the whole world. This should better communicate the difference between market and mass migrations as well as show you where in your market people are likely to move to and from:

Now you should be able to more clearly understand the migration flow in your market even in other countries.
DD105_14.png

For the modders out there, you’ll find we also restructured, renamed and removed a bunch of defines (this is your reminder to update your mods when 1.6 drops):

DD105_15.png

Next Time​

That’s it for today! Hope you enjoyed reading about how we’re working with migration and that you are looking forward to playing with these new map modes and other improvements when free update 1.6 releases on March 6! If you can’t wait until then, the next dev diary (two weeks from now) will have the full changelog for 1.6, which will include all the other things we've done outside of migration and UX improvements. See you then!
 
Last edited by a moderator:
  • 123Like
  • 44Love
  • 12
  • 11
  • 2
Reactions:
Okay I think this is might be a dangerous idea but a more selective migration politics might be more historical.
I don't want south germans to migrate to Argentina, they are 100 years early...

There was significant migration from Germany to Argentina during the game's time frame (from wikipedia):

German immigration to Argentina occurred during five main time periods: pre–1870, 1870–1914, 1918–1933, 1933–1940 and post–1945.[citation needed] In the first period numbers were generally low; of note are the colonias alemanas, first founded in the province of Buenos Aires in 1827. During the second period, Argentina experienced a boom in immigration due to massive economic expansion in the port of Buenos Aires and the wheat and beef producing Pampas. German immigrants began establishing themselves and developing newspapers, schools, and social clubs. A new, Germanic-Argentine identity gradually developed among the population.

The former Münich Beer Hall, now the Municipal Museums Administration, Buenos Aires.
During the third period, after a pause due to World War I, immigration to Argentina resumed and Germans came in their largest numbers. This can be attributed to increased immigration restrictions in the United States and Brazil as well as the deteriorating conditions in post-World War I Europe. The two largest years of German immigration to Argentina were 1923 and 1924, with approximately 10,000 each year.
 
  • 1
Reactions:
I am disappointed. While performance is important, so is the game actually working and being fun. The release mechanics of migrations were a huge step down from Vic2 for the sake of performance optimization. That's a fair tradeoff, but it really didn't work all that well. Now we see major changes, but none actually try to make the mechanics more fun - just computers running faster and sacrificing a mechanic for that.

It's not a good system. Mass migrations are super random and unpredictable, within market migrations mean joining a market siphons a ton of pops, if you just play your hands right. Join French or British market as a South American nation and outpace all your neighbors by being a huge population powerhouse, while they can't ever get a single mass migration due to RNG.

When it was a mechanic in beta, I strongly argued for ditching migration within market, and making pops move anywhere there's a cultural community. There's no reason to tie economic concept of a market with migration, and definitely no reason to do it so strongly as Vic3 does. It doesn't even create all that much issue with performance, as you can make spawning of cultural communities outside markets where the culture is present a rare occurrence, then it's not like it's a big issue that now the French can migrate to Buenos Aires as well as states within France, but it helps a ton with making it a more fun mechanic.
 
  • 14Like
  • 7
  • 4
Reactions:
fix MP. No one cares for the rest of the stuff. Sryly, every time it´s the last person loading into the game, is the one who desyncs 1 week into the game. I´ve got over 1k hours of EUIV MP, 2k hours of HOI IV MP and ~1k hours of vicIII ... and the MP in vicIII is the WORST in any pdx game ever!
 
Last edited:
  • 23
  • 1Haha
  • 1
Reactions:
this looks brilliant, but does mass migrations requiring statehood mean that say, during the California, Yukon NZ gold rush, no one outside their markets will migrate to those states if they are colonies?
as those states would be unintegrated (pretending the real world at that moment was converted to game) and received outside of market immigration, gold rushes being one of the really good examples of times people from unexpected to migrate to an area cultures would migrate (and establish cultural communities)?

Is there any consideration to allow gold rushes to allow migrants that break standing migration dynamics/rules? It'd be great to see especially Chinese migrants following gold rushes as historically that was typical and the game tends not to allow migrants from China to western countries? but also general migration as many balkan, italian, eastern european and german communities also trace back to gold rushes around the world
 
  • 2
  • 1Like
Reactions:
You made this map mode,
You made that map mode,
Why don't you make a religion map mode?
Is is so hard just to copy and paste a few lines of code?
 
  • 7
  • 4
  • 1Haha
Reactions:
Maybe a (very) unpopular opinion, but if the number of pops is the problem, why not simplify the pops a bit more?

You could build more statistics around these 'cultural (or religious) communities' and the pops could have a value that shows it's 'affinity' to these communities. Then you could stop splitting pops based on religion and culture and you would have less pops then. You would have Bureacrats in Wales that have a certain affinity with the 'Welsh Community', 'English Community', 'Catholic Community', 'Protestant Community' ... etc and you don't have to track how many 'Protestant Welsh Bureacrats' and 'Sunni Javanese Farmers' there are and how much they earn and what they consume.

We don't split pops on interest group level, so why would we want to split on cultural/religious level? 'Because Vicky 2 did it as well' is not a good answer I think.
 
  • 4
Reactions:
This was the first Dev Diary in Vic 3 I ever "upvoted". The 1.6 cycle seems to be the state I wish this game was released and I'm really happy that this game is getting on its trails.

I have 2 questions and a small comment in between:

  1. For every culture, go through the countries where that culture has homelands and calculate the chance for a mass migration to spawn from there. This includes filtering out countries or cultures that don’t fulfill the requirements for mass migrations, like having enough cultural turmoil or actually allowing migration to happen

Will states with unhappy pops that disallow mass migrations due to "Closed Borders" law in Migration Controls get any (1) movement to enact other migration laws support, (2) agitators, (3) dissatisfaction penalty, or (4) anything else so that such migrations get allowed?

A peasant or formerly enslaved revolution for being allowed to break free from the statewide imprisonment of closed borders, when conditions within them are dire, seems to be a no brainer.

[...] As mentioned, with the migration changes we wanted to also make the system a bit more accessible from a UX perspective as development itself showed there was a lot of information that felt way too hard to access and understand given how important it is.

That sentence summarizes the UX so far. I'm quite fond of all the UI improvements described since the mini-DD at the beginning of the 1.6 cycle.

If you are wondering about what the requirements for this are, they are now displayed in the updated concept for Mass Migration targets:

These requirements are not new, we just haven’t properly exposed them before. It can of course be tedious to check states one by one if they are eligible for mass migration, so we also added a map mode that shows you this:

Is this arable land requirement only for UNUSED arable land or does it still count the spaces already occupied with agrarian uses as farms and plantations?

I don't really like this flat 30 requirement since a bunch of states do not have this arbitrary amount and could still be very attractive for mass migrations, such as Hedjaz, home to two of the holiest cities for Muslims, Mecca and Al-Madina (that are barely represented in the game, but I guess this is reserved for DLC, as Lenin was).

This could be even worse if only unused arable land is counted, since by the end-game you shouldn't have much unused arable land left in your main states, even if you didn't build a single farm and only your private construction decided to build farms.

I think that rather than a constant 30 (unused?) arable land requirement, this could be a just another factor in how attractive a state is for peasant and discriminated pops. But a non-peasant or a non-discriminated pop shouldn't really care if there is (unused?) arable land when they plan to work on mines, factories, or enlist in the army.
 
  • 3
  • 1Like
  • 1Love
Reactions:
You made this map mode,
You made that map mode,
Why don't you make a religion map mode?
Is is so hard just to copy and paste a few lines of code?
Religion is still a very lackluster mechanic in Vic 3. Apart from some bonuses and penalties to what is consumed, some few unique buildings, and discrimination due to laws, there is no real religious gameplay. No holy wars, no holy cities... I guess this is reserved for future DLC.
 
  • 6
  • 2
Reactions:
Religion is still a very lackluster mechanic in Vic 3. Apart from some bonuses and penalties to what is consumed, some few unique buildings, and discrimination due to laws, there is no real religious gameplay. No holy wars, no holy cities... I guess this is reserved for future DLC.
Holy wars in the 19th century ... ?

Some Islamic ones perhaps, but that's the exception I think. I don't think the game has to model 'holy wars' like in CK3 and EU4.

There is a holy city: there is a Vatican City building in Rome giving Authority, Influence and a lot of political clout to the Devout.
 
  • 6
  • 2Like
Reactions:
Holy wars in the 19th century ... ?

Some Islamic ones perhaps, but that's the exception I think. I don't think the game has to model 'holy wars' like in CK3 and EU4.

There is a holy city: there is a Vatican City building in Rome giving Authority, Influence and a lot of political clout to the Devout.
Are there still holy wars today? I think so.

Maybe they have other names, but religion is still quite an important factor in wars nowadays.

I fully agree that the game does not need some specific mechanic for holy wars. Maybe casus belli? An event giving claims?

I love the Vatican City, it is a beautiful place and a nice building ingame. There are many other very important historic religious places in the world. I think the Mosque of Djenne is not one of the biggest, but it is in the game. Jerusalem and Mecca having nothing feels quite bad.
 
  • 1
  • 1
  • 1
Reactions:
Are there still holy wars today? I think so.
I think the notion was significantly more popular in 7th-16th century than in the following 400 or so years, which cover the whole Victorian period. The holy wars of modernity is a revival of the idea, the second season, if you'd like.
 
  • 4
  • 1
Reactions:
The mapmode showing which countries have high attraction is great but personally I'd prefer it if unincorporated states weren't colored in. It's a bit odd to see green spots in Africa because they are colonies even though they aren't eligible for the migration anyways.
 
  • 1Like
Reactions:
Yo! I love these changes. Also happy to hear low migration to Americas is looked into.

I might be wrong, but doesn't limiting the origin to countries with homelands make this a bit restrictive? Like, doesnt it make this sorta stuff happen:
- if I try to do an Israel campaign, wouldn't I (or any country) basicly never get Ashkenazi or Sepharim mass migrations because they don't live in countries with homeland states? Even if they're in the middle of mustache-man Germany or whatever since there's no homeland they stay put?
- if for example the Ashanti, Zulu conquer a british colony with european pops or Algeria conquers french Algeria, no matter how discriminated there'd never be a mass migration of brits/pied-noir pops leaving the former colony?
- If a mass migration minority host country suddenly becomes kinda lame the minorities wouldn't leave in mass migrations? Like for example Usa taking a chinese mass migration and then turning xenophobic, there would never be a mass migration back?

I feel like it's more reasonable to go by the cultural community fixing the above examples rather than homeland countries, no? It sounds like potential pop reduction being missed out on, too.

I really like your thoughts here.

Migration laws aren't perfectly enforced even in the most authoritarian states of today. Many people managed to escape dire conditions in their home states, even when against the law, or when heavily discriminated, to say the least, such as in "mustache-man Germany".

Having a state religion should give major migration attraction for such religiously discriminated pops, even when they are in closed borders states.
 
  • 3
  • 1
Reactions:
I am disappointed. While performance is important, so is the game actually working and being fun. The release mechanics of migrations were a huge step down from Vic2 for the sake of performance optimization. That's a fair tradeoff, but it really didn't work all that well. Now we see major changes, but none actually try to make the mechanics more fun - just computers running faster and sacrificing a mechanic for that.

It's not a good system. Mass migrations are super random and unpredictable, within market migrations mean joining a market siphons a ton of pops, if you just play your hands right. Join French or British market as a South American nation and outpace all your neighbors by being a huge population powerhouse, while they can't ever get a single mass migration due to RNG.

When it was a mechanic in beta, I strongly argued for ditching migration within market, and making pops move anywhere there's a cultural community. There's no reason to tie economic concept of a market with migration, and definitely no reason to do it so strongly as Vic3 does. It doesn't even create all that much issue with performance, as you can make spawning of cultural communities outside markets where the culture is present a rare occurrence, then it's not like it's a big issue that now the French can migrate to Buenos Aires as well as states within France, but it helps a ton with making it a more fun mechanic.
This. I quit playing Victoria III when I used the "Populating the Americas" journal entry twice and got a couple thousand immigrants each time before the migration target dissappeared. Immigration to North and South America, now, doesn't happen on nearly the same level as it did in real life, and makes countries like Brazil almost unplayable in the late game. Like, I get that performance is important and all, but can we prioritize actually making migration happen in the first place?
 
  • 3
  • 2
  • 2
Reactions:
I am wondering whether you can get realistic results if migration is dependent on market membership....

Example: The Chinese moving to America in the late 19th century to build the railroads. Japanese migration to the West Coast... These things happened. Can this be modelled if the system of migration is more hinged on market membership rather than simply your immigration laws?
 
  • 1
  • 1Like
Reactions:
Will we ever see a map showing the innovations generation across countries in the world?

Of course, it can be manually assessed (by calculating the number of universities and applying economy of scale and other factors) but a simple map would be just wonderful. You know, just to track whether my country is the biggest innovations generator/tech researcher or not.
 
  • 8
Reactions: