A bit of intro
This is not story of Victoria2, not story of moding and not the story of weather Oman should be represented as slave country. Rather this is story how it look like that random circumstances influence the complex software development (in this case the game of Victoria).
A long time ago I have loved potential of Victoria, but hated its “unfinished” (bugy) state. However recently I was reading the forum and got inspiration. I decided to give another try and have a little play. Somewhere in my old archives I found a copy of Victoria 2 latest version..
So I started to play with Victoria, had a bit of fun but then the emersion breaking inconsistencies started to creep in. Ok – I thought. I will try to fix them .. This way my intended “light game of Victoria” degenerated into “game of moding” - as unfortunately it happens with Paradox titles. I will skip the details of "other modding", but the most recent discovery finally was the final nail in the coffin – I didn’t know if to rage or to laugh.
On topic
So in current vanilla (unmodified Victoria) version Oman (and several other countries) does not have slavery (while in real life they have). If you search the forum you can even find “clever opinions” on fact that this was “correct decision” taken by Paradox because “in game slavery does not represent whatever has happened in Oman” and other “obvious” reasons as that. Of course other opinion is also present.
Considering I personally disagree on those reasons I decided to mod Oman with slavery. Ok – I thought. I check the pop files and I find that vanilla Oman provinces already HAVE slave pops defined. However obviously if you start game as Oman you would find that those pops has turned into farmers upon start. So far so good. As we all (should) know in order to have slavery the country should have slavery reform passed (slavery allowed). To pass the slavery in game interface there is a bit of problematic since Oman is not civilized. However – I am doing moding – right? Right. I find the place where reforms are defined for a country (if you wonder it is “history\countries\OMA - Oman.txt”). There is “slavery = no_slavery” in vanilla, so I turn it to “slavery = yes_slavery”. Run the game. No nothing changes (I’ll skip observations and steps nonessential to the story).
Ok, maybe when creating uncivilized countries developers decided that uncivilized countries should not be allowed slavery at all. Ok, I will create new reform slavery2 (code in “issues”) and pass it at start. No change. Ok, maybe they do not allow more than given number of reforms, lets add effect of “slavery allowed” to already existing reform that is already passed. Surprise – no change. Some more guesses – no result.
Then maybe developers have hardcoded “slavery” reform effect into code and the actual existence of effect in “issues.txt” do nothing. In order to test the assumption I turn Oman civilized. Run the game. Nothing changes.
This becomes interesting. Maybe I need to specify on state level that slavery is allowed. I search the existing code and yes for someUSA provinces (not all) developers have specified that slavery allowed. Good. I do that for Oman province. Result – you guessed it - none. I do that for all Oman provinces including capital. No change. Maybe I need different continent. I relocate Oman to north America. No help either. Other reforms? Technologies? Then do some more “educated” guesses.
This becomes more interesting. I give Oman provinces to USA. Start the game. AND … suddenly the Oman provinces are slave owning with slave population.
It looks like developers have hardcoded country tags into game. But is sounds so unlikely and hex search on Victoria.exe can not find VNZ (venecuela - they have slaves to) as hardcoded.
But then I try educated guess of “order of things” are defined. And yes – finally Oman turns into slave state.
Conclusion
The most likely reason Oman as well as other countries that lost they slave population does not have slavery is because during Paradox development someone has created new templates for some countries that have different line orders (with the same content) in its initialization. And somewhere in game code the new “wrong” line order broke the country’s ability to become slave state at game start. And Paradox didn’t have time to investigate the code - so to maske the error for broken countries they just wrote additional line “slavery = no_slavery” and left things as they are (no slavery for Oman at game start).
Remarks
Sadly this is my impression of all Paradox titles. This type of bugs is way too often found in their games.
This is not story of Victoria2, not story of moding and not the story of weather Oman should be represented as slave country. Rather this is story how it look like that random circumstances influence the complex software development (in this case the game of Victoria).
A long time ago I have loved potential of Victoria, but hated its “unfinished” (bugy) state. However recently I was reading the forum and got inspiration. I decided to give another try and have a little play. Somewhere in my old archives I found a copy of Victoria 2 latest version..
So I started to play with Victoria, had a bit of fun but then the emersion breaking inconsistencies started to creep in. Ok – I thought. I will try to fix them .. This way my intended “light game of Victoria” degenerated into “game of moding” - as unfortunately it happens with Paradox titles. I will skip the details of "other modding", but the most recent discovery finally was the final nail in the coffin – I didn’t know if to rage or to laugh.
On topic
So in current vanilla (unmodified Victoria) version Oman (and several other countries) does not have slavery (while in real life they have). If you search the forum you can even find “clever opinions” on fact that this was “correct decision” taken by Paradox because “in game slavery does not represent whatever has happened in Oman” and other “obvious” reasons as that. Of course other opinion is also present.
Considering I personally disagree on those reasons I decided to mod Oman with slavery. Ok – I thought. I check the pop files and I find that vanilla Oman provinces already HAVE slave pops defined. However obviously if you start game as Oman you would find that those pops has turned into farmers upon start. So far so good. As we all (should) know in order to have slavery the country should have slavery reform passed (slavery allowed). To pass the slavery in game interface there is a bit of problematic since Oman is not civilized. However – I am doing moding – right? Right. I find the place where reforms are defined for a country (if you wonder it is “history\countries\OMA - Oman.txt”). There is “slavery = no_slavery” in vanilla, so I turn it to “slavery = yes_slavery”. Run the game. No nothing changes (I’ll skip observations and steps nonessential to the story).
Ok, maybe when creating uncivilized countries developers decided that uncivilized countries should not be allowed slavery at all. Ok, I will create new reform slavery2 (code in “issues”) and pass it at start. No change. Ok, maybe they do not allow more than given number of reforms, lets add effect of “slavery allowed” to already existing reform that is already passed. Surprise – no change. Some more guesses – no result.
Then maybe developers have hardcoded “slavery” reform effect into code and the actual existence of effect in “issues.txt” do nothing. In order to test the assumption I turn Oman civilized. Run the game. Nothing changes.
This becomes interesting. Maybe I need to specify on state level that slavery is allowed. I search the existing code and yes for someUSA provinces (not all) developers have specified that slavery allowed. Good. I do that for Oman province. Result – you guessed it - none. I do that for all Oman provinces including capital. No change. Maybe I need different continent. I relocate Oman to north America. No help either. Other reforms? Technologies? Then do some more “educated” guesses.
This becomes more interesting. I give Oman provinces to USA. Start the game. AND … suddenly the Oman provinces are slave owning with slave population.
It looks like developers have hardcoded country tags into game. But is sounds so unlikely and hex search on Victoria.exe can not find VNZ (venecuela - they have slaves to) as hardcoded.
But then I try educated guess of “order of things” are defined. And yes – finally Oman turns into slave state.
Conclusion
The most likely reason Oman as well as other countries that lost they slave population does not have slavery is because during Paradox development someone has created new templates for some countries that have different line orders (with the same content) in its initialization. And somewhere in game code the new “wrong” line order broke the country’s ability to become slave state at game start. And Paradox didn’t have time to investigate the code - so to maske the error for broken countries they just wrote additional line “slavery = no_slavery” and left things as they are (no slavery for Oman at game start).
Remarks
Sadly this is my impression of all Paradox titles. This type of bugs is way too often found in their games.