For Victoria 3 players, this guide will go through the steps needed to make a new state and give it settlements, a name, resources, and more.
Introduction
This guide relies heavily on skills for map modding covered in Cynic’s guide on mass moving provinces between states, so if you don’t already have some way of doing that, you should check it out. I will cover it only very briefly.
Tools used in this guide:
- Notepad++ and Sublime (you can use your favourite text editor, but more basic ones like Notepad won’t cut it)
- GIMP (you can use Photoshop, too, of course)
- Victoria 3’s in-game map editor
- Experience, which you will need to build up over time
Step 1 – Location and Provinces
What follows is a brief summary walk-through.
To start with, you’ll need to get the IDs of the provinces you want to put in the new state. This can be done by selecting them in the provinces map file. In the image below, I am using my own file where I’ve drawn the states as a layer, so it’s easier to know what provinces to select.
I want to split Savonia off from the state of Southern Finland, and so it will have the above provinces (at least to start with). I’ve selected all of them, and I’ll copy them into a new file and then change the image mode to indexed:
Now that they’re indexed (as hex colour codes), we’ll export them to a text file. Make sure that text file is somewhere easy for you to find.
I’ve done that and now when I open my file I see this:
These are the hex values of the provinces I selected. I need to make them usable, and so I’ve got some macros set up:
Definitely check out Cynic’s guide for instructions if you know nothing about macros. They save time. I made most of the macros here and for this particular task I used “Make province colours usable”, which adds an x to the start of each ID, and some other stuff. Now that I’ve made my IDs usable, it’s time to start editing my mod’s files. The following steps can be done in any order, just make sure you do them all.
Step 2 – Editing files
Remove the provinces in your list from their original state like this:
Success! The 26 state IDs were found and removed.
1a) Create a new entry for the new state and copy the provinces from your list into it
2) map_data/state_regions/(relevant file)
Remove the provinces in your list from their original state like this:
You will need to deal with the quotes – so either add them to the list with a macro (this is what I do) or find some other way to quickly delete them.
Sidenote: I’m told that the quotes don’t matter that much, but I find it easiest to keep the map_data province IDs in quotes and the others not. Feel free to experiment and see if this file actually needs quotes.
2b) Create a new entry for the new state and copy the provinces from your list into it, remembering the quotes. The highest ID for a state at the time of writing is 600, so you can choose something above that for your state’s ID. I expect that lots of states will be added in the future, but not more than 200, so I’ve chosen 800 for my state. If you want to check the IDs for yourself, or make sure that there aren’t any with the ID you’ve chosen, just search the files for id = 800
I copied the above state and just split it roughly. It will need balancing and refinement.
Also, the old state and the new still will need to have their settlement province IDs in this file modified, but I haven’t found much use for this feature yet. It certainly doesn’t have anything to do with affecting the placement of the settlements on the map (it’s the other way around, in fact). More on this in the next section of the guide.
3) localization/english/(relevant file)
This state will be called STATE_SAVONIA in game until I tell the game how to write that in English, so in a localization file I’ll put the following:
About localization files, they can have any name so long as four conditions are fulfilled:
- The file name must end in _l_english (or whatever language you’re using)
- The file must be in the .yml format
- The file must have UTF8-BOM format
- The first line in the file must be l_english
Additionally, you will get errors if you’re trying to change basegame localizations, so any of those you want to change must be in a folder called replace inside the localization folder.
4) history/buildings/(relevant file)
Add an entry for your state. It’s probably easiest to split the buildings from the original state. That’s what I did here. Also, obviously, if it isn’t coastal it can’t have fishing or ports.
5) history/pops/(relevant file)
Add an entry for your state. It’s probably easiest to split the population from the original state. That’s what I did here. The balance is quite rough and will need work.
5) common/strategic_regions/(relevant file)
Add your state into the relevant strategic region.
And with all of that done, the state works! But we’re not totally finished yet!
Step 3 – Settlements
As you may know, every state has 4 or 5 settlements: city, farm, wood, port and mine. Obviously, non-coastal states don’t have ports. These are the only settlements that can exist, and there can only be one of each per state. The settlements appear on the map when a relevant building has been built on the state.
As you may also know, settlements are composed of a locator, which is the visual graphic that makes the settlement visible, and an anchor hub (which I will call just a “hub”). These are what we will be dealing with here.
1 – Open the map editor
I do this by opening the console with the key above Tab (you may need to have debug mode enabled) and typing map_editor.
Then when it’s gotten set up, turn on autorefresh and draw city spheres. These will allow you to manipulate the locators.
This is what the map looks like now. Mikkeli is no longer in the Southern Finland state, so it needs to be moved into it.
2 – Add the new state’s hubs
Then I need to add hubs for Savonia. Since the state ID is 800, the hub IDs will be 80000, 80001, 80002 and 80004 (80003 would be a port). I’ll just put them wherever for now:
3 – Use the generated locators
Save as (I strongly recommend against ever using “Save all”), and exit. In the error log you’ll see something like the following:
[19:35:54][game_object_locators.cpp:442]: map object locator “city” is incomplete. A new file with locator data has been generated ( C:/blahblah/Paradox Interactive/Victoria 3//generated/generated_map_object_locators_city.txt ). Copy that file (or its contents) to game/gfx/map_object_data to fix the error logs. [19:35:54][game_object_locators.cpp:442]: map object locator “farm” is incomplete. A new file with locator data has been generated ( C:/blahblah/Paradox Interactive/Victoria 3//generated/generated_map_object_locators_farm.txt ). Copy that file (or its contents) to game/gfx/map_object_data to fix the error logs. [19:35:54][game_object_locators.cpp:442]: map object locator “mine” is incomplete. A new file with locator data has been generated ( C:/blahblah/Paradox Interactive/Victoria 3//generated/generated_map_object_locators_mine.txt ). Copy that file (or its contents) to game/gfx/map_object_data to fix the error logs. [19:35:54][game_object_locators.cpp:442]: map object locator “wood” is incomplete. A new file with locator data has been generated ( C:/blahblah/Paradox Interactive/Victoria 3//generated/generated_map_object_locators_wood.txt ). Copy that file (or its contents) to game/gfx/map_object_data to fix the error logs.
Navigate to that path:
And copy those four files to yourmod/gfx/map_object_data. When you start up the map editor, your locators will now be on the map. Move them to be where you want them to be:
4 – Add new splines
It’s a nice idea to add splines at this stage.
5 – Add localization for the hubs
As before with the state localization, add some for your new state’s hubs.
As you can see, the format is HUB_NAME_STATE_(statename)_(hub_type): “Hub name”.
With that all done, things look like this.
And we are all finished adding our new state!
At this stage it may be a good idea to go back to your map_data/state_region entry for the state and find what provinces you’ve put your settlements in in this section and write those IDs there.
Alternative method
- Create the state entry in map_data/state_regions without putting any states in (just leave provinces in your entry empty so it will only read provinces = { }
- Open the map editor and select the Map Content Editor from the left vertical toolbar
- Switch to the state focus (the province view is the default and not useful here) and find your new state from the list
- Start using the map editor to remove provinces from states to add to your new one
If you choose to do it this way, remember to Apply Changes and save frequently!
As you might be able to tell from what’s missing on the list, you’ll still need to follow parts of this guide to get the state fully working.
Closing remarks
Related Posts:
- Victoria 3 How to Move Provinces Between States in Large Amounts Quickly
- Victoria 3 How to Move Settlements in the Map Editor
- Victoria 3 How to create a country
- Victoria 3 Quick Independent Luxembourg Guide
Say if I’m creating a new coastal state, could you briefly explain how I should configure the naval exit setting? Thanks.