Hi All:
Just trying to catch up with this thread by commenting where it seems needed. I have done some checking of my statements in the code, and docs, but still some of what I say may be incorrect. Also much of this is not set in stone, but is just as things were envisaged to work based on Rodrigo's docs and F_Smith, my, and Gary's coding.
I haven't looked at the code, but this does seem like a potential bug source. Perhaps putting in a test when people are added to a square that the ethnicity name is unique. If it is not unique, a further test would see if the ethnicity objects are the same. If they aren't the same (the potential error condition) then we would either:
1. mandate a name change for the newer ethnicity, or
2. merge the ethnicities using weighted averages.
For now maybe just an entry in a social log file that such an "ethnicity name collision" has happened would be enough. Long term I favor solution #1. There should be a way to merge very similar EGs, as we've IIRC discussed before. That will cause mergers of any similar ethnicities when they get sufficiently close, even if they have different names.
I think nationality belongs in Ethnicity as it is now. That allows us to distinguish between two components of an assimilating EG. FE when the Romans take over Gaul there would first be only a Gallic population. If the Romans rule well and some Gauls come to like living under the Romans there will be generated a "Romanized Gaul" or some such Ethnicity for the EGs. At first the only difference between the two ethnicities will be that the Romanized ones have a nationality of Roman, whereas the others still view themselves as conquered Gauls and would like to again be part of a Gallic civilivization not under the rule of the Romans.
CulturalAttributes describe behavior of people. Some uses of CA describe how an EG will actually behave in the game. Other types of CA are tendencies and prototypes.
tendencies are a CA toward which an EG is evolving (but is not necessarily there yet).
prototypes (culturalPrototype in Culture) is meant to be an "average" CA over a number of Ethnicities. The values are intended to be used to determine tension within the overall culture to determine when cultures split or reinvent themselves. A homogeneous Culture might span many provinces but in each case the EG CA is very similar to the Culture's CA. A heterogeneous culture will be one where EGs in different provinces have CAs that are very different from the prototype CA. Such a divergence would promote a name change and is how Goths become Ostrogoths and Visgoths, two independent Cultures.
That's all I have time for right now. Just one post covered! I'll get back to this discussion when I can.
Just trying to catch up with this thread by commenting where it seems needed. I have done some checking of my statements in the code, and docs, but still some of what I say may be incorrect. Also much of this is not set in stone, but is just as things were envisaged to work based on Rodrigo's docs and F_Smith, my, and Gary's coding.
Originally posted by LDiCesare
Note that when there are 2 ethnic groups in a square with the same ethnicity name are in theory possible in the code but would cause problems. I didn't check if this had any meaning.
Note that when there are 2 ethnic groups in a square with the same ethnicity name are in theory possible in the code but would cause problems. I didn't check if this had any meaning.
1. mandate a name change for the newer ethnicity, or
2. merge the ethnicities using weighted averages.
For now maybe just an entry in a social log file that such an "ethnicity name collision" has happened would be enough. Long term I favor solution #1. There should be a way to merge very similar EGs, as we've IIRC discussed before. That will cause mergers of any similar ethnicities when they get sufficiently close, even if they have different names.
I wonder whether nationality should be shared as part of Ethnicity?
I think nationality belongs in Ethnicity as it is now. That allows us to distinguish between two components of an assimilating EG. FE when the Romans take over Gaul there would first be only a Gallic population. If the Romans rule well and some Gauls come to like living under the Romans there will be generated a "Romanized Gaul" or some such Ethnicity for the EGs. At first the only difference between the two ethnicities will be that the Romanized ones have a nationality of Roman, whereas the others still view themselves as conquered Gauls and would like to again be part of a Gallic civilivization not under the rule of the Romans.
Now there are these things: tendencies and culturalAttributes. I understand tendencies as it is explained as: "Eventual equilibrium position that CulturalAttributes will evolve to given current environment". But culturalattributes are not clear. It is said also in the code that " Different ethnic groups with the same ethnicity differ ONLY in their opinions." So I suppose that nationality, tendencies and culturalattrbutes are all 'opinions'.
If anyone can clarify these things for me, that would be greatly appreciated. It is normal that the code uses constructs like Ethnicity which allow to factor in certain concepts, so some differences with design documents are inevitable, but there are still things I'm not sure what they're supposed to do.
If anyone can clarify these things for me, that would be greatly appreciated. It is normal that the code uses constructs like Ethnicity which allow to factor in certain concepts, so some differences with design documents are inevitable, but there are still things I'm not sure what they're supposed to do.
CulturalAttributes describe behavior of people. Some uses of CA describe how an EG will actually behave in the game. Other types of CA are tendencies and prototypes.
tendencies are a CA toward which an EG is evolving (but is not necessarily there yet).
prototypes (culturalPrototype in Culture) is meant to be an "average" CA over a number of Ethnicities. The values are intended to be used to determine tension within the overall culture to determine when cultures split or reinvent themselves. A homogeneous Culture might span many provinces but in each case the EG CA is very similar to the Culture's CA. A heterogeneous culture will be one where EGs in different provinces have CAs that are very different from the prototype CA. Such a divergence would promote a name change and is how Goths become Ostrogoths and Visgoths, two independent Cultures.
That's all I have time for right now. Just one post covered! I'll get back to this discussion when I can.
Comment