• 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:
This comment has been reserved by the community team for developer responses!

I really can’t wait! Thanks for this free update!

Can we ask when will Soheres of Influence DLC be released? Will it be delayed?
You can ask yes! The date on steam is not when it is coming (we have said this before), we will let people know in a very clear way e.g. through a diary or other posts when Sphere of Influence is coming.

I assume that this rework means that mass migrations done through script will work properly in 1.6?
So, the thing is that the
Code:
create_mass_migration
script effect does work as it should. That is by ignoring all normal requirements we have on mass migrations to exist when they are created. That does not mean it is immune to our culling of mass migrations afterwards, so if you try to create a mass migration through script without also checking if it would be valid, then it might be immediately removed. This is an issue we have with the Populating the Americas content from CotS and for 1.6 we're introducing a new script trigger called like..
Code:
state_is_eligible_as_mass_migration_target
or something that checks the conditions necessary for that mass migration to happen to take care of that. If you then check that before issuing the script effect, you should be fine!

Sounds nice!
Have you considered further consolidating pops with introducing artificial bucket-like entities like "East Asian Americans"? (mostly to represent second gen immigrants with stronger ties to receiving country then to sending one and with receiving country's language as the first one) Why did you ultimately decide against this idea?
It is something we have discussed somewhat, or at least something similar to what you describe. I think there's good potential there in getting more consolidation but also I feel it's an opportunity for cool narrative content similar to how you can forge a national identity in CotS.

So Nobody will came to colonies and to work at canals again, am I read you right?
What you quoted is about mass migrations, while the issue with colonies and canals is a matter of internal market migration. Colonies and canals are perfectly eligible for market migration and how many people migrate there is something we are keeping an eye on for if we need to boost the migration attraction there or if we need some other solution.

A bit odd that a cultural community can spawn with at least a pop present. If there is a Romanian farmer in New York, that won't really convince me to move there. I'd see the system as a total of population. If at least 0.05% of total population of a province is Romanian, a Romanian community might spawn. So as a migrant, I'd know where to go, to the Little Bucharest in New York, instead of searching for the other, single Romanian bretheren that lives somewhere there.
That's a fair point! In this case I think it's worth noting that a pop is not one person, it can be 5 or 100 thousand people or even more. Also, to be clear, cultural communities are only required for market migration (internal) to happen. Mass Migrations (external) don't need them (but will create one when the first migrants arrive). Ultimately it is a case of a gameplay approximation of what a cultural community would be though!

One concern I have is that there is no mention of increased migration in general. This is particularly concerning as a USA main where since 1.5 it seems impossible to hit the historical population of the USA in 1936 even with all possible measures to promote migration and pop growth. IRL the population of the USA was 128 million in 1936, I will only hit about 100 million by the end of my 1.5 run.
I get your concern and it is something we have our eyes on. Generally, with these changes the whole balance of the game regarding migration has changed, in some places there's more and some places less. That balance is something we're still making adjustments to so it feels good for a number of situations.

Will this rework also include a split of external vs. internal migration? Is it even still linked? E.g., does the closed border law still mean that there's no internal movement of pops?
Migration is still generally split into market migrations (internal) and mass migrations (external). The laws still behave the same, yes.

Do these changes mean that 1.6 will break saves? Just asking, as I've got a multiplayer game on hold due to recurring desyncs, and my group'd love to pick up where we left off :(
While I haven't tried loading a 1.5 save on 1.6 in a while, I'm fairly sure it will not be compatible. Migration is changing quite significantly in the backend and all. As usual though, you can try and see how it turns out, but we recommend starting a new save.

Looking forward to March 6! Will these changes fix issues with the Populating the Americas journal entries? I’ve had multiple instances where it never actually caused mass migrations to occur.
Not these changes specifically, but we have included a few more checks on that journal entry so the interaction is more aware of all the requirements for a mass migration to exist. (see my previous reply for details)

Just to be sure, the graph shows the number of unique pops, and doesn't have any bearing on the population growth in 1.6? Do the population numbers through the campaign stay roughly the same as before?
Indeed, population growth should be largely unchanged, this is only about the number of distinct groups.

Will these changes impact the total amount of migration happening over a given market or globally, or is this just redistributing things to produce "clumpier" migration to reduce pop splitting?
It's hard to make a direct comparison as the balance of the system has completely changed with all the logic and define changes we have made. The goal though is for it not to feel significantly different as a baseline and then try to address issues we had with amount of migration to different places from there.

How will slave trade work under the new system?
Slave trade has not seen any significant changes with the new migration system.

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)
That's a fair point! For now we wanted to avoid rocking the boat too much, so we kept a lot of the requirements as they were, but we've been talking a bit about if requirements like incorporation actually make sense and such.

Boo.

Changing how the law functions is still on the table though, right?
It's a common piece of feedback and something I'd personally like to into, but as all things, can't make any promises of when or how that would happen. :)

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!
 
Last edited by a moderator:
  • 9
  • 2Like
  • 1
Reactions:
I hope there will really be a a noticeable impact on performance, that's really something that keeps me from playing full campaigns.

But if 1.6 releases on March 6... what does that mean for Sphere of Influence?
 
  • 10Like
  • 8
Reactions:
Sounds nice!
Have you considered further consolidating pops with introducing artificial bucket-like entities like "East Asian Americans"? (mostly to represent second gen immigrants with stronger ties to receiving country then to sending one and with receiving country's language as the first one) Why did you ultimately decide against this idea?
 
  • 9Like
  • 3
Reactions:
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..
So Nobody will came to colonies and to work at canals again, am I read you right?
 
  • 10Like
  • 2
Reactions:
A bit odd that a cultural community can spawn with at least a pop present. If there is a Romanian farmer in New York, that won't really convince me to move there. I'd see the system as a total of population. If at least 0.05% of total population of a province is Romanian, a Romanian community might spawn. So as a migrant, I'd know where to go, to the Little Bucharest in New York, instead of searching for the other, single Romanian bretheren that lives somewhere there.
 
  • 12Like
  • 4
  • 2
Reactions:
One concern I have is that there is no mention of increased migration in general. This is particularly concerning as a USA main where since 1.5 it seems impossible to hit the historical population of the USA in 1936 even with all possible measures to promote migration and pop growth. IRL the population of the USA was 128 million in 1936, I will only hit about 100 million by the end of my 1.5 run.
 
  • 7
  • 6Like
  • 1
Reactions:
Thank you for taking a look to performance, migrations and UX. Very much appreciated and great for the game's longevity.

Also, could we please hear something about the elephant in the room, Spheres of Influence? It seems fairly reasonable to assume that the original deadline might not be met..
 
  • 1Like
  • 1
Reactions:
I really can’t wait! Thanks for this free update!

Can we ask when will Soheres of Influence DLC be released? Will it be delayed?
You can ask yes! The date on steam is not when it is coming (we have said this before), we will let people know in a very clear way e.g. through a diary or other posts when Sphere of Influence is coming.
 
  • 19Like
  • 8
  • 1
Reactions:
Odd not seeing Puerto Rico green given the migrations that happened there post 1830 when the Royal Decree of Graces of 1815 started taking effect.

Great changes though!
 
  • 4Like
  • 1
Reactions:
I love what I'm reading! Please throw in a massive migration attraction bonus to newly built Panama and Suez canals, they're near impossible to fill up with engineers & labourers!
 
  • 9
  • 2Like
Reactions:
Will this rework also include a split of external vs. internal migration? Is it even still linked? E.g., does the closed border law still mean that there's no internal movement of pops?
 
  • 5
  • 4Like
  • 4
Reactions:
Do these changes mean that 1.6 will break saves? Just asking, as I've got a multiplayer game on hold due to recurring desyncs, and my group'd love to pick up where we left off :(
 
  • 1
Reactions:
System looks good though I expect I probably need to add a pop of overlord's culture to all my colonial cultured subjects to encourage migration from the motherland in my mod.
 
  • 1Like
Reactions:
You can ask yes! The date on steam is not when it is coming (we have said this before), we will let people know in a very clear way e.g. through a diary or other posts when Sphere of Influence is coming.

This is not about Steam, this Expansion Pass graphic showed Q1:

Exp-En.png


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

SoI.jpg


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.
 
  • 32
  • 4Like
Reactions:
That looks great! I really appreciate you trying to improve performance :)
 
  • 2Like
Reactions: