• 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.
Since there was some discussions and curious people in the last dev diary thread I thought I should take a break from HOI3: For the Motherland and describe how the character portrait system works. If there are any art questions perhaps Danevang who is doing the actual art can answer those for you, I will focus more on the technical aspects. Remember that all of these pictures are still very much in progress and things will change and a lot of things will be added.


The primordial goo

The way a character looks is based on two things: inheritance (we call this DNA) and other factors (we call these properties). Your DNA is created when you are born and cant be changed. Its a mix of your characters parents DNA plus a small "mutation chance" to simulate genes from ancestors and to make people look different despite not having millions of characters. Properties on the other hand change during a characters lifetime depending on traits, social status etc.

For example DNA will tell if you inherited the big 'ol family potato nose and blond hair (and if not it might cast some suspicions on what your mom was up to while your dad was busy crusading) and properties will tell what kind of hair style you prefer and if you are likely to wear a crown because you're king and how fancy your clothes are.
Currently there are 11 DNA genes and 6 properties for each character, but its not unlikely that we will increase these during the project.

Below is a picture showing inheritance, sadly none of our female portraits are ready for showing yet so I'v shown only the male line:

stenkil.png

You can also see the effects of properties, our character in the middle is a king with a crown and one of his sons is a bishop, above him is his late father. This picture also shows the effect of aging. We currently have 4 age levels for the portraits so you will see your characters grow wrinklier, get bigger ears and their hair thinning and becoming white.

The DNA is scriptable in history files for character if we want to make someone look like their historic counter part (arguably this was more important in EU: Rome because the romans were pretty good at making statues so we could see what people looked like), then during startup the game will run through characters outwards from scripted ones and propagate their genes for a plausible result for all the ones not scripted.


Hey, you said this was about modding not biology!

ok ok, lets see some code and I'll show you how characters can be modded.
Character portraits are described in two files, one for the graphics and one for scripting logic around properties.

Graphical portrait setup
Code:
[COLOR=YellowGreen]# portraits.gfx[/COLOR]
[COLOR=YellowGreen]# graphical look of character portraits[/COLOR]

[COLOR=YellowGreen]# middle age[/COLOR]
portraitType = {
    name = [COLOR=Magenta]"PORTRAIT_norsegfx_male1"[/COLOR]
    effectFile = [COLOR=Magenta]"gfx\\FX\\portrait.fx"[/COLOR]
    layer = { [COLOR=YellowGreen]# GFX_TYPE:[d|p]INDEX:COLOR_LINK[/COLOR]
        [COLOR=Magenta]"GFX_character_western_background:p0"
        "GFX_western_male_clothes_behind:p3"
        "GFX_western_male_headgear_behind:p5"
        "GFX_western_male_beard_behind_midage:p4:h"
        "GFX_western_male_base_midage:p2"
        "GFX_western_male_neck:d0"
        "GFX_western_male_chin:d1"
        "GFX_western_male_mouth_midage:d2"
        "GFX_western_male_nose_midage:d3"
        "GFX_western_male_cheeks_midage:d4"
        "GFX_western_male_head:d5"
        "GFX_western_male_eyes_midage:d6"
        "GFX_western_male_eyes2:d6:e"
        "GFX_western_male_clothes:p3"
        "GFX_western_male_beard_midage:p4:h"
        "GFX_western_male_ear_midage:d7"
        "GFX_western_male_clothes_infront:p3"
        "GFX_western_male_headgear:p5"[/COLOR]
    }

    hair_color_index = [COLOR=Cyan]8[/COLOR] [COLOR=YellowGreen]# which DNA gene sets hair color[/COLOR]
    hair_color = { [COLOR=YellowGreen]# dark, base, highlight[/COLOR]
        { [COLOR=Cyan]15 8 0[/COLOR] } { [COLOR=Cyan]173 158 102[/COLOR] } { [COLOR=Cyan]255 255 255[/COLOR] }
        { [COLOR=Cyan]10 10 10[/COLOR] } { [COLOR=Cyan]125 100 82[/COLOR] } { [COLOR=Cyan]255 255 255[/COLOR] }
        { [COLOR=Cyan]30 22 18[/COLOR] } { [COLOR=Cyan]194 132 97[/COLOR] } { [COLOR=Cyan]255 255 255[/COLOR] }
    }

    eye_color_index = [COLOR=Cyan]9[/COLOR] [COLOR=YellowGreen]# which DNA gene sets eye color[/COLOR]
    eye_color = {
        { [COLOR=Cyan]58 109 193[/COLOR]}
        { [COLOR=Cyan]120 74 46[/COLOR] }
        { [COLOR=Cyan]34 103 36[/COLOR] }
    }
}
The name for the portrait type specifies that this is used for the norse graphical culture group and that he is male and middle aged (the number at the end sets age). The portrait is made up of 18 layers (this can change between ages and cultures as well if wanted) and each layer has a string describing it. Lets use "GFX_western_male_beard_midage:p4:h" as an example. This specifies that it should use an image from the GFX_western_male_beard_midage icon strip (specified higher up in the file), that it should use property 4 :)p4) from the character to decide which beard to pick and the last ":h" means that it should be colored using the characters Hair color. If we had wanted to connect to DNA instead of a property (like for the nose) we would write :d4 instead of p4.

Layers are free to connect to the same property and this is done quite a bit for clothes and beard/hair etc that needs to show both behind and in front of other layers. This is what GFX_western_male_clothes looks like for the first 3 options:

western_male_clothes.png

Further down are hair and eye colors specified. For hair there is 3 colors for each property so we can tint hair highlights differently from base colors etc.

Property scripting
A separate file "portrait_properties.txt" specifies what properties a character should have. These are updated on major changes on the character like a new trait, a new title etc and also randomly once in a while. Scripting properties looks like this this, any property not mentioned will basically have a random value picked (so if we don't specify anything for hair/beards you will just get a random beard):
Code:
[COLOR=YellowGreen]# p3 clothes[/COLOR]
[COLOR=Cyan]3 [/COLOR]= {
    [COLOR=Cyan]0[/COLOR] = { [COLOR=YellowGreen]# mail armour[/COLOR]
        factor = [COLOR=Cyan]1[/COLOR]
        modifier = {
            factor = [COLOR=Cyan]2.0[/COLOR]
            martial = [COLOR=Cyan]5[/COLOR]
        }
        modifier = {
            factor = [COLOR=Cyan]100.0[/COLOR]
            has_job_title  = job_marshal
            OR = {
                is_ruler = no
                is_theocracy = no
                NOT = { religion_group = christian }
            }
        }
    }
    [COLOR=Cyan]1[/COLOR] = { [COLOR=YellowGreen]# fancy shirt[/COLOR]
        factor = [COLOR=Cyan]5[/COLOR]
        modifier = {
            factor = [COLOR=Cyan]10.0[/COLOR]
            OR = {
                has_job_title = job_treasurer
                has_job_title = job_chancellor
            }
        }
    }
    [COLOR=Cyan]2[/COLOR] = { [COLOR=YellowGreen]# Catholic vestments[/COLOR]
        factor = [COLOR=Cyan]100[/COLOR]
        modifier = {
            factor = 0
            NOT = { religion_group = christian }
        }
        modifier = {
            factor = [COLOR=Cyan]0[/COLOR]
            OR = {
                is_ruler = no
                is_theocracy = no
            }
            NOT = { has_job_title  = job_spiritual }
        }
    }
}
The top level is the property, so 3 is the same as :p3 in the graphical description we showed above. The next level in specifies which entry among the icons to pick, this script basically selects between 3 options: chain mail, fancy shirt and a more spiritual outfit. The factors you see are just percentages, but if something is specified with a value of 100 or above it always overrules any other option after it.

Alright, hopefully that was clear. So lets test this with an example. We want to add another layer connected to property 6 to our portrait. lets call it "props" so first we declare a sprite like normally in our gfx file and refer to it in the portrait description at the very end with "GFX_western_male_props:p6". Then we add a rule in the properties script like so:
Code:
[COLOR=YellowGreen]# p6 props[/COLOR]
[COLOR=Cyan]6 [/COLOR]= {
    [COLOR=Cyan]0[/COLOR] = { [COLOR=YellowGreen]# empty, dont use props, this is default[/COLOR]
        factor = [COLOR=Cyan]1[/COLOR]
    }
    [COLOR=Cyan]1[/COLOR] = { [COLOR=YellowGreen]# new prop. overrule all if character qualifies[/COLOR]
        factor = [COLOR=Cyan]100[/COLOR]
        modifier = {
            factor = [COLOR=Cyan]0[/COLOR]
            trait = [COLOR=Red]cool[/COLOR]
        }
    }
}
This means that if our character gains the "cool" trait and we have done our modding correctly his portrait will be changed to something like this:

cool.png

Looks like this
*puts on sunglasses*
wraps up this developer diary.

YEAAAAAAAAAAAAAH!

(disclaimer: there probably wont be any sunglasses in the real game)
 
Last edited:
The background is very dark. I understand you are going for a middle ages feel, but I feel like the three witches are gonna come out and start telling people it's their destiny to be king of Scotland. Couldn't the background be a nice pleasant spring day? Or maybe a nice crisp winter day of you are old and the fiery pits of hell once you are dead.
 
Here's the funny thing: in bed girls alsways compliment my soft skin. They have dificulties believing, that over the muscles there is such a young skin :D

I love our forum sometimes


The background is very dark. I understand you are going for a middle ages feel, but I feel like the three witches are gonna come out and start telling people it's their destiny to be king of Scotland. Couldn't the background be a nice pleasant spring day? Or maybe a nice crisp winter day of you are old and the fiery pits of hell once you are dead.

dont worry too much about the looks for now. this was the earliest portraits drawn and there was only one background done as well I think. everything is subject to change.
 
I would say in Finland its the cold winters that is the main effect with other weather conditions.

No we drink and smoke too much...

On toppic really good looking potraits but i am dissapointed that we have only seen swedish potraits... no other races or mixed ones especially mixed would be neat to see
 
No we drink and smoke too much...

On toppic really good looking potraits but i am dissapointed that we have only seen swedish potraits... no other races or mixed ones especially mixed would be neat to see

How many mixed-race people were there in those days (counting only the three generally recognised major race groups)?

EDIT: I suppose in Russia this would be a factor, but I can't see it being one much elsewhere.
 
How many mixed-race people were there in those days (counting only the three generally recognised major race groups)?

EDIT: I suppose in Russia this would be a factor, but I can't see it being one much elsewhere.

Turks and Greeks in Anatolia.
 
Turks and Greeks in Anatolia.

Both Caucasian... I know some naitonalists on either side wouldn't want to hear it but they really aren't that different, certainly not so different you would need a completely different portrait to represent their faces. I mention Russia because so many people there may have got Mongolian blood, but I'm not sure how the Mongols are represented in that area. Really everyone else on this map is the same race, just with small regional characteristic differences.
 
Both Caucasian... I know some naitonalists on either side wouldn't want to hear it but they really aren't that different, certainly not so different you would need a completely different portrait to represent their faces. I mention Russia because so many people there may have got Mongolian blood, but I'm not sure how the Mongols are represented in that area. Really everyone else on this map is the same race, just with small regional characteristic differences.

Yes, both are extremely similar now. Not so in 11th century, before Turkic tribes settled in Anatolia.
 
Yes, both are extremely similar now. Not so in 11th century, before Turkic tribes settled in Anatolia.

Well there really was no 'Turkic' ethnicity, rather a linguistic group as far as I undertsand it, so there isn't really any way to compare 'Turks of the 11th century' to Greeks of the 11th century. In my opinion (and my opinion only), they would still be similar enough to use the same faces for the portraits. Accessories and clothes though, are something else entirely...
 
Turks and Greeks in Anatolia.

Swedes/Norwegians (and to a smaller degree Russians) and Finns/Samis

Hungarians and Germans

Sicily (one melting pot basically)

Spain during the Reconquista (muslims and jews)

Norse people based in Scotland or Ireland eventually merging with the majority cultures

England has both anglo-saxons, normans, danes, brythonics (cornish and welsh) who eventually fused to form the english

France has the franks and the occitans exchanging and assimilating somewhat

The slavian Balkans are not that well documented in the early period but it certainly did take a lot of movement and adaptation to form the boundaries existing when the Ottomans invaded
 
Swedes/Norwegians (and to a smaller degree Russians) and Finns/Samis

Hungarians and Germans

Sicily (one melting pot basically)

Spain during the Reconquista (muslims and jews)

Norse people based in Scotland or Ireland eventually merging with the majority cultures

England has both anglo-saxons, normans, danes, brythonics (cornish and welsh) who eventually fused to form the english

France has the franks and the occitans exchanging and assimilating somewhat

The slavian Balkans are not that well documented in the early period but it certainly did take a lot of movement and adaptation to form the boundaries existing when the Ottomans invaded

None of those peoples look different enough to warrant completely different portrait types. Honestly, how diffeerent do you think the actual facial features of the average Celt were from the average Norseman?
 
Well there really was no 'Turkic' ethnicity, rather a linguistic group as far as I undertsand it, so there isn't really any way to compare 'Turks of the 11th century' to Greeks of the 11th century. In my opinion (and my opinion only), they would still be similar enough to use the same faces for the portraits. Accessories and clothes though, are something else entirely...

They were Altaic peoples that eventually, after conquest of Anatolia, mixed with local 'Greeks' leading to modern Turks - process which started after CK start date. You can read more here. It is basically similar thing as Bulgars who lost their Turkic traits to Slavic population that they conquered.
 
They were Altaic peoples that eventually, after conquest of Anatolia, mixed with local 'Greeks' leading to modern Turks - process which started after CK start date. You can read more here. It is basically similar thing as Bulgars who lost their Turkic traits to Slavic population that they conquered.

But even when they got there, weren't the various groups of Turkic people already mixed amongst both themselves, peoples they had encountered while travellng west and people from the 'west'? They weren't one ethnic group (or at least that's what I've always heard, I don't claim to be an expert). I don't think the 'Turkic' people of those days generally looked like today's Altaic people. I think if you needed portraits, different clothes, backgrounds etc would do.

But I could be wrong...
 
None of those peoples look different enough to warrant completely different portrait types. Honestly, how diffeerent do you think the actual facial features of the average Celt were from the average Norseman?

They may not warrant different portraits ("Caucasian" faces), but why would they not look different? Especially having a certain type of diet and climate makes some regions' inhabitants stick out from another in form of genetics and total physical appearance (in contrast to say language and religion). All I'm saying is cultural exchange resulting in mixed cultures did occur (which I thought was downplayed in this thread), and probably the most well documented one in history at that (the dark ages had this all around Europe but is less documented).
 
But even when they got there, weren't the various groups of Turkic people already mixed amongst both themselves, peoples they had encountered while travellng west and people from the 'west'? They weren't one ethnic group (or at least that's what I've always heard, I don't claim to be an expert). I don't think the 'Turkic' people of those days generally looked like today's Altaic people. I think if you needed portraits, different clothes, backgrounds etc would do.

But I could be wrong...

Well, yes of course - this is a bit of simplification. Lets wait and see what devs would have to say about planned complexity of ethnic traits on portraits. I hope that there would be more than two groups from CK1 (Muslims and Christians).
 
They may not warrant different portraits ("Caucasian" faces), but why would they not look different? Especially having a certain type of diet and climate makes some regions' inhabitants stick out from another in form of genetics and total physical appearance (in contrast to say language and religion). All I'm saying is cultural exchange resulting in mixed cultures did occur (which I thought was downplayed in this thread), and probably the most well documented one in history at that (the dark ages had this all around Europe but is less documented).

I'm not saying there should be no differences, but I think having different hair, clothes, background, beards, clothes, hairstyles and so on would do the job. Sure, it might be cool for the average South Italian to look a tad darker than the average Icelandic guy, but I don't think you should need a completely different set of facial characteristics for either of them.

Not hugely important in the greater scheme of the game.

Well, yes of course - this is a bit of simplification. Lets wait and see what devs would have to say about planned complexity of ethnic traits on portraits. I hope that there would be more than two groups from CK1 (Muslims and Christians).

Good idea.
 
We have thus far only seen Scandinavians, Englishmen, and Germans to my memory. Maybe the devs can give us some idea of how this will work, if there will be different face sets (as in CK1) and if so how many. One of the complaints about faces in CK1 IIRC is how culturally diverse families come out, with say two of the five children of a Norman father and Arab mother having "Arab" faces and clothing and the other three having "Caucasian" faces and clothing.

Personally, I would prefer for children of parents from widely diverse cultures to be a fair mix of the two parents, genetically and culturally (more or less). In places like Sicily, Iberia, the Levant, and the fantasy crusader states that would be createable in CK2, over time a physically and culturally diverse population could rise, depending on a number of political and economic factors. This is a politically sensitive issue for some players, understandably, but it is something that I am curious about.
 
I always imagined, that the original Turks had to look more "asian like" sort of like the former Turkish football player Ilhan Mansiz

ilhan_masiz.jpg
 
I have a question about heritability etc.

There are two scenarios I'mthinking about: one, where you get a "pretty wench catches your eye" event, which spawns a bastard, and two, when two characters in a court become "friends" and one of them ends up pregnant.

IOjn the first case, would the DNA descent be consistent with the family simply becuase the wench doesnt exist as an in game entity?

In the second, does the DNA descent really go by parents, as opposed to who is spouse? I don't actually even know if that sort of thing actually happens in the game engine, but it would be cool to have, for example, one child over whom a cloud of suspicion hangs because they have unusual hair colour or something.