• 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.
Cool project. I'm not a C++ guy, so can't help out with that -- Python4Life ;)

Good luck with it, and I'll keep an eye on the thread; I dig around in the files often enough that I might be able to answer some question some day. Maybe.
 
Please do keep an eye on things. When we get into issues of balance later on, your python skills might help us extract information from the saves. It's too much to do by hand.
 
I've checked in code that imports CK2 characters (but kills the parsing time) and other code that gets the names for EU3 rules from either that or the appropriate history files. And I haven't caused myself so many null pointer problems in ages. One of those days, I guess.
 
If someone can explain to me how to make additional rulers appear in the EU3 'previous ruler' ledger page, I can make all former rulers of any given nation appear. Currently, I'm writing something like the following into the history section of each nation, but only the latest ruler appears in the ledger.

Code:
ENG=
{
	history=
	{
		1066.1.5=
		{
			monarch=
			{
				name="Harold"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3722
					type=37
				}
				dynasty="of Godwin"
				birth_date="1025.1.2"
			}
		}
		1066.10.14=
		{
			monarch=
			{
				name="William"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3723
					type=37
				}
				dynasty="de Normandie"
				birth_date="1027.1.15"
			}
		}
		1069.6.23=
		{
		}
		1072.4.21=
		{
			monarch=
			{
				name="Robert"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3724
					type=37
				}
				dynasty="de Normandie"
				birth_date="1054.1.1"
			}
		}
		1075.4.28=
		{
		}
		1090.5.15=
		{
		}
		1096.11.21=
		{
			monarch=
			{
				name="Gerald"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3725
					type=37
				}
				dynasty="de Normandie"
				birth_date="1077.4.8"
			}
		}
		1109.4.24=
		{
		}
		1114.2.18=
		{
		}
		1114.12.14=
		{
		}
		1139.1.14=
		{
			monarch=
			{
				name="Gerald"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3726
					type=37
				}
				dynasty="de Normandie"
				birth_date="1116.3.26"
			}
		}
		1139.9.20=
		{
			monarch=
			{
				name="Hawise"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3727
					type=37
				}
				dynasty="de Normandie"
				birth_date="1134.10.14"
			}
		}
		1142.7.24=
		{
			monarch=
			{
				name="Adelis"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3728
					type=37
				}
				dynasty="de Normandie"
				birth_date="1140.1.17"
			}
		}
		1174.1.6=
		{
			monarch=
			{
				name="Eustace"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3729
					type=37
				}
				dynasty="de Normandie"
				birth_date="1162.10.8"
			}
		}
		1213.7.22=
		{
			monarch=
			{
				name="Adela"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3730
					type=37
				}
				dynasty="de Normandie"
				birth_date="1183.10.29"
			}
		}
		1246.2.8=
		{
			monarch=
			{
				name="Christopher"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3731
					type=37
				}
				dynasty="de Normandie"
				birth_date="1217.9.3"
			}
		}
		1259.1.18=
		{
		}
		1262.8.4=
		{
			monarch=
			{
				name="Hugh"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3732
					type=37
				}
				dynasty="de Normandie"
				birth_date="1257.9.17"
			}
		}
		1296.10.16=
		{
		}
		1302.2.5=
		{
			monarch=
			{
				name="Gerald"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3733
					type=37
				}
				dynasty="de Normandie"
				birth_date="1278.12.27"
			}
		}
		1323.1.10=
		{
			monarch=
			{
				name="Hugh"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3734
					type=37
				}
				dynasty="de Normandie"
				birth_date="1303.5.20"
			}
		}
		1345.11.9=
		{
			monarch=
			{
				name="Adela"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3735
					type=37
				}
				dynasty="de Normandie"
				birth_date="1324.7.28"
			}
		}
		1366.12.30=
		{
			monarch=
			{
				name="Matthew"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3736
					type=37
				}
				dynasty="de Normandie"
				birth_date="1357.9.17"
			}
		}
		1378.6.11=
		{
			monarch=
			{
				name="Alice"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3737
					type=37
				}
				dynasty="de Normandie"
				birth_date="1347.12.27"
			}
		}
		1379.8.24=
		{
			monarch=
			{
				name="Gaudin"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3738
					type=37
				}
				dynasty="Leon"
				birth_date="1370.8.21"
			}
		}
		1393.7.20=
		{
		}
		1422.3.23=
		{
			monarch=
			{
				name="Gaudin"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3739
					type=37
				}
				dynasty="Leon"
				birth_date="1391.8.19"
			}
		}
		1426.3.23=
		{
			monarch=
			{
				name="Richard"
				DIP=1
				ADM=1
				MIL=1
				id=
				{
					id=3740
					type=37
				}
				dynasty="Leon"
				birth_date="1418.11.21"
			}
		}
		1427.11.3=
		{
		}
	}
	monarch=
	{
		id=3740
		type=37
	}
}
 
"previous monarch" entries are actually in the nation entry, outside the history files (just to confuse you). They look like this:

Code:
previous_monarch=
	{
		id=3672
		type=37
	}
previous_monarch=
	{
		id=7006
		type=37
	}
previous_monarch=
	{
		id=7540
		type=37
	}

All you need to know is there IDs. :)

EDIT: Yeah, what he said. :)
 
Of course, then it's best to also include the electors. I've never been an HRE member in any of my CK2 games, so can someone describe the election mechanics to me (or point out a guide that descibes them)?

The HRE's electoral system is more expansive than in EU3's engine. Every holder of a Ducal title within the de jure HRE can vote in the election, with each Ducal title as one vote (e.g., a holder of the Duchies of Bavaria and Swabia would have two votes).

I can see two ways on how the electorl system would carry over through conversion: Either the Duchies with the greatest amount of prestige would become one of the Electors (for however many elector spaces are available in EU3), or the holders of the greatest number of elector titles would be put up as the electors.

The tricky part would be a game where an elector count successfully rebels from the empire, which would only be heightened for games which your try to form an independent Kingdom of Germany, which would completely subsume the de jure boundaries of the HRE.
 
Well, the previous monarchs bit was easy enough to implement knowing that.
 
Hello
I have a question. Would it be possible to convert a ck2 game (playing on ck2 plus mod) to europa universalis 3 ?

It depends how much the mod changes. If it alters the map in any way, it'll take a tweak to make it work properly. If it adds lots of king of ducal titles, then it will take some more work as well. What mod are you using, and what does it change?

EDIT:

Frequently Asked Questions

Q: Will this work with CK2 mod X or EU3 mod Y?
A: We cannot guarantee that the converter will work for any mods, since we have not developed the converter with the many and varied mods in mind. As a rule of thumb, the more changes the mod makes the less "correct" your conversion will be. If the mod makes large changes to the map (either in CK2 or EU3) it is unlikely that the converter will work satisfactorily. Likewise, if the CK2 mod adds lots of new titles (especially empires and kingdoms) then it may not work satisfactorily.
 
Last edited:
It depends how much the mod changes. If it alters the map in any way, it'll take a tweak to make it work properly. If it adds lots of king of ducal titles, then it will take some more work as well. What mod are you using, and what does it change?

EDIT:

Frequently Asked Questions

Q: Will this work with CK2 mod X or EU3 mod Y?
A: We cannot guarantee that the converter will work for any mods, since we have not developed the converter with the many and varied mods in mind. As a rule of thumb, the more changes the mod makes the less "correct" your conversion will be. If the mod makes large changes to the map (either in CK2 or EU3) it is unlikely that the converter will work satisfactorily. Likewise, if the CK2 mod adds lots of new titles (especially empires and kingdoms) then it may not work satisfactorily.

Borrowed your edit as-is for the first post here. Well-stated.
 
Here's another 1453 save for your files. This one has some interesting stuff - relatively weak France, strong Byzantines, and Cathar HRE (!). Figure it should help. I really appreciate what you're doing. Thanks!

http://dl.dropbox.com/u/15777919/1-1-1453.ck2

Added to our test suite. I renamed it as Sicily, in case you look at the test data uploaded to Sourceforge with our builds.
 
So, province mapping is still holding us up? I'll try and get some extra swathes mapped this week. Once again, I don't know how neat it will be (I do my best), but at least we can start testing once the province mappings are done.

Central Europe mapped. The near east is all that's left. :)


A note on technologies: unless I've missed something important, CK2 tech can have levels 0 - 5 (province based). Assuming we know which CK2 tech belongs to which EU3 techtype, do we

1) Average the tech across all provinces in the new nation, or
2) Take the highest as the new tech level?


Also (have we discussed this yet?) how do we determine tech group? Simply using religion doesn't seem right. Simply using geographical location doesn't seem right... Are their science related events, flags, or decisions that we can use? Should everyone just be western?

EDIT: I've sussed it.

For starters, your EU3 tech group (as a mechanic) defines how quickly you research tech. To convert for this mechanic, we need to find something equivalent in CK2. It does exist, in the form of Monastic Schools (Bishoprics) and Universities (Cities). Each of them increases your technology rate by some percentage.

This rate is province-by-province. To determine the average learning ability of the country, therefore, we must add up the total number of schools and universities (by percentage point, perhaps) and then divide that value by the number of provinces in the country.

We should now have each country with a "learning ability" score. All we need to do is sort this in to tiers. This is a tricky part. We need to be sure that the correct tech group gets added for the right reasons. For example, is a complete lack of universities the same as having new-world tech ability? Maybe. Also, can steppe countries in CK2 build universities? That would be very interesting indeed.

Anyway, assuming that we say that no learning insitutions = new world tech (that is, complete inability to learn) then we say that new world tech = 0 learning score. The best western tech is the highest learning score. Take the value of the highest learning score, and split it in to tiers, such that:

0 - 10% = New World
10 - 20% = Sub-saharan
20 - 40% = Chinese
40 - 50% = Indian
50 - 80% = Muslim
80 - 85% = Ottoman
85 - 90% = Eastern
90 - 100% = Western.

Wherever the realms "learning ability" score falls determines the tech group that they will be in at game start. For example, if the highest learning ability was 100, and my country scored 86, then my tech group would be "Eastern", and whoever had the 100 score would be western.

This method ensures a couple of things:

1) There will always be at least one western nation (for westernisation to begin).
2) The further away from zero the worlds average learning ability score is, the more western (and less new world) the world becomes.

For example, if I had 5 nations, with scores like:

England: 0
France: 1
Germany: 2
Spain: 3
Russia: 4

... the tiers would be:

0 - 0.4 = New World
0.4 - 0.8 = Sub Saharan
0.8 - 1.6 = Chinese
1.6 - 2 = Indian
2 - 3.2 = Muslim
3.2 - 3.4 = Ottoman
3.4 - 3.6 = Eastern
3.6 - 4 = Western

And therefore

England = New World
France = Chinese
Germany = Muslim
Spain = Muslim
Russia = Western.

However, if there scores are like:

England = 96
France = 96
Germany = 97
Spain = 98
Russia = 100

Then the western cutoff would be 90, and therefore they would all be western.

This should allow us to convert the learning ability of the CK2 realm in to a tech group in EU3.

The total tech growth modifier for each building (and level) can be read in \common\buildings.txt. Search for ct_university, and tp_school.


So, with tech groups dealt with, we can move on to the techs themselves. CK2 tech is split in to three broad categories with many individual techs (but no naval techs). Since there are no navy techs, I believe that both the army and navy tech level should be determined by the military tech of the CK2 realm (since basing only navy tech on, say, port province numbers would be a bit arbitrary), or navy should simply be based on those military techs that aren't completely land-bound.

All we need to do is determine which CK2 techs belong to which EU3 techs, we average them (or pick the highest ??? ) in the realm, and that will be the new tech level for the country. Some of the CK2 techs may appear in multiple EU3 techs

Government:
Church Taxes
Noble Customs
Popular Customs
Religious Customs
Majesty
Spiritual Art
Cultural Flexibility
Religious Flexibility
Legalism

Production:
Farming
Town Infrastructure
Church Infrastructure
Construction
Trade:

Army:
Bows
Light Armour
Heavy Armour
Infantry Melee Weapons
Cavalry Melee Weapons
Siege Equipment
Military Fortifications
Tactics

Navy:
Bows
Light Armour
Heavy Armour
Infantry Melee Weapons
Siege Equipment
Tactics


So, we have:

1) Determined tech group by the actual learning ability of the CK2 realm.
2) Determined tech level by using the CK2 tech level.
 
Last edited:
Don't forget that tech groups also determine the available unit types, with the slower groups usually having better starting units. Of course, those two aspects of tech group get out of sync during the westernization process. We may be able to abuse that mechanic.

And in the 1399 start, there's very little variation in tech level across the European region. I need to see what the tech situation is like in 1453, but I think we should also keep variation low (but not non-existent).

Finally, only Muslim and up tech groups appear in the European region in 1399 (except for the Timurids), so we should probably only consider those groups.

Other than that, I like your ideas.
 
So I was planning to get heirs to titles worked out next. But to my dismay, it seems that data is not directly stored anywhere. I guess it's all derived data, which means I'll have to derive it. This is going to be a mess…
 
Just wanted to say, part of me really wants to get my Norse Norway game this far JUST so I can send it yalls' way. I don't even own EU3... though I might have to pick it up to continue the story of hardy Vikings who've managed to survive the wrath of the Catholics (so far). You know, if it could be converted to EU3...