[Mod] True Culture Location and Territory Naming for the Giant Earth Map

Joined
Jul 3, 2021
Messages
404
I'd prefer to avoid names unrelated to the position for that mod's scope.

But culture-related doesn't mean "culture territories" related, if I understand correctly what you call colonial list could be the culture-related names that are already in the YnAMP's list for cities that have never been under control of a civilization, but for which "what if" were added.

OK, I 100% respect that. In this case, let's just scrap the colonial term. I take it that culture-related names would fall under Rule 1. On a side note, did you compile this list specifically or is it available somewhere in the YnAMP mod files? You did just help me understand GamePlayText.xml has culture-related names too!

Yep, that the kind of question we need to answer if the code logic doesn't give us something we want.

In case of capture, renaming would be done after the war's resolution, and the mod would use owner, not culture influence (when renaming the mod will look at the best name for that position and that owner, without knowing who was the ancient owner, ie applying rules 1-2-3 in order)

OK, sounds like we just need a convention, in which case English is for better or worse a conventional choice.

What about aliases, for sharing list ? A rules 1.1, if no direct culture-related name is found, try to found one from a list of other cultures before moving to rules 2-3 ?

This sounds like a good solution to me.
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
Yep, the list is an extract from the GamePlayText.xml (just did a search on "_JAPAN")
 

SeelingCat

Warlord
Joined
Oct 27, 2016
Messages
244
Location
US
The way my Rosetta mod handles 'related names' is via a backup system which is I think close to what you were saying Gedemon. For example Macedon will try and pull a _MACEDON name first, and if it can't find one it'll look for a _GREECE name.

For the 'local' name, I meant basically whatever language is native there, although that could bring issues for some names with different 'native' names over time. For Rome it's not really a problem since it's Roma in both Latin and Italian, but Pataliputra/Patna or Edo/Tokyo would be cases where you'd want an era override perhaps.

Also, Gedemon, I'm happy to tap into Rosetta's database to generate names if that's something you'd be interested in.
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
I've not mentioned it before, but one important point is that the mod search by territory, and the distance to position is used to determine a name after all other rules are applied.

That means if there is a generic city name at the exact city location, and a culture-related (or alias-related) city name available at a far away position (still in the same territory), the mod will use the far away name.

If there are multiple culture-related names available, it will pick the one closest to the position.

The way my Rosetta mod handles 'related names' is via a backup system which is I think close to what you were saying Gedemon. For example Macedon will try and pull a _MACEDON name first, and if it can't find one it'll look for a _GREECE name.
Yes, exactly like that.

W.I.P. example for reference:
Code:
    <CivilizationCityAliases>
        <Row Civilization="Civilization_Era1_EgyptianKingdom" Aliases="EGYPT"/>
        <Row Civilization="Civilization_Era1_HarappanCivilization" Aliases="INDIA"/>
        <Row Civilization="Civilization_Era1_Phoenicia" Aliases="CARTHAGE,ROME,GREECE"/>
        <Row Civilization="Civilization_Era1_MycenaeanCivilization" Aliases="GREECE,ROME"/>
        <Row Civilization="Civilization_Era1_Nubia" Aliases="NUBIA"/>
        <Row Civilization="Civilization_Era1_ZhouChina" Aliases="CHINA"/>
        <Row Civilization="Civilization_Era2_RomanEmpire" Aliases="ROME,GREECE"/>
        <Row Civilization="Civilization_Era2_Carthage" Aliases="CARTHAGE,ROME,GREECE"/>
        <Row Civilization="Civilization_Era2_AncientGreece" Aliases="GREECE,ROME"/>
        <Row Civilization="Civilization_Era2_MauryaEmpire" Aliases="INDIA"/>
        <Row Civilization="Civilization_Era3_Byzantium" Aliases="BYZANTIUM"/>
        <Row Civilization="Civilization_Era3_UmayyadCaliphate" Aliases="ARABIA"/>
        <Row Civilization="Civilization_Era4_MingChina" Aliases="CHINA"/>
        <Row Civilization="Civilization_Era4_Spain" Aliases="SPAIN"/>
        <Row Civilization="Civilization_Era4_PolishKingdom" Aliases="POLAND"/>
        <Row Civilization="Civilization_Era4_OttomanEmpire" Aliases="OTTOMAN"/>
        <Row Civilization="Civilization_Era4_MughalEmpire" Aliases="INDIA"/>
        <Row Civilization="Civilization_Era4_TokugawaShogunate" Aliases="JAPAN"/>
        <Row Civilization="Civilization_Era5_AustriaHungary" Aliases="HUNGARY"/>
        <Row Civilization="Civilization_Era5_FrenchRepublic" Aliases="FRANCE"/>
        <Row Civilization="Civilization_Era5_Germany" Aliases="GERMANY"/>
        <Row Civilization="Civilization_Era5_RussianEmpire" Aliases="RUSSIA"/>
        <Row Civilization="Civilization_Era6_India" Aliases="INDIA"/>
        <Row Civilization="Civilization_Era6_Japan" Aliases="JAPAN"/>
        <Row Civilization="Civilization_Era6_USSR" Aliases="RUSSIA"/>
        <Row Civilization="Civilization_Era6_China" Aliases="CHINA"/>
    </CivilizationCityAliases>

Playing as Phoenicia the mod would look first at "LOC_CITYNAME_Phoenicia" then "LOC_CITYNAME_CARTHAGE", "LOC_CITYNAME_ROME" and finally "LOC_CITYNAME_GREECE", in that order.

For the 'local' name, I meant basically whatever language is native there, although that could bring issues for some names with different 'native' names over time. For Rome it's not really a problem since it's Roma in both Latin and Italian, but Pataliputra/Patna or Edo/Tokyo would be cases where you'd want an era override perhaps.
Yes, going for the first formatting option (and you're right the easiest to manage), I'll include it in the city name tag, but you won't be able to have a tag including both a culture reference and an era reference.

I'm still pondering the naming convention (ie "LOC_CITYNAME_Era2" or "LOC_CITYNAME_CLASSICAL"), but anyway for coding simplification it would define the last era the name is used, not the first.

Now for your examples, the current database has
Code:
        <Row Tag="LOC_CITY_NAME_PATNA" Text="Patna" />
        <Row Tag="LOC_CITY_NAME_PATNA_INDIA" Text="Pataliputra" />
[...]
        <Row Tag="LOC_CITY_NAME_TOKYO" Text="Tokyo" />

Era tag would be used like that, with exception added for (modern) India and the Mughal Empire (maybe? that's the kind of things I'll let you guys decide...) to override the name in the Alias list.
Code:
        <Row Tag="LOC_CITY_NAME_PATNA" Text="Patna" />
        <Row Tag="LOC_CITY_NAME_PATNA_Era3" Text="Pataliputra" />
        <Row Tag="LOC_CITY_NAME_PATNA_INDIA" Text="Pataliputra" />
        <Row Tag="LOC_CITY_NAME_PATNA_MughalEmpire" Text="Patna" />
        <Row Tag="LOC_CITY_NAME_PATNA_India" Text="Patna" />
[...]
        <Row Tag="LOC_CITY_NAME_TOKYO" Text="Tokyo" />
        <Row Tag="LOC_CITY_NAME_TOKYO_Era4" Text="Edo" />

The above code would have to be used only if there was more than 2 names referenced (for example for external cultures settling there), in the current case it could be simplified to
Code:
        <Row Tag="LOC_CITY_NAME_PATNA" Text="Patna" />
        <Row Tag="LOC_CITY_NAME_PATNA_Era3" Text="Pataliputra" />
[...]
        <Row Tag="LOC_CITY_NAME_TOKYO" Text="Tokyo" />
        <Row Tag="LOC_CITY_NAME_TOKYO_Era4" Text="Edo" />

Also, Gedemon, I'm happy to tap into Rosetta's database to generate names if that's something you'd be interested in.
I'd like that !
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
another alpha

Code:
- the TCL data can be defined in XML files
- handle alternative city names by culture and era

Example of a TCL file in XML, to prevent pre-industrial native American cultures to spawn for people wanting the New World to be empty of major Cultures
Spoiler :
Code:
<Data>
    <Map Name="GiantEarth" MapTerritoryHash="-819807177,-288044546" LoadOrder="1"/>
    <MajorEmpireTerritories>
        <Row Civilization="Civilization_Era1_OlmecCivilization" Territories=""/>
        <Row Civilization="Civilization_Era3_AztecEmpire" Territories=""/>
        <Row Civilization="Civilization_Era4_IroquoisConfederacy" Territories=""/>
    </MajorEmpireTerritories>
    <MajorEmpireCoreTerritories>
        <Row Civilization="Civilization_Era1_OlmecCivilization" Territories=""/>
        <Row Civilization="Civilization_Era3_AztecEmpire" Territories=""/>
        <Row Civilization="Civilization_Era4_IroquoisConfederacy" Territories=""/>
    </MajorEmpireCoreTerritories>
</Data>

And syntax example for the other TCL tables
Spoiler :
Code:
<Data>
    <Map Name="GiantEarth" MapTerritoryHash="-819807177,-288044546" LoadOrder="1"/>
    <MinorFactionTerritories>
        <Row Civilization="IndependentPeople_Era1_Peaceful_Akkadians" Territories="142, 123"/>
    </MinorFactionTerritories>
    <ExtraPositions>
        <Row Index="0" X="30" Y="40"/>
        <Row Index="1" X="30" Y="46"/>
    </ExtraPositions>
    <ExtraPositionsNewWorld>
        <Row Index="0" X="30" Y="40"/>
        <Row Index="1" X="30" Y="46"/>
    </ExtraPositionsNewWorld>
    <ContinentNames>
        <Row Index="2" Name="Big Continent"/>
    </ContinentNames>
    <TerritoryNames>
        <Row Index="202" Name="Pampa"/>
    </TerritoryNames>
    <NoCapital>
        <Row Civilization="Civilization_Era1_EgyptianKingdom"/>
    </NoCapital>
    <NomadCultures>
        <Row Civilization="Civilization_Era1_EgyptianKingdom"/>
    </NomadCultures>
</Data>

Attached are the city map files with what should be the final formatting, note that the previous files won't work with this alpha and need to be removed.

(edit: outdated files removed)
 
Last edited:

SeelingCat

Warlord
Joined
Oct 27, 2016
Messages
244
Location
US
I'll start parsing through the Rosetta data and the CityMap data you provided to shave off the extra Rosetta cities and then can start generating city names lists for you, Gedemon
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
Let me know if you have any questions or need something.
 

SeelingCat

Warlord
Joined
Oct 27, 2016
Messages
244
Location
US
I've started the process of isolating only the names in Rosetta that appear on this map (finished A-C at the moment), and so far I estimate that 6/7 of the names that are in the YnAMP list are in Rosetta for a couple reasons:

1). When I did the YnAMP compatibility for Rosetta, I don't think Central Asia/Siberia had names yet, so that's a gap in Rosetta's coverage that I should work to cover anyway.

2). South America seemed to have the city names significantly off, so I wound up reshuffling a bunch of city names around and replacing small villages with larger cities.

3). Some places (Sahara desert mostly so far) are small and do not have Wikipedia pages to build translations off of. This group is actually surprisingly small so far.

We may have to just live with 3 as is and 1 should be fairly quick for me to establish names for once I get them all sorted out. For 2, it may be worth revisiting the city map for South America, but if that's not something you're interested in Gedemon, I can just lump the missing names that currently exist into Group 1 and see how many have wiki pages.
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
The way territories and cities are working in HK I don't think we need the same number and precision of cities than with civ6.

we still need enough precision for putting a city name in the right territory, BTW I've incremented (in the file released with the alpha) all Y values by one in the city map because the whole map had been unintentionally shifted during the conversion from civ6 to HK.

I'm perfectly fine with reworking parts of the city map, and there is no need to have a city for every tile, IMO it would be better to have 2-3 bigger names per territory than a lot of small one (also meaning if we prioritize a name using era or culture link, it may be better to have 2-3 similar prioritization for that territory to prevent one name covering the whole territory... of course that would depend of territory size or the region city density)
 

cuso210

Warlord
Joined
Apr 6, 2012
Messages
126
Hi Gedemon! I've been testing the latest alpha along with the alpha of the giant earth map and the super pack mod, and I've noticed that going to classical era with the maya does not make you lose any city, making so you can have a maya that have more territories that it should. I imagine this is because the mod doesn't consider the mod aggregates and needs to have maya to the whole continent, as I also noticed you could pick olmecs having only south american territories.

Is this something I have to report to you here, as I'm using the alfa TCL, or to the author of the super pack mod, so an special ruleset for american base civs be added when it is enabled? Right now, picking Maya and I guess Aztecs could be Op as you won't lose territory.

I'll add some images:
This is the territory I have before picking a new culture:
upload_2022-3-2_17-28-28.jpeg


And these are the options:
upload_2022-3-2_17-29-47.jpeg

upload_2022-3-2_17-30-1.jpeg


No loss for Maya
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
I'll try to have a look at the territory list, but you can make a compatibility file (json or XML with the latest alpha) to reduce the amount of starting territories.

also, are you using the "only core territory" value for the "territory loss" option ?
 
Last edited:

cuso210

Warlord
Joined
Apr 6, 2012
Messages
126
I was using "keep attached". I did noticed that it made me lose the mexica territory, so it does work, only it has all of south america as it cultural region.

I also noticed in my game that there were 3 mongol empires, even when I disabled the option for more than one of the same culture (form AOM's mod), and that many civs stayed on classical or medieval cultures going forward (also using AOM's improved ai selection, could this be because the ai prevents loss from territory from a cultural change?)
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
if you use the "limit choice for AI" option, yes, that will make them transcend more than evolve.

I'll try to implement a way to remove a Culture from the "no capital" list, plugins are not explicitly compatible (may be possible, but no idea how ATM), I suppose the method in AOM mod's is overridden by the one from TCL.

Side note, I've not played with AOM plugins (except "Rainbow") since some time as I don't know if the last patches have affected them.
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
and two small teasers of something I'm testing
Spoiler :
upload_2022-3-4_0-43-44.png
Mesopotamian (generic) and Babylonians visual styles in a captured city


Spoiler :
upload_2022-3-4_0-45-35.png

Teutonic (from previous era) and British (from current era, east and north districts just added) visual styles
 

SeelingCat

Warlord
Joined
Oct 27, 2016
Messages
244
Location
US
Finished mapping the YnAMP names to Rosetta, and it appears that I've got 2750 matches and about 400 that don't for whatever reason. I'll work on getting those in the latter category incorporated - there were a couple potential duplicate names I noticed that I'll try and log for you as well just for reference sake.
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
Finished mapping the YnAMP names to Rosetta, and it appears that I've got 2750 matches and about 400 that don't for whatever reason. I'll work on getting those in the latter category incorporated - there were a couple potential duplicate names I noticed that I'll try and log for you as well just for reference sake.
Duplicates in the localized file ?

I think the check I did to prevent loading error should report their lines in the XML to the diagnostic log already
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
new alpha (warning: not compatible with previous saved game)
Code:
- feature: historical districts, they keep their original appearance until destroyed, only city centers, exploitation and new districts will use the current owner visual style

(edit: removed outdated files)
 
Last edited:

SeelingCat

Warlord
Joined
Oct 27, 2016
Messages
244
Location
US
Not in the localized file, but in the city map file - one example is that there's both a LOC_CITY_NAME_KANGERLUSSAQ and a LOC_CITY_NAME_KANGERLUSSUAQ defined, which (as far as I can tell) should both be the same city: Kangerlussuaq. Another is
LOC_CITY_NAME_EL_MENIA and EL_GOLEA, which are both names for the same city, El Menia. There's only a couple of these however, I believe.
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
ho, then yes, we'd better remove them
 

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
10,980
Location
France
about the alpha, I've just realized the culture-style also has different eras styles, I'll try to lock the era too (but that will break saved game compatibility again)
 
Top Bottom