YnAMP sub-project: True location corresponding city names

Wow, the era naming idea is awesome! Its a huge amount of work but I love the ambition, count me in. We can always prioritise famous cities/capitals, and the way its coded it looks simple enough. I have no idea how to lua that, will leave it to the pros :)

but I made a manual on that :undecide: (it will most likely gonna change a little bit once I see the new file structure)

Sorry rock_and_ride, I've never used github before but I have now read your manual on it and given it a go for my Balkans update. Please check it out.

I have posted 3 files on Github:

1) GamePlayText.xml -updated to include Balkan cities names
2) CityMap.xml -updated to include Balkan city coordinates
3) Map.xml -updated so Preslav starts in correct position (south of Danube). And also updated Greek starting locations because Gorgo was spawning at Athens and Pericles at Sparta, so I have corrected.



Here's the answer to the age-old question: "What if the Romans migrated to Serbia and created a pan-Balkan various-slavic-language-speaking-empire that survived into the 1500s?"

Spoiler West Balkans :
upload_2016-11-26_12-35-28.png


Spoiler East Balkans :
upload_2016-11-26_12-36-38.png
 
Thank you !

you just need to create the pull request now :)

edit : I've done the pull request and merged it, this is just for reference:

Create a pull request to Gedemons source code. After uploading the files and commenting the changes, your gitHub repository will show an entry, something like "xy commited on gitHub xyz". Check the spoiler pic, its marked as the underlined passage there. When you see this, click on "New pull request" (the framed button in the same pic).

Spoiler :
t4RmoqY.png


The following page should look something like the the next spoiler pic. Click on "Create pull request".

Spoiler :
3kjmHCp.png


The pull request will be commented with the same text that you used earlier to comment your file changes.

You will be notified. When your changes have been merged into the master repository, you will get a notification via mail. From this moment on, your changes are in the code available to everyone to download it from gitHub and with the next mod release, to everyone who is using the mod!

Delete YOUR repository before working further on the mod
Now, if you want to work on the mod again, like doing an other country, please wait first to get the notification about your merge. Delete YOUR repository on gitHub (see the following spoiler pic) and then start from the beginning of this tutorial again, where it tells you to fork the source code.

Spoiler :
95nTpfc.png


(yes, there are other ways dear gitHub experts, but for this manual and for this special usage, i'd like to make it easier for people not getting their code base messy, ok? :mischief: )
 
Last edited:
Find out I can create the pull request myself, so it's done :)
 
about this: https://github.com/Gedemon/Civ6-YnAMP/pull/15

For gameplay reason we need to keep Gorgo and Pericles starting position as far away as possible, either we have Gorgo at Sparta and Pericles at Thessalonica or we have Pericles at Athens and Gorgo at Thessalonica , but we can't have both TSL set at their intended city because we can't prevent to have multiple civilizations of the same type on the map ATM.
 
Here's a picture of the changes to northern Italy:
ok, so we have the new civ-specific structure now also in place. I'd suggest you get the newest source code and get your changes in. I'd suggest to give the one Mantua tile along the river to bologna even tho its not directly on the Po river. And Massa should be Pisa since Pisa is on both sides of the Arno river. Also let's give the "Treviso" tile to Venice. This city should have at least 1 fallback tile. You might wanna check the Florence tiles now with the Arno river on the map. Most of the city is on northern side, so it should have like only 1 tile southern of the river.

After remapping the modern names, you can go for the ancient roman names for cities if you like. In the newest code there is an example of greek modern and classical names. You can use it as draft. You know how the system now works for civ-specific names? I can give you a wrap-up. (Also gonna add this to the manual soon.)

Mecca is a pretty inhospitable location for a civ to start on, and is still very close to Egypt. I was going to suggest Damascus once we have the true name locations for that area, as that way Arabia can go north into eastern Anatolia, which is a pretty empty area otherwise.
So i did a 150 turn game on King with "Damascus" starting location. Went pretty well and straightforward. I made the city names manually. Also, the real world place for Petra is not a desert tile on this map. Check the screenshots, there is a Pin underneath the Dead Sea where the true location for Petra would be.

So, what are your thoughts on Damascus? Also should we change the map to make real world location of Petra possible?

@Gedemon, the tile with the Sea of Gallilei (the sea above the dead sea) has "Europe" as continent. Might wanna check this.

Since I was already in that area, I am gonna go for Middle east modern cities: The Palestine coast, Arabian Peninsula and Mesopotamia.
 
about this: https://github.com/Gedemon/Civ6-YnAMP/pull/15

For gameplay reason we need to keep Gorgo and Pericles starting position as far away as possible, either we have Gorgo at Sparta and Pericles at Thessalonica or we have Pericles at Athens and Gorgo at Thessalonica , but we can't have both TSL set at their intended city because we can't prevent to have multiple civilizations of the same type on the map ATM.

Understood. I thought I had made a mistake! Pericles @Thessalonica is a good decision :thumbsup:

My next area will be eastern europe north of Y=42, unless anyone else is already working on it.
 
nope, go for it. how far to the east? i gonna update the status pic

X=70 longitude. Up to the Baltic coast, and then a horizontal line from Kaliningrad/Koenigsberg to wherever it meets X=70. It's quite a large area so might take me a while, but I will use range=1 more often to focus on most important cities.
 
X=70 longitude. Up to the Baltic coast, and then a horizontal line from Kaliningrad/Koenigsberg to wherever it meets X=70. It's quite a large area so might take me a while, but I will use range=1 more often to focus on most important cities.
The <Area> tag allows any value, we can use even 2, 3 or 4 in some areas, I will code something to prevent duplicate names at some point.
 
The <Area> tag allows any value, we can use even 2, 3 or 4 in some areas, I will code something to prevent duplicate names at some point.
For desert areas I have an idea for a few days, still thinking about it, but here so far: areas greater than 1 will get the tile name when first founded. when founded again in the same area, it could get a "Oasis " prefix. Like "Desert City" and then you can get as many "Oasis Desert City" as there is possible. so it would still get name dublications, but only if you place 3 cities in this bigger range tile. that would be pretty ineffective i guess so those cities wont grow very much. kinda like trading posts on the way to the actual city, you know. But that would work only for desert, so we would have to come up with a different name for grassland/plains and snow tiles.

X=70 longitude. Up to the Baltic coast, and then a horizontal line from Kaliningrad/Koenigsberg to wherever it meets X=70. It's quite a large area so might take me a while, but I will use range=1 more often to focus on most important cities.
ok i updated the map in the status post. hope i got it nearly right.
 
For gameplay reason we need to keep Gorgo and Pericles starting position as far away as possible, either we have Gorgo at Sparta and Pericles at Thessalonica or we have Pericles at Athens and Gorgo at Thessalonica, but we can't have both TSL set at their intended city because we can't prevent to have multiple civilizations of the same type on the map ATM.
Understood. I thought I had made a mistake! Pericles @Thessalonica is a good decision :thumbsup:
How will this work though if you only want to play with one Greece but don't want to start at Thessaloníki? I suppose you would just have to pick Gorgo and start at Sparta?

You can set a specific name for a (existing and with a map position) city to a Civilization by adding the civilization name as a suffix, for example adding this in GamePlayText.xml :
Code:
<Replace Tag="LOC_CITY_NAME_LONDON_FRANCE" Text="Londres" Language="en_US" />

is enough to tell the mod that if "CIVILIZATION_FRANCE" is founding a city at the position of a city whose generic name is "LOC_CITY_NAME_LONDON", then this city should be named "Londres"
Right then, I will convert my existing code for Italia and Iberia. Note that there will still have to be a few civilization checks in the CityMap.xml file where multiple ancient names are used over a multi-tile modern city—Hispalis and Italica at Sevilla, for example.
 
Last edited:
Okay, so I have converted my progress to the new format. Someone better have a look through and check though, as Aspyr is still on Thanksgiving break and did not manage to port the Fall Patch before they left, and as a result I am still incapable of running the latest version of the mod. If anyone would like to test it and post some screenshots I would be gratified—the plain xml is beginning to become dull! In particular I am curious to see how Civ will deal with diacritics and other special characters. Note that the files only contain the parts which I have modified, so the localized text will need to be copied and pasted into the latest versions of the respective files from GitHub.
 

Attachments

For desert areas I have an idea for a few days, still thinking about it, but here so far: areas greater than 1 will get the tile name when first founded. when founded again in the same area, it could get a "Oasis " prefix. Like "Desert City" and then you can get as many "Oasis Desert City" as there is possible. so it would still get name dublications, but only if you place 3 cities in this bigger range tile. that would be pretty ineffective i guess so those cities wont grow very much. kinda like trading posts on the way to the actual city, you know. But that would work only for desert, so we would have to come up with a different name for grassland/plains and snow tiles.
That's a good idea, I was thinking of creating a table for names that don't have a position set on the map, then pick one in that table if a Civilization found a city somewhere not covered by the city maps (or in an area where it would use a duplicate name).

Then I thought of using the "New-" prefix, but it won't fit well.

Now I like the idea of naming by context, remind me of Transport Tycoon (or OpenTTD), so why not use a complete name generator, different for each civilization ?

Okay, so I have converted my progress to the new format. Someone better have a look through and check though, as Aspyr is still on Thanksgiving break and did not manage to port the Fall Patch before they left, and as a result I am still incapable of running the latest version of the mod. If anyone would like to test it and post some screenshots I would be gratified—the plain xml is beginning to become dull! In particular I am curious to see how Civ will deal with diacritics and other special characters. Note that the files only contain the parts which I have modified, so the localized text will need to be copied and pasted into the latest versions of the respective files from GitHub.
Thank you !

@rock_and_ride : do you want to do the merge ?

And yes, I'm curious about special characters, does the US version of the game handle it ? We started a French then a German table for names with those special characters and kept only normal characters in the <en_US> table. If there are no display problem, this may not be needed.
 
And yes, I'm curious about special characters, does the US version of the game handle it ? We started a French then a German table for names with those special characters and kept only normal characters in the <en_US> table. If there are no display problem, this may not be needed

Check my balkans screenshots, I was partly testing this issue. Special characters for Constanța, Mohács, Šabac, Durrës all display fine, but Im UK based so i don't know if Im on an EU english version or US english (presumably there's no difference).
 
Check my balkans screenshots, I was partly testing this issue. Special characters for Constanța, Mohács, Šabac, Durrës all display fine, but Im UK based so i don't know if Im on an EU english version or US english (presumably there's no difference)..
Ah, I did not notice them before. It looks like it can even deal with diacritics underneath the letters then, which is good because there are a few of those in the Arabian names in Spain. Still curious to see how it renders the Latin 'æ' though.
As an aside, does anyone know which font is used for the city names? I believe it is just Times, but I don't know that for certain.
 
all area south and west of the white lines up to germany, italy, and balkans
ok, i updated the image.

Now I like the idea of naming by context, remind me of Transport Tycoon (or OpenTTD), so why not use a complete name generator, different for each civilization ?
There was a somewhat similar mod in CivBE for this. You could have city names based on surrounding terrain and in the language of the corporation. Was pretty funny but had very long names... we might wanna take this into consideration.

@rock_and_ride : do you want to do the merge ?
yeah i can do that. i will do the "quick fix" by adding suffix names in the text xml for that. i won't start a roman civ name layer. (edit: not true, i added the civ-specific maps aswell)

speaking of, here are some insights about my mapping experience with civ-specific layers than just civ-specific naming of default tiles:

so we have now several ways of getting civ-specific names into the game. the easiest way is to get the civ-suffix to a city name and declare its text in the text xml. this is the best approach to get default city names their civ-specific counterpart. however, i started working on middle east yesterday and i'm done with the general city naming for default (todays city names) except for the desert areas (here we need to figure out our approach for name doubling). so after doing the modern cities, i went for sumer civ-specific names. i did it by mapping a whole new tile set based on city maps from my research all the way up to the achaemenid empire. so i didn't use the suffix here at all so far. if you play sumer, you will get names based on the civ-specific mapping on every tile that is covered in this map. if you found somewhere without sumer tiles, you will found modern day cities. check the spoiler pics for clarification:

Spoiler :
default-png.459818
sumer-png.459819
combined-png.459817


As you can see, depending on where you found Uruk, Eridu and Babylon, you can also found Nadshaf and Karbala as Sumer. So if you want to prevent this, you have several options: You could give Nadshaf and Karbala civ-specific as well as era-specific names in the text xml. Or you could map over the default layer with sumer mappings, but you would need to research additional city names that can be quite a challenge if not impossible if there is nothing to add for Sumer. Also you would need to constantly check overlays. This pic I did specifically for this post and I have both informations quite easy hands-on. An other person would have to make sense out of the raw code that is definetly more challenging than a picture to compare (in my case: just turning on and off photoshop layers). For me, it feels ok that way. If someone is playing this and find it like weird and proposes a change for "Nadshaf", he can mod it in himself or ask in the forum for an adjustment.

Also, my experiences open up a logic detail about era mapping that we already discuss here: How does the system handle city naming when the first era entry for this city is MEDIEVAL for example. There is a modern name (btw, what era kick modern names in?) and there is a medieval name. Now if I manage to found the city in ancient or classical era, what name will it get? My opinion on that: It should take the very earliest era name by default if there is at least one era name available for this city name. Discuss! :goodjob:

And yes, I'm curious about special characters, does the US version of the game handle it ? We started a French then a German table for names with those special characters and kept only normal characters in the <en_US> table. If there are no display problem, this may not be needed.
Check my balkans screenshots, I was partly testing this issue. Special characters for Constanța, Mohács, Šabac, Durrës all display fine, but Im UK based so i don't know if Im on an EU english version or US english (presumably there's no difference).
Still curious to see how it renders the Latin 'æ' though.
As far as I can tell, the game engine is using UTF-8. I don't know for sure, this is just a guess by what I see. That means we could even put in names in native language (like arabic or chinese characters) and declare it as en_US and it would still show up with those characters. Pretty sure Latin ae won't be a problem, it's in the UTF-8 set.

As an aside, does anyone know which font is used for the city names? I believe it is just Times, but I don't know that for certain.
Don't know either, would have to look carefully some time, perhaps I could recognize it by comparsion. What bothers me from a typography design point of view is that they messed up small caps. They don't use "true" small caps but instead enlarge the font size of the first letter. Resulting in it being a little bit "fatter" than the "small letters" behind it. That's not how small caps work :old:

I will update the manual next week and add the infos about civ and era specific layers as well as about the new file structure.

We should find a common ground on how to handle the 1+ range tiles according to city naming soon. I'd like to finish my work on the middle east and I will need to know what to be aware of when mapping the bigger ranges.
 

Attachments

  • combined.png
    combined.png
    925.7 KB · Views: 1,210
  • default.png
    default.png
    958.3 KB · Views: 1,089
  • sumer.png
    sumer.png
    951.7 KB · Views: 1,112
Last edited:
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?

In regards to the Deserts, the other option is just to disable settling there outside the name radius…

so we have now several ways of getting civ-specific names into the game. the easiest way is to get the civ-suffix to a city name and declare its text in the text xml. this is the best approach to get default city names their civ-specific counterpart. however, i started working on middle east yesterday and i'm done with the general city naming for default (todays city names) except for the desert areas (here we need to figure out our approach for name doubling). so after doing the modern cities, i went for sumer civ-specific names. i did it by mapping a whole new tile set based on city maps from my research all the way up to the achaemenid empire. so i didn't use the suffix here at all so far. if you play sumer, you will get names based on the civ-specific mapping on every tile that is covered in this map. if you found somewhere without sumer tiles, you will found modern day cities.

I think the separate overlay set is an excellent solution for Mesopotamia, as the geography there has changed so much. It does make me wonder though how I should approach the Roman names for that area when I get to it? 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.
 
Back
Top Bottom