• 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:
Good read about the changes. The "Cultural Community" mechanic should streamline things well and make things more believable.

One suggestion for Mass Migrations - There should be a weighting based on your market's trade routes with other markets. It was common for migration targets to be dependent on existing infrastructure and having existing trade ships sailing from one market to another meant passengers could 'hitch a ride' on them too, which would open the way for passenger ships to eventually be profitable, further opening up migration (depending on laws). High level trade routes and/or multiple trade routes would simulate this.

The penalty for countries with a low number of states also worries me a little, especially for those that have few or single states which are actually quite large geographically (Like Western Australia which only starts with one state, but it's the size of some European countries)
 
  • 7
Reactions:
This is not about Steam, this Expansion Pass graphic showed Q1:

snip for length

And the Paradox Interactive site for the Victoria 3 Expansion Pass still says Q1:

snip for length

So it's not surprising that people who have bought the Grand Edition and thus effectively pre-ordered Sphere of Influence it are getting curious about the release date.

Ok but when it will be released???


The information shown here no longer reflects the targeted release period - we will update them to reflect this soon!
 
  • 29
  • 9Like
  • 2
  • 1
Reactions:
Is there any update on another current bugbear for migration, that migration between states WITHIN a market is shutdown by having closed borders, when in fact that should be a product of the Serfdom law?

It can be annoying to use frontier colonization in a place and nobody moves there because your laws designed to keep other people out are stopping your own people moving anywhere.
 
  • 7Like
  • 3
Reactions:
I think "opened for migration" lands such as fresh colonies should be targetable for the mass migrations from outside of the market. It sounds kinda counter intuitive why migrants that want just some "free lands" without serfdom would wait 10-20 years for me building some burocracy to tax them before they could came in. (And incorporation for 20% of the gametime is already kinda... Disputable)
To be fair, that is pretty historical in the context of most of the settler nations. Most mass migrations from outside the country would go first to the more established states/provinces and then later migrate to the unincorporated colonies. Such as Irish and Polish immigrants going to New York City, Chicago, or Montreal first, then later moving to the territories.
 
  • 8
  • 1
Reactions:
There should be a Swedish Cultural Community in Michigan, as well as a Dutch and Finnish community. Swedes and Finns communities didn't exist in 1836 though - more like the 1870s Great Migration. The Michigan Dutch Cultural Community was strong in 1836.
 
  • 1Like
  • 1
  • 1Haha
Reactions:
Since Migration is being changed, I have a question for the team.

Currently, slave states that start out with a high number of slaves (like South Carolina and Louisiana) usually end up where nearly everyone that isn't a slave leaves due to a low Migration Attraction. I suspect this is caused by slaves generally being very radical but unable to leave, causing the more content pops to leave in their stead, which makes the Migration Attraction even worse; the cycle thus repeats. This leads to strange scenarios where the remaining slaves in SC are sitting around being enslaved by nobody at 90% of the population as the state becomes dominated by the Intelligentsia (due to government clerks being the only whites who haven't left).

I would like to know if there are plans to fix this currently implemented in 1.6, or has that not yet come up.
 
  • 6Like
  • 1
Reactions:

  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

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.
 
Last edited:
  • 4
  • 3
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...
 
  • 2
  • 1Haha
Reactions:
Definitely steps in the right direction, but I think that it's hampered still both by tying migration too strongly into the market mechanic, and by lack of dynamic changes over time. Seems like spawning new cultural communities will be critical to receive migrants which is now tightly connected to being in the same market as another state, which reinforces all the weirdness around them. And I'd also like to see some sort of progression of migration over time as technology and commerce develops. Early game it should be expensive for pops to migrate, limiting most migration to well off pops or nations with huge trade infrastructure like Britain. Later on as technology and trade develop it should become more accessible to the poorer masses leading to the spikes in migration of the late 19th century. I'd love for migration to tie in with both tech and trade, which would also help reduce the number of migrants by focusing it among high-tech, high-trade, relatively wealthy states as it was historically instead of by default giving every subsistence peasant in rural China the same ability to move.
 
  • 1Like
  • 1
  • 1
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...
Nah, there's nothing wrong with them migrating to Argentina, if the conditions allow. If everything happens historically (not historically plausibly, but at the same time when it happened historically), this is neither a game nor a simulation.
However, pursuing more Eurocentric immigration was a thing for American countries, and the fact that now they don't have such option (except for the artificial "create a mass migration push somewhere in Europe" buttons some nations have) is not good.
 
  • 4
Reactions:
A couple of questions:
1) did you solve the issue where low states for some reasons *refuse* to attract migrations? For instance, this happens pretty often with Canal states like Panama, but also Alaska, Nevada and other US states that are empty at the beginning.

2) Did you change the way migration interacts with laws ? Is it still a zero-one switch or is it possible to get some, say, historical Chinese migration to the US despite cultural exclusion?

Thanks !
 
  • 2Like
  • 2
  • 2
Reactions:
A couple of questions:
1) did you solve the issue where low states for some reasons *refuse* to attract migrations? For instance, this happens pretty often with Canal states like Panama, but also Alaska, Nevada and other US states that are empty at the beginning.

2) Did you change the way migration interacts with laws ? Is it still a zero-one switch or is it possible to get some, say, historical Chinese migration to the US despite cultural exclusion?

Thanks !
Not from what's here I think. It doesn't even have to be a originally empty state. I've seen Finland and a few others go into a starvation doom-loop after market migration siphons them away to <300k population cause they can't staff their own railroads-ports so the states become disconnected from the market due to all the empty buildings. And because the pops are all in the port the goods are super-expensive too. Would be nice to fix that but idunno how you'd go about it. Probably more the ai deleting buildings or empty buildings not taking up market access rather than migration atraction stuff.
 
  • 2
  • 1
Reactions:
Hm... Why do we need 30 Arable Land to become a Mass Migration Target?

If my states offer one of the highest SoL in the world, I have super liberal policies with all the rights you can dream of, and I have so many free jobs in my factories, shouldn't I be considered an attractive Mass Migration Target?

I get the idea that immigrants might want to start their own farms and stuff, but I feel like they would also move if they see free jobs and good SoL.
 
  • 19
  • 1
Reactions:
  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

This is weird to me. Why wouldn't the Polish immigrants in Brazil aim to mass migrate to cosmopolitan Yemen if Pedro II decided he actually hates non-Brazilians and enacted Ethnostate law? Is it purely a performance issue, or a decision taken due to design?

And regarding internal/external migrations, could you change the tooltips of the laws to make this clearer to new players? Such as changing Migration Controls to "Internal and external migration are only possible for non-discriminated people", with nested tooltips for "internal" and "external". It took me two months playing Vic3 to realize No Migration Controls wasn't helping my Isolationist games.
 
Last edited:
  • 3Like
  • 3
  • 1
Reactions:
i am glad performance is being adressed but i am worried the game wont be able to reproduce historical trends like over population in europe and historical populations of coutries, both in he new world and the old one, with margins ofc.
 
  • 2
  • 1
Reactions:
Hm... Why do we need 30 Arable Land to become a Mass Migration Target?

If my states offer one of the highest SoL in the world, I have super liberal policies with all the rights you can dream of, and I have so many free jobs in my factories, shouldn't I be considered an attractive Mass Migration Target?

I get the idea that immigrants might want to start their own farms and stuff, but I feel like they would also move if they see free jobs and good SoL.
The real reason is probably to prevent a mass migration to the falklands or the like cause the Ai built one tool workshop and now they have a higher attraction than any state with peasants around.
I can think of two examples where it would be warranted though-
1. Washington DC. Nuff said.
2. Treaty ports. Would be super-cool to see Singapore and Hong-kong getting migration from surrounding states. It would be cool if mass migrations were more likely to target places with communities present so malays go to singapore, chinese to HK/macao etc. Maybe with 30 per state they mean the full thing though so HK is valid?
 
  • 6
  • 1
Reactions:
Letsgooo Im really excited about this update! Optimisation is a huge problem for me, and updates like these makes me really hopeful for the future of this game. Thank you so much.
 
  • 1Like
Reactions: