1. Victoria 3
  2. News

Victoria 3 News

Victoria 3 | How to Play - Resources

Victorians! Learn about the game in our series of tutorial videos! Today we look into resources: [previewyoutube]https://youtu.be/7sZNeu-ALWA[/previewyoutube]

Victoria 3 | Economics with Paul Depre

Why not sit back, relax and let Paul talk about the economy of Victoria 3:
[previewyoutube][/previewyoutube]

Victoria 3 Soundtrack Release



Prepare for the release of Victoria 3 by dreaming of a better tomorrow while listening to the game's Official Soundtrack. Let the songs of an era of transformation and revolution be the background music of your everyday life, and imagine yourself the builder of a mighty mercantile empire. The Victoria 3 Official Soundtrack will be available on most music platforms.

Find a link to your favorite in the list below.:
Spotify Youtube Music Deezer Anghami Amazon 7 digital Apple Music

Dev Diary #61 - Data Visualization



Hello all, today we are going to talk about some of the data visualization in Victoria 3, how we on the team have iterated on it since our UX dev diary and what we think through when talking about such iterations.

Aron is very busy doing what last bits of polish can be done before we lock down the game for release certification, so I have been asked to write this dev diary for you in their stead. I’m not officially a UX Designer but I do have my qualifications in user experience as QA and I also am quite opinionated about pie charts and other forms of data visualization as many of you in the community are no doubt aware of. I regularly get to be Aron and Henrik’s rubber duck as we talk through solutions to problems on the UX side and it's part of my job that I thoroughly enjoy.

(In fact the first draft of this diary was a full thesis on why pie charts are bad, but I was encouraged to tone down the rhetoric a little, so I will conclude they are aesthetically pretty but are horrible for conveying data.)

Just how angry is Paul? Even with the visualization you would still be guessing…

Now most of the time when we talk about Data Visualization in games, especially Paradox Games, the first thing that comes to mind is either line graphs or charts of some kind - giving a visual representation of data instead of just a pure numerical representation on the screen. This is not wrong, but data visualization is not solely about making some form of visual representation of abstract data. It is also about increasing the inherent cognitive understanding of the player by using known trends and patterns that are well established.

An easy example is the capacities, they are color-coded. When things are positive: it's green, when it's bad: it's red. We have a human tendency to impact meaning to color and thus it's a general rule of UX to never use Green and Red unless you are representing Good and Bad.

A quick glance at the capacities bar tells you all you need to know for the moment by color alone, and when you get its tooltip it continues such color coded summarization:

Have any of you who’ve seen streams or images noticed that this dynamic changes in regards to income? When your nation is in a deficit the balance can show either as white (neutral) or red (bad) in the capacity summary and there is an inherent reason for that?

We do not show a negative income balance as red until it reflects an unhealthy economy, but what do we mean by this? Nations run deficits all the time, but not all deficits are bad, especially those which are investments into the country such as construction. Construction is classified as a temporary national expenditure as opposed to a fixed one, meaning that we calculate your fixed revenue vs expenditure to be positive once the construction is finished, and we keep the income balance showing a neutral tone because of it.

This is to reflect that your money is going down, but the fundamentals are fine. What this allows you to notice is when this fundamental changes and turns red, signaling a larger issue of your economic fundamentals being out of balance that could cause future problems.

We may be losing money now but the fundamentals of the economy are okay if we ever stop building new factories…

This is a lot of what we have been trying to iterate on in Victoria 3 at this point in its development: we don’t want to just show you the static image of what’s going on just that moment but we want you to know the dynamic trends of where the data is going.

What do I mean by this? Well let me give you an example: see our buildings list (to make it clearer about what I am talking about I have gone with the minimized mode - didn’t know there was a minimized mode? Now you do!)

Behold the glorious minimized building menu and color-coded gold reserve bars.
(Bars are color coded on regular view as well)


Before cash reserves were only golden, and you would have to physically watch the bar tick along and hopefully notice the trend of your reserves. The data was still informative but you were only able to easily glance if your business had cash reserves (meaning it could afford a price disruption or could help supplement the investment pool). Now we use the historical data we would normally use to fill out a line graph to color the bar and add trend markers to show if the cash reserves is going up or down, coloring it green or red respectively.

Now at a quick glance you not only see how your economy is doing, but where it is going and you would be amazed at how significant such a small change can be. This is combined with our usage of red, white, and green to symbolize whether productivity is good or bad - to give you further depth of information: sugar industries in this picture are not failing but soon will be if you do not do something about it. Meanwhile the arms industry has stalled outright.

A lot of these data visualization changes, you might never see or notice, because when they work well their understanding becomes second nature, but here’s another one I want to call out: we recoloured the market summary tab:

Behold the new Market Panel, with corrected colors and balance bars to show the magnitude of the effect.

The older Market Panel, serviceable but flawed with its data presentation.

Okay we changed like 3 things, I hear you say - but why is that so damn important? I’m glad you asked that community strawman here’s why.

We removed the Red/Green visualization of the balance and by doing that we helped make our understanding of the market system clearer to the player. Remember, this is Victoria 3, imbalances are not inherently bad. Sometimes maintaining a shortage of a good can be done intentionally to prop up an industry or ensure the wealth of specific pops. (I went into the logic of why for this in my talk at PDXCON and if we are lucky at some point in the future I will get a copy of that up on the forums as well). We found that when we colored the items green/red we were inherently having players react in ways that they themselves found was not always good or what they wanted. In this case, this mostly meant players reacting to red numbers being “bad” and trying to make the number go green.

We also added balance bars, to help show you the magnitude of what those numbers mean in the scope of its total buy/sell volume and price scale. Can you tell from the old version above what the relative difference to your economy the liquor and sugar shortages are?). By giving more perspective on these offsets from equilibrium we help you better understand the cause and effect of your actions or most importantly; opportunity cost. If merely looking at high prices you might find yourself focusing on furniture or paper, but technically getting food prices lower is shown to have a larger impact on your economy, which is illustrated by the bars below the Balance values. The more blue or gold that bar is, the higher impact that Good’s imbalance has on your market. This impact may differ greatly per Good if it is good or bad, but that’s up to you to determine.

That’s just a few examples in the game of where we are iterating on data visualization. Mostly because these are the one’s I can easily remember and chat about. We are by no means done, Henrik, Aron and myself will continue in the trenches experimenting and iterating on such workflows throughout the game. We look forward to reading your feedback on release and use that to help us prioritize our backlog of ideas.

If you thought this dev diary was a sight to behold, just wait till you hear about the next one, which is the Audio of Victoria 3 which will be written by Franco Freda, our Head of Audio.

Dev Diary #60 - Modding



Hi folks! I'm Mike, one of the Game Designers who specializes in content for V3, and today we're going to talk about the delights of modding.

Modding is a whole world of things in Paradox games. Some mods are total overhauls, some are just simple little tweaks. I've seen sweet little mods that just add a person's pet as a graphic, or even one that I spotted on Hearts of Iron's workshop page as I wrote this that added in a dearly-departed office cat as a replacement for Joseph Stalin. There's all sorts of mods out there! And, hopefully, by the time you've finished reading this dev diary, you'll know how to create the start of your own mod for Victoria 3, too.

[h2]Starting with the launcher[/h2]

First thing's first: the way the innards of Victoria 3 operate is similar, but not exactly the same as, Crusader Kings 3 and Imperator, since they're all derived from the Jomini engine we also use. If you know how those games tick scripting-wise, you're 90% of the way to knowing how to make a V3 mod. If not, I will happily let Crusader Kings 3 explain a bit about how scripting in Jomini works.

If that stuff still leaves you a little baffled, don't worry about it! We're gonna walk through the basics of making a whole mod, from the first point of creation to actually running the darn thing.

So! Let's start from the top. When you fire up Victoria 3, you'll be greeted by the game's launcher. If you look in the upper-left of the launcher, you'll see four little options: Home, DLC, Mods, and Game settings. Click the Mods one. Go on. You know you want to.



From the Mods menu, you'll be greeted with three buttons. If you click "Mod tools" in the middle, you'll be greeted with a prompt to create a new mod if you haven't got any yet, otherwise you'll have to find the button on the menu and click it to bring up the Create new mod prompt.

Let's make something simple, shall we? How's about we make a country out of Ohio. Yeah, let's just make one country and make it show up in-game, that'll be a good test of all this stuff.



Slam that create button, and the launcher will create a new directory in your mod folder wherever your savegames and such are stored. In my case, and in most of your cases, that'll be in some place like



Found the directory? Good. Inside that directly, you're gonna find a folder named ".metadata", with a single file inside that, called "metadata.json". That folder and file is where all the data is stored that the launcher reads when checking out the mod, including the mod's name, version number if you wanna be fancy, and so forth. If you want to tinker with that stuff later, go on ahead, but we're not gonna touch it for this. Go back to the main directory, so that you're looking at "[...]\Paradox Interactive\Victoria 3\mod\It's Ohio!"

[h2]Mucking with files[/h2]

Let's start defining Ohio. The key thing with how to set up a mod is that you have to essentially copy the paths used in the main game, so the game reads everything right. In V3, country definitions are stored at "Victoria 3\game\common\country_definitions", so in our "It's Ohio!" directory we're going to make a "common" folder, and then a "country_definitions" folder within that. This mimics the path of the base game (that "Victoria 3\game" bit), so when the game reads this mod and tries to figure out how it interacts with the base game, it doesn't scream and die.

Inside our mod's "common\country_definitions" folder, we're going to make a little file I've arbitrarily called "ohio.txt". Open it up, and we'll paste text like this bad boy into it:



Wow! We've defined Ohio. Now let's tinker with history files so Ohio appears in-game.

Country control of a state is defined in a couple history files, found in the following directories:
  • common\history\buildings
  • common\history\pops
  • common\history\states


All three of these will need the base game files copied over- we sadly can't just add a new entry in a new file, because we also need to remove/replace the USA-related data in these as well. Make sure you duplicate these folder paths in the It's Ohio! mod folder, like you did with common\country_definitions.

Starting with the buildings directory, what we do is find "STATE_OHIO" among the buildings files- turns out it's in 05_north_america.txt. Copy that file and plop it into your mod's history\buildings folder, open it up there, then search for STATE_OHIO. You'll find a section that starts off with



and goes on from there. What's happening there is that we've declared that within the state region of Ohio (that is, "s:STATE_OHIO"), there should be a state controlled by the USA ("region_state:USA") that constitutes American Ohio. But we're making an independent Ohio, so all the data referring to American Ohio is useless and will confuse the game. All we're going to do is change that "region_state:USA={ " line to "region_state:OSU={ " so the same section now reads



Now, instead of telling the game that within the state region of Ohio we want to create a state controlled by the USA filled with the following buildings, we've told the game to create a state in Ohio that is just… Ohio, and that should be filled with the following buildings.

The same thing applies for common\history\pops. There's a 05_north_america.txt file we're gonna copy over, and we're going to find the STATE_OHIO entry, and change USA control to OSU.

State history is all saved in a single file, so in common\history\states\ you're just going to copy over the entire 00_states.txt file into your mod directory, and again crack open the file and search for STATE_OHIO. There, you'll find this entry:



A state is created out of provinces, which are all just x + whatever the hex code (a color expressed as six characters) for their province color is in the province map we used to create the whole map. In places like Ohio, there's only one state created per state region, but in places like Germany this section looks far more chaotic, as it is possible to create multiple states within a single state region. Don't think about Germany though, think about Ohio.

Hopefully you've picked up on the pattern of changes we've been doing- here again, we're just going to change that "country = c:USA" bit to "country = c:OSU", so that the whole STATE_OHIO section becomes



Exciting! I wonder what happens if we start up the game now?

[h2]Checking our work[/h2]



First, we need to get the darn thing enabled in the launcher. Open up the launcher, add a new playset, and call it "ohio!" or the name of your choice.



The launcher's going to say that the playset looks empty, so click the "ADD MODS" button that appears, so you can add mods, and then add “It's Ohio!”

Make sure the playset is enabled, and then let's play the game and see what happens.



Hold on… something feels wrong here. Let's quit out of the game, right-click on Vicky 3 in Steam, open up properties, and change the launch settings by plugging in "-debug_mode".



This enables the error log to appear in game. Let's see what happens when we load up the game now.



We have errors! We'll open up the error log, which can be found at "...\Paradox Interactive\Victoria 3\logs\error.log", and let's take a look at the error messages. Any time you're working on a mod, I cannot emphasize enough how useful it is to run the game with debug mode on and do your best to resolve any issues reported in the error log.

Please read the error log and fix errors reported there. I'm not even talking to just potential V3 modders now. Please, I beg you… read the error logs and fix the errors reported there.

Anyways! In our case, there's four sources to these errors:
  • By removing Ohio from the USA, we've reduced wine consumption enough that a scripted trade route that the USA starts with needs to be changed or removed. Easy enough, I'll copy the trade route history file over and remove that entry outright so I don't have to think about it anymore.
  • I didn't localize the Ohio tag (OSU)! I'll get around to localization after fixing the next two items.
  • I've completely forgotten to add country history, so Ohio's technological know-how hasn't been defined at all.
  • Starting pop prosperity, located in a separate "populations" file, hasn't been defined for Ohio.


Country histories cover technology and politics. To make this easy on myself and avoid scripting everything from scratch, I'm going to copy the country history of Ohio's natural counterpart at vanilla game start: Belgium. All I'm going to do is get to "common\history\countries\bel - belgium.txt" in the base game, copy that file over to the same path in the mod, rename it to "osu - ohio.txt", and open it up real quick. Inside, the file has a whole section enclosed within "c:BEL". That section contains several effects that set the starting laws and ruling interest groups of the country. I'm just gonna change that c:BEL there to c:OSU, so all those effects regarding politics and technology now apply to our OSU tag, then I'm gonna save the file and close out there.

The other history file I need to add is a population file. The population file contains some scripted effects which distribute health and literacy rates among a country's starting pops. We're going to find the Belgian one at "common\history\population\bel - belgium.txt". Like with the country history stuff, we're going to rename our copy to "osu - ohio.txt" (as long as it's named anything other than an existing history file, it won't accidentally overwrite anything, but keeping the same naming convention in place is useful for organization), and inside that file change the scope from c:BEL to c:OSU so the effects of the population file actually apply to Ohioans.

Speaking of "Ohioans", let's get that localization sorted. Base game localization is stored at "Victoria 3\game\localization" and further divided into the various languages the game is available in. I'm an Anglophone, so I'm going to default to English for this stuff. We're going to recreate the whole English-language localization folder path in our mod (so "It's Ohio!\localization\english"), then we're going to create our own little loc file to throw in there- let's call it ohio_l_english.yml just to stick to the theme. Now, all we need to add in that file is



And now our country should have a name and an adjective!

Some of you folks with modding experience may have noticed that existing localization in our games tends to have a number after the colon in these localization entries (like 'FRA:0 "France" ', for example). Those numbers are just there to help us and our translators keep track of when entries are changed and require revised translations- they have no functional purpose beyond that, and if you're just modding in one language and don't intend to translate your mod with the same tools we use, there's no need for you to include that number bit after the colon.

With those errors hopefully fixed, let's start up V3 again.



Ladies and gentlemen, we have Ohio. It still doesn't have a scripted flag- you can read more about how those work and are scripted here - but it's a country that functions. You could select Ohio and play as Ohio now, if you wanted, or you could elaborate further, and start writing events and journal entries. You could script up individual characters, or replace all Yankee pops in Ohio with your own bespoke Ohioan culture where everyone has names like "Bud" and "Janet". Explore the game itself, and the insides that make it all work!

In our Dev Diary next week, Paul will be talking about Data Visualization!