Personally, I am still a little unsure how practical the name by era system is going to be—won't it overlap with the civ-specific naming too much? For example, in Iberia many of the cities were founded by Carthaginians, renamed by Romans, renamed by Moors, then renamed again by the Spaniards. At the present the system is set up to assign the Latin, Arabic, and Spanish name by civilization rather than era, a pattern which will doubtless be extended to Carthage with their eventual inclusion. How then can the era system be implemented here? Wouldn't it just end up overriding the civ-specific naming system?
Well, I don't know the code so I just assume that it works as the following (
@Gedemon will need to clarify this to us): I think that the code is prioritizing the civ-specific layer over the default names layer. So when a city is being founded, the code first look up the civ-specific ma as if there is no default map present. If it finds a tile at the coords, it gives the name tag for this coords. If it doesn't find a civ-specific tile, it checks the default mapping. Should it not find a name there (that should not happen once the whole map is default named), it goes for the generic civ list (the basic programming done by firaxis).
The era kicks in on the name tag level, AFTER the code has decided which name tag to give it (LOC_CITY_NAME...). Name tags are unique (at least they should be... we might need a system that checks for double tag names at some point to prevent this.
@Gedemon you have any experiences in automated tests? could we make gitHub do an integration test for a pull request for example?). So with the era names based on tags, you can enrich the default mapping as well as the civ-specific mapping independently and since the code is prioritizing civ over default, it will name a city with a civ-mapping by its civ counterpart. So the city will then move through the eras using all available naming for this civ-specific name tag. The default era names will be ignored. And vice versa for a city named by the default mapping.
Lets take Cologne as an example:
LOC_CITY_NAME_COLOGNE <-- default mapping (and civ-specific mapping for Germans)
LOC_CITY_NAME_COLONIA_CLAUDIA_ARA_AGRIPPINENSIUM <-- civ-specific mapping for Romans
LOC_CITY_NAME_COLOGNE_ROME <-- civ-specific NAMING (not mapping!!) of the default map for Romans if there is no Colonia Claudia MAPPING.
Question is, how does the code handle this? Clearly, COLOGNE and COLONIA_CLAUDIA... are unique and you can have 2 complete different era namings for them. So Romans won't have a "Köln" in modern era. However, will COLOGNE_ROME also progress through the eras with the COLOGNE set? Or do I have to declare it myself, so even in modern era it would still be "Colonia Claudia..." for Romans?
Btw,
how does it work if the city is being captured? I think the city would keep the name tage of ARA. I don't think that the code is reevaulating the city name when a city is captured (
@Gedemon is that correct?). However, does the system for the civ suffix kick in? Means that LOC_CITY_NAME_COLONIA_CLAUDIA_ARA_AGRIPPINENSIUM_GERMANY could have "Köln" in modern era if we declare the eras and the era code is suffix-sensitive. You could enrich this even further for example by adding the french suffix, so you will get "Cologne" if you capture the roman Colonia Claudia.
I kinda feel we need some more thinking on the era progression feature.
In regards to the Deserts, the other option is just to disable settling there outside the name radius…
I'm sure it can be done, but I guess it will require a deep insight, probably up to the core dll. Don't think that this is possible as long as we don't get the SDK (with an open core dll).
I think the separate overlay set is an excellent solution for Mesopotamia, as the geography there has changed so much.
Well, at some point every civ should get it's own overlay.
Clearly there are only going to be a few Roman names (Ctesiphon, Palmyra, et cetera), so should I keep to the current "suffix" system in the GamePlayText.xml file? Same question with Greece, except that in Greece there will be many more Roman names—there it might be possible to do a more or less complete Roman version of the separate Ancient Greece list.
The suffix system works best for the default mapping. As long as there is no default mapping for a region, you can't use the suffix effectively. The question here is how far should civ-specific mapping reach from the starting position? For example, I already have a "Palmyra" tile for default mapping, the city (or actually it's ruins) are on Google Maps, so I was able to find it for default mapping already. However, there is nothing wrong with adding a "Palmyra" in the civ-specific mapping for Romans aswell. Both maps can use the same name tag btw.
What about the dotted "I" and the dotless "I" in Turkish? They are distinct letters.
I'm sure UTF-8 can distinguish it.
I have just been looking through the GitHub page, and it's good to see the changes uploaded.
I did some really small adjustments to default Italy btw, I wanted to get your work into the mod asap, so I didn't talk to you prior to that. I hope, you're OK with that. I gave Florence 2 tiles north and south to the Arno, so there is a greater chance of founding this city. Also I gave 1 Mantoa tile to Bologna for the same reason (it can now end up adjacent to the Po but not that far as in the early day screenshots). However, the chances for getting it are pretty low if you found Pisa, Florence or Venice. Everything else is changed according to your work.
However, the CityMap.xml has not been updated for Iberia—my mistake, as I forgot to mention that I had made locational changes there. I have attached an updated xml file (without the civ checks) for Iberia so that it can be added in with the next merge.
The files are attached so that they can be added at the same time as the Iberia fix. The main changes are to the GamePlayText.xml file, but there are also minor changes to the CityMap.xml and CityMap_Romans.xml files. (Speaking of which, shouldn't it be CityMap_Rome for consistency?)
I'll take care of that during this week. And yes, I will rename the file to "Rome".
In addition to the Roman names there are also a smattering of Greek names and a fairly decent coverage of German and Turkish names, the latter of which are under Arabia despite the fact that the are not Arabic
Well, that depends how far we want to make Arabia mapping expanding. Basically every civ. Kinda the same issue as with you Palmyra example. There are a lot of overlaying civs in some areas... What worries me about this is actually not the work on all the stuff. Given enough time, everything can be mapped. It's more about maintenance...
when Firaxis eventually releases an Ottoman civ they will have to be changed over.
Yeah, that's an example of what I meant by maintenance
FYI, I am moving wednsday. So this week I am mostly busy with packing and unpacking my stuff. Also I start a new job on thursday. So this week, I won't add any new commitments to the code, but I will merge the stuff from tomaltachpaulson as well as updating the manual. Also I will check the forum and keep the conversation running if there is something to discuss.