1. Victoria 3
  2. News

Victoria 3 News

Dev Diary #106 - Update 1.6 "Blackcurrant" Changelog



Hello Victorians! Today's dev diary will be a rundown of all the changes you can expect in free Update 1.6, codenamed "Blackcurrant".

As we mentioned in our first teaser for Update 1.6, this update focuses almost entirely on polish - bug fixes, performance work, UX and AI improvements - rather than major new features. Our aim here is simply to make the game feel better to play. Nevertheless, we're sure there will be many lines in the sections below that are cause for excitement!

As we mentioned last week, Update 1.6 is due to be released sometime next Wednesday, March 6th. Make sure to keep an eye out on our forums, Discord, or social media channels on that day!



[h3]New Features in Update 1.6[/h3]
  • Free: Migration system rework with Cultural Communities limiting which states pops might consider moving to, as a measure to improve UX and late-game performance
  • Free: Filterable and sortable fullscreen Census Data panel, to give you more insight into your population than you ever thought you needed
  • Voice of the People: Implemented additional content for abdicating during revolutions
  • Voice of the People: Added resign from Office character interaction
  • Voice of the People: Implemented additional character interactions for countries with Secret Police, allowing for the assassination of troublesome characters




[h3]Improvements[/h3]
  • A newly spawned country that inherits a war goal from a war in progress will now be automatically targeted with a new war for those war goals by the holder of that war goal, at no additional infamy. A common issue addressed by this change is that revolutions no longer invalidate war goals.
  • It is now possible to merge the entirety of a formation (A) that is itself the target of a merge into a different formation (B). This will retarget the formations that are traveling to merge with A so that they will instead travel to merge into B. Previously, this kind of merge was forbidden.
  • The Art pop need category has been replaced with a new Leisure category, letting the very wealthiest among your people self-actualize in style. This need consists mostly of Fine Arts but also an assortment of other goods such as Clippers, Small Arms, Wine, Aeroplanes, etc. Services act as a low-weighted fallback if these other goods are exceptionally rare in your market.
  • When a subject starts an Independence or Increase Autonomy diplomatic play, that play now takes place in the subject's capital rather than in the overlord's
  • Overlords taking control of a play no longer get the option to switch sides
  • Native Uprisings now have the native country as attacker rather than defender, and so no longer prevent the colonizing country from starting their own plays
  • Added button to upgrade all units in a unit group
  • The game will now warn you if you launch with mods that aren't marked as compatible with your current version. Pressing "ignore" will ignore this warning for the current version of the game.
  • Added offense, defense and occupation modifiers for unit types
  • Garibaldi will no longer show up to defend countries against autocratic revolutions (e.g. Garibaldi should not be getting involved in Indian Peasant uprisings)
  • Garibaldi will no longer show up to defend democratic countries against significantly weaker autocratic ones (e.g. Garibaldi should not be defending the USA against Native Americans)
  • Garibaldi can now show up to fight for democratically inclined revolutions and secessions against autocratic countries
  • Only fully occupied states now contribute towards war exhaustion, occupation progress has no effect
  • Added new Mass Migration Attraction concept
  • Updated migration concepts to be more representative of the current state of the game and be more interconnected
  • Added mobilization and movement speed modifiers for formations and unit modifiers for formations
  • Added a button to upgrade all upgradable units in a Military Formation, and one for all Military Formations owned by the player
  • It is now possible for subjects to switch sides in a play if the other side has a Liberate Subject wargoal targeting them and haven't added any additional wargoals against them (the AI will do only do this if they are Rebellious)
  • It is now possible to attempt to sway rebellious and human-controlled subjects by offering them Independence or Increase Autonomy as a wargoal. Reverse-swaying is also supported, so the subject can offer to side against their overlord in exchange for one of these wargoals.
  • The effects of breaking manually vs auto-breaking a pact can now differ, auto-breaking an Alliance won't cause a relations hit but still creates a truce, for example
  • Added more URLs for Historical Characters
  • Canals now provide a bonus to migration attraction
  • Mandatory baldness is no longer enforced on non-Buddhist Devout IG leaders
  • The Pampas state trait now gives a bonus to ranching as well
  • Mongolia is now only released in Outer Mongolia. A Greater Mongolian state will take some additional effort.
  • Japan, Korea, Siam, Vietnam, Tibet, and Cambodia now start with the Sericulture technology
  • Adjusted the population/arable land of Inner and Outer Mongolia to better reflect the situation in 1836
  • Replaced the 'Gobi Desert' trait in Monan with 'Eastern Steppe'
  • Renamed the 'Tianshan' state region to 'Tarim Basin'
  • Added a Mongolian homeland to Dzungaria
  • Updated the demographic data of Dzungaria and the Tarim Basin to better reflect the situation in 1836
  • Revised Bulgarian and Corsican namelists
  • Enacting Free Trade will now remove opium ban if you have it active as China
  • Improved tooltips and performance in the Diplomatic Actions lens
  • Decentralized nations now have their own logic for which attitude they display based on tension and whether there is an ongoing native uprising, and won't randomly display a friendly attitude that doesn't actually have mechanical significance
  • Taiping states now require turmoil to be selected
  • Baluchistan now requires Nationalism rather than Pan-Nationalism to form
  • Moved a Dutch general from the character pool to the Dutch East Indies, where he will serve as a general and an IG leader.




[h3]AI[/h3]
  • The military AI is now much better at organizing its formations in HQs, and will create, merge, split and rearrange its formations to have more balanced sizes
  • The military AI can now split off temporary formations during wars in order to defend or advance on fronts it would not otherwise be able to properly cover. The temporary formations are merged back into their parent formation after the war is over.
  • The AI is now less interested in subjugating themselves to foreign powers they do not have a good relationship with in diplomatic plays
  • The military AI will now create explicit garrison formations in important HQs that will focus on defending that HQ and not travel too far away from it. Garrisons have their own separate mobilization logic and will usually be mobilized during war if there is a perceived threat to their HQ.
  • The AI is now more reluctant to give up its subjects in diplomatic plays, particularly if they are of significant value
  • The AI now places greater emphasis on defending their capital state, especially against backdoor naval invasions
  • The AI now tends to use defensive orders for their generals if those generals are commanding below-average quality troops on the front, so as not to reverse the overall progress with failed attacks
  • The AI now considers qualifications to be more of a factor when determining what buildings to build and PMs to change to




[h3]Balance[/h3]
  • Capped the amount of of interests you can receive from Naval Power Projection
  • Technologies can now increase the amount of max Interests
  • Added another canning Production Method to Food Industries that allows you to pick between Fish or Meat as a consumption good
  • Lowered Farm output of Grain from 30/50/90/140 to 20/40/80/120
  • Removed South Africa's starting navy.
  • Added a cooldown to establishing and disbanding companies. A recently established company cannot be immediately disbanded and a recently disbanded one cannot be reestablished right away.
  • Pops will now consider their job satisfaction during employment updates.
  • Reduced penalties on decentralized nations to prevent mass starvation
  • Rebalanced the starting situations for most countries with Military Formations in the History files
  • Hardwood Production and Focused Hardwood Production, Production Methods reduced Hardwood output to 10 and 20
  • Lowered the requirement on Companies that affect Oil Rigs to only need 5 or more Building Levels
  • Public Trams and Public Motor Carriages Production Methods for Urban Centers now produce Transportation
  • Decreased the amount of food from Subsistence Farms from 2.5 per level to 2
  • Improved the starting situation for Spain, Austria, Russia, Netherlands and Egypt by adjusting their buildings and Production Methods
  • Agitators may now only participate in an election once every six months.
  • Edited the starting Spanish, Hanseatic, East Indies, Luxembourgish, Portuguese, Prussian and Russian armies to better reflect the historical situation.
  • Greener Grass Campaign has been rebalanced and now provides a flat migration attraction bonus along a lower multiplicative bonus.
  • Downsizing a building level that isn't fully staffed now only generates a proportional number of radicals to its staffing, and no radicals at all if the level was not staffed at all
  • Researching Paved Roads no longer adds any infrastructure from Pops
  • Pop Consumption of Automobiles in a state now adds a small amount of infrastructure, which is increased when Paved Roads is researched
  • Converting to State Atheism now gives you a larger number of immediate 'converts' in incorporated states
  • Added combat penalties to Panicked Retreat
  • Added morale damage penalties to Controlled and Panicked Retreat
  • Added Straits between: Sumatra and Java, Java and Bali, Zealand and Jutland, and New Zealand
  • Citrus Orchard Production Methods now don't consume all wheat
  • Barbed Wire is now unlocked by Field Works
  • Removed Serfdom and swapped Slave Trade for Legacy Slavery in Grao Para
  • Companies that required 10 levels of Buildings now only require 3 levels
  • Changed unlocking technologies for some Cavalry units
  • Consumer Goods Tutorial now looks at local prices instead of market prices for goods
  • Travel time for formations through different terrains has been lowered
  • Stormtroopers Technology now gives Offense bonus to Trench, Squad and Mechanized Infantry
  • The Brazilian monarchy now benefits from Great Power status
  • China now starts with the Closed Borders law
  • Drastically increased the naval power projection requirement for Brazilian slave trade events.
  • Job Satisfaction from being able to afford expenses now scales with the income / expenses ratio instead of being a flat value
  • When a country is Cut Down to Size, it now receives a decaying prestige penalty and is unable to start any aggressive diplomatic plays for 5years
  • Pop need rebalancing between categories, especially in the Wealth 20+ range
  • Hanyang Company now gives 20% attack bonus for Shrapnel Artillery
  • Removed Impassable Terrain from Islands and other areas where it is blocking combat for no reason
  • Reduced Rubber input for Elastics to 10
  • Lowered Rubber input, and Tools output for Machined Steel Tools
  • Reduced Engines input of Reinforced Wooden Ships Production Methods
  • Increased Steamers output in Steam Ships Production method
  • Lowered the modifier for Metropolitian Railway
  • Lowered the Interception chance of Admirals on Convoy Escort missions
  • Added Submarine Offense Modifier to Experienced and Expert Convoy Raider
  • Balanced many Companies Prosperity modifiers to not be as powerful and made them more diverse
  • Added a Farm to Piratini, Warsangali and Isaaq
  • Explosives factories now consume Fertilizer and Paper instead of Coal and Iron
  • Reduced the amount of workers removed from Automation Production Methods in Livestock Ranches
  • Gone through and balanced some Companies to make Properity bonuses more valuable
  • Reduced the amount of Infrastructure from Streetlights Production Methods by 50%
  • Increased the attraction of middle/upper strata pops in military industries to the Armed Forces.
  • Slightly reduced the military penalties from the Lost the Opium Wars modifier.
  • Reduced radical gain from losing the Opium Wars.
  • The Taiping Heavenly Kingdom will now be much more of a credible threat
  • Added Dye potentials to South Carolina, Georgia, and Florida.
  • Mass Migration now consistently checks for turmoil or SoL specifically in the relevant states (e.g. homelands) and not as much in the whole country
  • Removed Strait between Svealand and Åland
  • Publicly Traded is now available at all levels of Motor Industry
  • Removed the Artillery Foundry in Mexico because they have no consumption
  • Pollution is now on Meat Production Methods instead of Fabric Production Methods
  • "Socialist Demagogue" will now spawn less often
  • Puppeting Bolivia now makes the Peru-Bolivia journal entry fail
  • Increased the requirements needed to form the Confederation of the Rhine
  • Characters that basically agree with the government can no longer be exiled.
  • Increased the chance of wealthy lower-strata pops joining the Petit-Bourgeoisie
  • The Strike event no longer reduces the productivity of the entire country
  • Shopkeepers pops in resource buildings now may join the Petit-Bourgeoisie.
  • Increased the chance of wealthy lower-strata pops joining the Petit-Bourgeoisie.
  • The Strike event no longer reduces the productivity of the entire country.
  • Elected Bureaucrats law now makes Bureaucrats more inclined to join the Petit-Bourgeoisie, rather than boosting raw PB political strength.
  • Hereditary Bureaucrats law now increases Aristocrats political strength rather than raw Landowners political strength.
  • Appointed Bureaucrats law now increases Bureaucrats political strength rather than raw Intelligentsia political strength.
  • Subsistence buildings under Collectivised Agriculture now employ fewer Clergymen.
  • The Monarchy law now increases the political strength of Aristocrats, rather than providing a flat bonus to Landowners clout.
  • Council Republics are now more inclined to enact progressive laws and develop industrially.
  • Agitators no longer interfere in the enactment of laws they have no stance for.
  • Few states penalty to mass migration chance now works through a multiplicative modifier rather than division
  • Rebalanced the value of the population factor for migration.
  • Gave Montenegro and Nejd a Grain Import Trade Route
  • Compañía Sudamericana de Vapores now targets Shipyards instead of Ports so that it can be Prosperous
  • Exiling interest group leaders now angers their interest group.
  • Patronise Realism no longer requires so many Arts Academies
  • Reduced Bureaucracy penalty for Greece restoring the Olympics.
  • Vineyards are now in the Agricultural Building Group and instead of the Plantation Building group




[h3]Art[/h3]
  • Tanks and Artillery now explode when defeated
  • Added a representation of the Chemical Warfare mobilization option to battle dioramas when attacking
  • Locomotive types are now spawned based on culture, political connections and market connections
  • Added visuals to city buildings which to represent the Standards of Living in the area
  • Added new first aid cart and field hospital 3D models to frontline graphics
  • Fixed an issue with revolution flags appearing black, they are now correctly colored as the revolutionary interest group color
  • Japanese characters and pops will transition to more European fashions after the Meiji Restoration is completed
  • Added new Flamethrower effects
  • Added Maxim machinegun visual and audio effects
  • Ships now splash when sunk
  • Added new Vfx when battles end
  • Fixed a bug where some of the Asian buildings would clip with each other
  • Fixed a bug that causes the military flags to not be visible if the player did not have the Voice of The People DLC turned on
  • Enhanced details on map units weaponry
  • Reduced the range of the torpedo fired by the Submarine and Torpedo Boat
  • Fixed lightmask on navy ships Frigate, Monitor and Submarine 3D model




[h3]Interface[/h3]
  • Added manpower, organization, and morale bars to the Military Formation tooltip
  • Added quick action buttons to move all or half of the units and commanders from one side to the other side in the Transfer Popup
  • Added info about tariffs and consumption taxes to the Goods tooltip, and also added buttons to change them there directly
  • Added a table of Undecided Countries in the "Start a Diplomatic Play" confirmation, showing Military Strength and how likely they are to join either side of the Play
  • When there are multiple enemy/allied formations in the same location, they are now consolidated into a single map marker which shows a summarized view instead of forming a 'tower' of map markers. Clicking the consolidated map marker will open a selection list to let you select any one of the formations it contains. The player's formations still always get their own individual map markers.
  • Building expansion tooltip now takes into account the impact of understaffed buildings and queued constructions and so no longer displays overly optimistic revenue estimates for a building that's mostly empty or which has a bunch of queued levels already
  • Added current + expected number of a default unit type's units to their selection menu buttons.
  • Added number of current + expected units in a Unit Type to the Unit Type tooltips in a Formation.
  • Added a more detailed list item in the Construction Interaction list, showing Employment, State Traits, Production Methods and Local Prices
  • !' is now removed from the production method after mouse hovers over it
  • The tooltip for changing production methods should now show much more accurate information as to the building's production, consumption, revenue and employment immediately after the change takes effect
  • The tooltip for showing an active production method now properly takes into account throughput, input and output multipliers such as economy of scale
  • Revised the way qualifications are displayed so that for each pop type, qualifications are only shown if the qualifying pop would have a reasonable chance of actually taking the job, based on factors such as job satisfaction and pop type wage, meaning that the qualification numbers can now actually be trusted to tell you whether you have Pops that both qualify and would consider actually doing the job in question
  • Added new Migration map mode that displays amount of migration to and from states
  • Added new Mass Migration Attraction map mode that gives a rough idea of what countries mass migrations are likely to target
  • Added new Mass Migration Potential Targets map mode that shows the migration attraction among the states that are eligible for mass migrations
  • Added customize button for a Formation's name/icon to their right-click menu.
  • Added groups for journal entries
  • Added a short "label" and a "status" for a Country, describing who they are to you and your relationship.
  • AI Strategies are now shown in the tooltip for a Country
  • Character Interaction cooldown duration now shows as preview before interaction is triggered
  • Buildings that are unwilling or unable to hire now show more detailed tooltips with the exact reason they are unwilling/unable
  • Reworked the layout of formations on the Military Panel
  • Reworked Migration Attraction map mode to only show states in your market to better indicate how intra-market migration works and better indicate where pops move in your market
  • Migration tooltips now indicate if a state is eligible for mass migrations or not
  • Cleaned up and sorted the interest group tooltip
  • Added Infamy value to the topbar.
  • Exposed a Country's preference for each side in the Diplomatic Play directly in the Sway panel without having to dig through several layers of nested tooltips
  • The Government Interest Groups are now added to the tooltip for a Country
  • The current direction (up/down) of your Relations in the tooltip for a Country is now visible
  • Replaced "State Taxation Revenue" text list in with the same information as a table
  • Removed the Ongoing Diplomatic Pacts Outliner section (replaced with pinnable Countries)
  • When Fleets are zero, they will no longer appear in the Diplomatic Play Sway panel
  • When Mobilization is zero, it will no longer appear in the Diplomatic Play Sway panel
  • Lists within the panels on the left side of the UI no longer reset their position back to the top when you close the window and then reopen it. They also retain their old positions when switching between tabs.
  • Added the companies icon to the sidebar button
  • Fixed issue where NO_ORIGIN_FORMATION_SELECTED was shown as tooltip text in Transfer Popup.
  • An army or fleet without a commanding officer can now be merged with another formation
  • The tooltip for changing production methods now warns you if changing a PM would result in other PMs (such as ownership PMs) would be changed as a result, and includes the effects of those changes in its calculations of production, revenue etc
  • Migration values are now displayed as weekly values rather than annual ones (with a few exceptions)
  • Added a small Price graph to each Goods item in the Market panel
  • The number of Conscripts is now visible in the Diplomatic Play Sway panel
  • Added new icon for electric companies
  • Map notification for Grant Independence shows valid text
  • Fixed Slave pops mentioned in Slave State tooltip not having a tooltip
  • The warning for insufficient qualifications now provides more information, such as how many months of current qualification growth the missing qualifications represent for the relevant pop types
  • Alerts that a diplomatic pact is about to break now only show up if relations are actively trending towards the break point due to ongoing actions/pacts, not if they're just close to the break point but have no reason to up/go down further
  • When a pact breaks or is about to break, the interface will now provide much clearer and more readable information about the reason for the break
  • Devastation and Turmoil Effect Map Markers are now visible on mid zoom level if State is being highlighted
  • Tweaked the layout for the Country Details panel to show AI Strategies without having to scroll
  • Reordered things in the tooltip for countries to more closely reflect the order of importance
  • The Subject Types a Country has is now shown in the tooltip for a country
  • Exposed the Ranking Number for the stats on the Country details panel
  • Replaced "Members" text list in the tooltip for parties with a table
  • The "Attitude towards you" icon is now shown on each Country item in the Diplomatic Play Sway panel
  • Sorted all lanes based on total Power Projection of the Country in the Diplomatic Play Sway panel
  • Agitator number on hover shows tooltip on where the Agitator Slots comes from
  • Tooltip for political strength shows reason for slaves not having political strength
  • Generals who used to Advance on a front but have switched to Defend no longer contribute their old Advancement progress to the front side's combined Advancement meter (visual bug only)
  • Added tooltips for the sort header buttons on the Local Price tab for a Good.
  • Optimized the performance of the Outliner by flattening the layout hierarchy
  • Made it possible to unpin Diplomatic Plays from the Outliner
  • Made it possible to unpin Political Movements from the Outliner
  • Added a Country Map Marker to the Diplomacy Map Mode, showing Attitude and Relations
  • Cleaned up the layout on the Diplomatic Play Sway panel, generally made things more compact to give a better overview
  • Added a setting for having the Notification Feed show up the left of the Outliner
  • Added colors to Notifications (good/neutral/bad)
  • Transfer formation popup now supports state and unit filters
  • Added Military Formation breakdowns in Country battalion tooltips.
  • Fixed issue where unit type icons would sometimes not show up in nested tooltips
  • Added historically accurate company icons
  • Will now show the reason for Commanders not being able to transfer sides in Transfer Pop up
  • The text for loading game in both main menu & in-game menu now says 'Load Game' for consistency
  • Fixed long country names in various places
  • Fixed overlapping text in Lenses for different languages
  • Increased time allowance for players to answer sway offers from 7 to 14 days. The AI should still answer them within a few days.
  • Tooltip when attempting to Disband Formation with too many commanders is now more intelligible
  • Tooltip for Diplomatic Actions that improve or damage relations have been reworded to be less confusing
  • Added better tooltips for commander orders
  • Added keyboard shortcuts for "Zoom to" (z) and "Pin in Outliner" (x)
  • Hooked in "Go to details" keyboard shortcut in all Information Panel headers
  • The Religion texture is now visible in the tooltip for Religion
  • Made it possible to pin Countries to the Outliner
  • Reworked all Outliner items to have more, and better, information
  • Market Goods Shortage is no longer duplicated in the Notification settings panel.
  • Combat Unit unlocks in the tech tree now has frame around it
  • If Load game is not available, an in-game menu with show 'Load Game' text in italic for consistency will appear
  • Changed Judaism's color to light blue
  • Fixed an issue where an empty army's mobilization status failed to display correctly.
  • Changed the "Never" label for permanent Modifiers to "Permanent"
  • Cultural turmoil now displays with consistent number rounding.
  • Release subject option will be default option in Release-Subject tab in Diplomacy panel
  • Added localization to sea node names
  • Updated Attrition concept




[h3]Performance[/h3]
  • Reworked how pops migrate to reduce the overall number of pops in the world, in order to improve late game performance
  • Shortened load times when starting a new game
  • Made AI spending updates more performant
  • Reduced the size of several of the particle textures to improve performance
  • Resolved a performance issue with the revolution update toggling all mesh objects off each frame even when unnecessary
  • Reduced performance impacts of Diplomatic Plays by having the AI calculate when it wants to declare neutrality once per diplomatic play instead of checking each tick
  • Optimized battle code to prevent unnecessary modifier recalculations
  • Parallelize checks for battle condition updates
  • Improved performance when iterating pops by reducing the object's memory footprint, leading to better cache utilization
  • Improved the performance of unit morale calculations




[h3]Modding[/h3]
  • Several migration defines have been renamed, restructured or removed
  • Production Methods can now specify that they require access to particular goods to be able to be selected
  • New trigger (num_cultural_communities) to check how many cultural communities are present in a state implemented
  • Added new trigger that checks if a given state is eligible for mass migrations
  • Added functionality to create and add tables to tooltips
  • Added script links for migration attraction to be able to check what a state or country's migration attraction is
  • New event target links for formation to home_hq, formation to current_hq, hq to strategic region
  • country_army_unit_type_fraction and formation_army_unit_type_fraction triggers check the fraction of a specific unit type in a country's army or in a specific formation
  • country_navy_unit_type_fraction and formation_navy_unit_type_fraction triggers check the fraction of a specific unit type in a country's navy or in a specific formation
  • army_mobilization_option_fraction trigger checks the fraction of units having a specific mobilization option in a country's army
  • Added console command `enactment_checkpoint `
  • Removed `is_repairing` trigger, because it was untruthful



This is such a big changelog that we ran into the character limit on steam! you can see this Dev Diary in full on our forum >HERE<

Dev Diary #105 - Migration in 1.6



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.

[h2]Goals for the changes[/h2]
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.

[h2]General Concepts[/h2]
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!

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.

So, what has changed?


[h2]Pop Selection[/h2]
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.

[h2]Migration Destinations[/h2]
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?

[h2]Cultural Communities[/h2]
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!


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!

[h2]Mass Migrations[/h2]
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.

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!

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?



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:

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..

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!

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

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?

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.

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):


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!

Dev Diary #104 - Quality of Life improvements in 1.6



Hello and welcome to this Dev Diary that will mainly focus on the Quality of Life improvements we will add to the game with 1.6. The improvements for this update are mainly focused on three areas: Diplomacy, the Outliner and the Census Data panel, with some additional bug fixes and improvements sprinkled on top.

[h2]Diplomacy[/h2]
The “Start Diplomatic Play” popup has gotten an overhaul that should make it much easier to get an idea of how likely any Country is to side for or against you. The “Relative Preference for Country” tooltip has also been polished up. It now gives you more information on the first level of the tooltip, which in turn should make it clearer which factors go into the AI’s decision making process.



The tooltip for a Country has gotten completely reworked to include better contextual information, more data and clearer information hierarchy.



The Country details panel has gotten a slight tweak to the layout, which makes it possible to see both the Country’s Attitude towards you, and their current Strategies at a glance. Since these factors are important in the AI’s decision making process, having them more easily accessible should help make a Country’s behavior more comprehensible.



The Diplomacy Map Mode has gotten a new Map Marker that shows any ongoing Pacts you have with that Country, their Attitude towards you and Relations (+ any eventual rate of change)



Diplomatic Pacts have been reworked to more clearly state what could cause them to break. This change is also reflected in the “Pact has broken” Notifications, making them easier to understand.



[h2]Outliner rework[/h2]
The Outliner now has tabs (Pinned / Economy / Politics / Diplomacy / Military / All). Most Outliner items also had a design pass, and most of them now show some additional information. We have also added a new Outliner item for Countries, showing their Rank, Attitude towards you and Relations.

In addition to these changes, you are now able to unpin Political Movements, Diplomatic Plays etc, giving you more control over what is shown in the Outliner. We have also added an option to move the Notification feed to the left of the Outliner, similar to what Nugget’s mod “Notifications not over Outliner” does.



Notifications are now color-coded to give you more information at a glance.



[h2]The Census Data panel, formerly known as The Pop Browser[/h2]
In the previous Dev Diary we introduced the Pop Browser (which has been renamed to the “Census Data” panel, based on a suggestion by forum user Buladelu). Since then we have also added Literacy, Job Satisfaction and Needs as columns in a second “page” in the spreadsheet. The common suggestion of visualization of Interest Group membership sadly had to be postponed to a later date due to implementation difficulties and performance concerns. You can of course still see which pops are part of an Interest Group through the Population tab and on the relevant Interest Group details panels, like before. For upcoming updates we are looking at the feasibility of implementing similar screens for other central types of data, with Buildings, States, Countries, and Goods currently being in the very earliest stages of planning.

Showing columns for Radicals, Loyalists, Standard of Living, Political Strength and Interest Groups

Showing columns for Literacy, Job Satisfaction and Needs

[h2]Misc improvements[/h2]
Scroll positions within the left-side panels are now saved and restored when opening/closing or navigating between panels, which results in less unnecessary scrolling.



Input Goods Shortage Map Markers are now collected per State on mid zoom level, similar to Construction, reducing the overall map clutter



An “Upgrade All” button has been added, both for Upgrading all Formations in your Country, and for Upgrading all Units within a particular Unit Group in a Formation



The Employment Indicator has gotten a reworked tooltip that more clearly explains why a Building is able to hire or not.



The way we display Qualifications has also received some significant changes. Previously, we would display all Qualifications for a particular profession in the State Panel, regardless of whether the Pops that held those Qualifications actually had any real chance of becoming that Profession. For example, your Capitalists might very well have tons of Machinist qualifications, but it’s not too likely that they are going to quit their jobs and make the switch from factory owner to factory worker. Adding to this confusion, the ‘Insufficient Qualifications’ warning when constructing a building or changing a PM would only look at Qualifications among Peasants and the Unemployed, meaning its predictions would often not play out that way in practice.

In 1.6, we now always show something we call ‘Employable Qualifications’, which is Qualifications held by Pops that are reasonably able to take a job, defined by meeting the following criteria:
  • Isn't already the relevant pop type
  • Is unemployed or a jobseeker
  • Is not enslaved
  • Isn't working in a government building or subsidized building
  • If employed, wouldn't consider the change in pop type to be a downgrade (ie, Aristocrat qualifications for Farmers aren't likely to be considered - based on wage weight and how well their current workplace is paying)


What this means is that when you get a warning for a building that’s to be constructed not having enough Qualifications to fill, that warning can actually be trusted, and you’ll have a much easier time determining which Professions are a bottleneck for your industrialization efforts.



The tooltip for changing Production Methods now has much more accurate predictions as it now takes more factors into account than before (Employment changes, Throughput, State Traits among others), plus had a few bugs fixed.



The Construction Interaction now has two modes for the list items: “Condensed” (which is what is currently in game in 1.5) and the new “Full” mode, which has additional information like State Traits, Employment, Production Methods and Local Prices for Input and Output Goods.



The Transfer Units panel has gotten some extra functionality compared to what is currently available in 1.5 based on many requests from our players. First and foremost, you can now with one quick button press move all or half of the Units and Commanders over to the other side. You may of course want to be more detailed when setting up your transfers, something we now provide additional tools for, namely:
  • Text input box (write the number you want immediately)
  • Slider + Arrow buttons (slide the number to whatever you need it to be)
  • A list of all individual Units (if you want to be really nitty gritty and select/deselect individual units)






We want to have most lists sortable and/or filterable by suitable factors in our game, which is becoming more and more of a standard for us to help you find the exact thing you want especially in lists with more than 10 entries. In the Transfer Unit window we have included a filter for you to get the Units from a specific State in the selected Formation.



During one of our Personal Development Time days we finally made a working prototype for what has internally been referred to as the Holy Grail of Tooltips UX: Tables in Tooltips. This implementation is only used in two places as of 1.6, but we’ll most likely start using these more often in the future, as they make it much easier to present certain types of information with greater clarity.





[h2]Closing thoughts[/h2]
Working on the Quality of Life improvements for 1.6 has been both really fun and rewarding, as it includes some improvements with a high positive impact on the overall UX of the game. The high point for me was either finally seeing the Census Data panel take shape (after having been one of those features that we have had scheduled for “the next patch” for a very long time) or solving how to move the Start Diplomatic Play predictions out from the tooltips into the popup panel.

That’s it for this week! In two weeks Alex will discuss the upcoming changes to the migration mechanics and their impact on game performance.

Hotfix 1.5.13 is now LIVE!

Hello Victorians!

Today we have released a hotfix targeted at a few key crashes in the game, whilst we previously had said in the last Dev diary that we were unlikely to have more hotfixes. It was deemed important to fix these key crashes in a separate hotfix prior to update 1.6 releasing. Not for problem reports, but rather file any bug reports in the bug reporting forum, thank you!

[h2]Patchnotes:[/h2]


[h3]Bugfixes[/h3]
  • Fixed a crash caused by peace deals allowing to-be-annexed countries to press conquer state wargoals.
  • Fixed an out-of-bounds access crash related to Military Path Arrows
  • Fixed a crash related to Military Path Arrow length

Dev Diary #103 - 1.6 Teaser



Hello everyone, happy new year and welcome back to another Victoria 3 development diary, the first of many for 2024. Today is just going to be a very short dev diary with a first look at free update 1.6, which as we mentioned in Dev Diary #102, will be a standalone update (meaning not accompanied by a paid DLC) that is next up on our release schedule.

1.6 is going to be a smaller update that focuses almost entirely on game polish (meaning bug fixes, performance work, UX and AI improvements) and not on adding features to the game, since after the massive slew of changes to the game that was 1.5 we now want to instead focus on smoothing out some of the rougher edges of the game. While we could of course just continue to release hotfixes for 1.5, focusing our efforts into a proper update instead is going to allow us to tackle some things (particularly on the performance and military pathfinding side) that would be too risky to include in a hotfix.

While all this means that you shouldn’t expect much to change on the post-release plans roadmap from 1.6 alone, you can expect some nice new QoL changes, such as the Pop Browser, a new interface inspired by Victoria 2’s Pop Interface, which gives you a comprehensive overview of your country’s population that allows you to more easily identify problems or opportunities, such as pinpointing where exactly those 1 million radicals that keep stirring up trouble are coming from.

The Pop Browser comes with an extensive list of filters to make the selection of Pops you want to look at as broad or narrow as suits your needs

The Pop Browser is one of a few other UX improvements coming in the update, but we will elaborate more on the other changes in our next dev diary (in two weeks) - going through the specifics of UI/UX changes in 1.6. See you then!