1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

YnAMP - Development thread Civ6

A compilation of maps and script with culturally linked start location or TSL

  1. rock_and_ride

    rock_and_ride Chieftain

    Joined:
    Sep 20, 2009
    Messages:
    74
    so, a few weeks ago i asked about if there is a chance to get true location names on the earth maps. as i said, i am not able to code this into the mod. sadly, i completely lack the skills for this. however, i would volunteer to provide data mapping so someone could code it in. also, i might be able to code it myself once the SDK is released and i can make sense of it, but i wouldn't count on this :crazyeye:

    now i made a test balloon of the data mapping. here is what i made in a few hours for the Play Europe Again map. the data is limited to the british island as well as ireland and island. the mapping is added as .csv if it helps anybody to experiment with it.

    if you want some deeper insights in what i took into consideration to choose a specific name for a specific tile, you can read the following spoiler content.

    Spoiler :

    i was driven mostly by the landscape and the city size. my approach was for example that tiles along rivers should hold cities that are also on that river in real world. furthermore rivers divide city names except when the city is defiently on both sides of a river. for example: london is several tiles north and south along the thames river. however, if you move your settler to the cliffs of dover, you WILL get dover there! if you move more inlands along the thames you will found reading or oxford (depends on the exact tile). also if a city is clearly more on one side of a river, say west of it, then the east tile of this river might have a different city name, one that might even be more inlands east to that river. take cardiff for example: you will found this city if its west of the bristol canal and you will found bristol if its east of the canal. see the links to the screenshots down this post.

    coast lines are very significant and end up in a lot of city names sometimes of smaller cities. so if you found a city on a coast where there is a bigger city nearby in real world, but this city is most likely not to be on the coast, you will not get the bigger city but the smaller city name. this is a point i actually want to discuss with the community, if this is going to be a real project some day.

    furthermore i take hill and especially mountain adjacency into consideration.


    after mapping it to a file, i tested it on the map by manually renaming the cities. that way, i simulated a yet-to-be-done implenetation. here are two different type of "placements" i did on the map, one with the priority to found as many citites as possible and the second with some basic "most likely the best place for a city" in mind. i rushed through both examples however, so don't nail me down on the placements. its just so you can get a feeling of how it could be. as already mentioned, i used the Play Europe Again map and also set the Ruleset "Euro 2: Medium" which changes min distance between cities to 2 instead of 3.

    these three screenshots are with priority "as may cities as possible": http://imgur.com/a/horCk

    these three screenshots are with priority "probably good spots in a real game": http://imgur.com/a/3PBzr

    this is how you might end up playing as england if you would play with the "true location city names" option as well as the ruleset for having only 2 min distance for cities.

    now, with this "test balloon" pumped up so far, i would like to ask if this is something that would be interesting to get hands on as a real project. as i said, i CAN NOT code it! for the time being, all i can is to provide the data mapping. the format would need to be specified (csv, xml...?).

    my very first questions are:

    1) is this feature something the community would like to have?
    2) is there anybody out there who can test this idea further and trying to code it into the map?
    3) did i miss something?
    4) so how do you actually correctly pronounce Birmingham? :crazyeye:
     

    Attached Files:

  2. Stooo

    Stooo Chieftain

    Joined:
    Nov 18, 2016
    Messages:
    15
    Location:
    Essex
    First of all thanks for doing this conversion i love playing against all civs on Giant Map Size. So i play on giant map the 180x? one. with import settings for resources and everything else,
    and theres loads of resources i am finding that my builders cant improve?
    for instance the iron near the mountains (Alps?) north of rome.
    marble between carthage and valletta.
    iron below russia start.
    loads of resources west africa, (senegal, Guinea) areas.
    Just what i find so far, am i meant to be playing instead with the civ6 resource generator or something?
     
  3. agonistes

    agonistes wants his subs under ice!

    Joined:
    May 30, 2007
    Messages:
    2,464
    Gender:
    Male
    Location:
    Vermont
    Hmm, that's interesting. I've played multiple Russia games on that map with imported resources. Afaik, there is one source of iron near the Russian start under those conditions, right near the start, unless you include just north of where St. Pete's actually should be. That iron is on a forested hill, yes? Next to the copper? I have no problem working it. Remember, you have to remove the trees first.

    There were some issues with working resources, though, I agree, like stone on floodplains near Sumeria.

    The newer versions allow you to use the resource generator and prevent certain resources from showing up in certain areas (the exclusion zones). Try that, instead of importing.
     
  4. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,323
    Location:
    France
    1/ see my previous message, I was waiting for the patch and city renaming to be possible, this is planned, and my next priority :)

    2/ here is how the formatting should be:

    Code:
        <CityMap>
            <Replace MapName="PlayEuropeAgain" X="25" Y="58" CityLocaleName="LOC_CITY_NAME_PLYMOUTH" />
            <Replace MapName="PlayEuropeAgain" X="25" Y="59" CityLocaleName="LOC_CITY_NAME_EXETER" />
        </CityMap>
    No need to write every possible position (but you can), the code will pick the closest one (in a limited distance)

    I really want to use the "LOC_CITY_NAME_" formatting as it will allow translations (I've already merged simplified Chinese that was submitted on gitHub, thanks guys !), I'll post below the list of available names (edit : can't to that, too long for a post, see "\Steam\steamapps\common\Sid Meier's Civilization VI\Base\Assets\Gameplay\Data\Civilizations.xml" and search for "CityName"), but new ones can be added using this formatting :

    (this one is optional, it would have the benefit to add the name for England list on all maps including scripts)
    Code:
    <CityName>
            <Replace CivilizationType="CIVILIZATION_ENGLAND" CityName="LOC_CITY_NAME_ST_AUSTELL"/>
            <Replace CivilizationType="CIVILIZATION_ENGLAND" CityName="LOC_CITY_NAME_DORCHESTER"/>
    </CityName> 
    and (this one is mandatory to see the name in game)
    Code:
      <LocalizedText>
        <Replace Tag="LOC_CITY_NAME_ST_AUSTELL" Text="St Austell" Language="en_US"/>
        <Replace Tag="LOC_CITY_NAME_DORCHESTER" Text="Dorchester" Language="en_US"/>
      </LocalizedText>
    We could optionally use this to force alternative names in case, for example, of France colonizing England,

    Code:
        <CityMap>
            <Replace MapName="PlayEuropeAgain" X="31" Y="59" CityLocaleName="LOC_CITY_NAME_DOVER" />
            <Replace MapName="PlayEuropeAgain" X="31" Y="59" Civilization="CIVILIZATION_ENGLAND" CityLocaleName="LOC_CITY_NAME_DOVER_EN" />
            <Replace MapName="PlayEuropeAgain" X="31" Y="59" Civilization="CIVILIZATION_FRANCE" CityLocaleName="LOC_CITY_NAME_DOVER_FR" />
        </CityMap>
    (LOC_CITY_NAME_DOVER already exist, but can it can safely be added again here if we don't want to check every existing names, as long as we use the <replace> tag
    Code:
      <LocalizedText>
        <Replace Tag="LOC_CITY_NAME_DOVER" Text="Dover" Language="en_US"/>
        <Replace Tag="LOC_CITY_NAME_DOVER_EN" Text="Dover" Language="en_US"/>
        <Replace Tag="LOC_CITY_NAME_DOVER_FR" Text="Douvres" Language="en_US"/>
      </LocalizedText>
    as the code will try to pick the name corresponding to the Civilization building the city in the CityMap table first, then fallback on the name with no civilization reference.

    It will work as follow:
    England found a city at 31,59 : the LOC_CITY_NAME_DOVER_EN translation will be used
    France found a city at 31,59 : the LOC_CITY_NAME_DOVER_FR translation will be used
    Any other civilization found a city at 31, 59 : the LOC_CITY_NAME_DOVER translation will be used

    edit : using the Civilization tag in <CityMap> could also be a way to prepare settlers map, IE forcing AI settlers to fill the map on the plots where there is a name existing for their civilization.

    Checking for civ6 placement rules will be added when importing resource to prevent that problem, with also alternative placement rules in the optional rulesets to allow iron under wood for example, as you can still mine it after removing the wood.
     
    Last edited: Nov 18, 2016
  5. rock_and_ride

    rock_and_ride Chieftain

    Joined:
    Sep 20, 2009
    Messages:
    74
    please specify this and i can start work on the mapping:
    - what distances do i have to take in account? (is it like X,Y +1 or +2 tile around it?)
    - is it ok if those "city name ranges" overlap? (and if it is ok, how is the name selected?)
    - is it ok if tiles have no city name in range? will it just continue to look for the closest city name range?

    ok, i will provide this format from now on

    i also like the deeper layers like you discribed, but i'd like to keep the scope lower for now and taking step after step and enrich the data, if its ok. i would start with city name tiles (with distance in mind as mentioned above) for the Play Europe Again map according to present day naming in google maps in english. after that i would provide accurate namings for civilizations, so i.e. egypt will have Ra-Kedet while greece would have Alexandria on the same tile.

    So the first data will be <CityMap> with coords and local name without civ attribute and the localized text without language attributes. once i've done this i have a feeling of what i'm up to doing the civ/language enrichments ;)
     
  6. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,323
    Location:
    France
    Distance could be map dependent, if we say 2 tiles max, the code will found any name in the area then pick the closest (or the first one in the list in case of same distance)

    Could be 2 tiles on Europe and Largest Earth and 1 tile on the other Earths map.

    I could also use an optional tag in the CityMap table, to force another distance than the map's default for some cities in empty areas.

    edit: when no name in range, I see if I can make it pick a name for that Civilization that is not in the CityMap table.

    Step after step is absolutely fine, I'd suggest to start with a civilization first and post the result here so that I can test the code with your data, once we have a base working the rest can be shared.

    Because yes, names by Civilization and names by Era can wait (but are planned)
     
  7. nadeem

    nadeem Chieftain

    Joined:
    Sep 6, 2007
    Messages:
    75
    any chance we're getting a smaller world map??
     
    pippolo likes this.
  8. TechnostarBTD5

    TechnostarBTD5 Chieftain

    Joined:
    Jun 13, 2016
    Messages:
    1
    @Gedemon Could you post the tile layout of the Largest Earth Map? I do not have Civ 6 yet to play this, though I would like to see what that new earth map looks like.
     
  9. bB547

    bB547 Chieftain

    Joined:
    Nov 14, 2016
    Messages:
    10
    Location:
    Middle West
    I'm having the exact same issue on that exact same turn. Have tried everything but still crashes to desktop.
     
  10. Laze

    Laze Chieftain

    Joined:
    Feb 2, 2006
    Messages:
    74
    The wierd thing, is that all my other games on the same map is ok. Maby there is a problem with Norway? Or maby a rule-set?
     
  11. Rocker79

    Rocker79 Chieftain

    Joined:
    Nov 15, 2016
    Messages:
    4
    Gender:
    Male
    I hope the card is overworked. Stockholm in Spain?
     
  12. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,323
    Location:
    France
    @ All : which one should we use ? and then who is willing to do the TSL for the Civilizations and City States ?

    I'll wait for the reworked version first

    Do you have a save of that fatal turn ?
     
  13. Laze

    Laze Chieftain

    Joined:
    Feb 2, 2006
    Messages:
    74
    I think this is it. If not, theres only a couple of turns left.
     

    Attached Files:

  14. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,323
    Location:
    France
    Thanks.

    Can someone test it and report if it crashes for them (and if it does post the save from before the crash) please, as I won't have the time to do a couple of turns until I've finished with city naming.
     
  15. smartclick20

    smartclick20 Chieftain

    Joined:
    Jul 25, 2003
    Messages:
    29
    Here some things to change. :crazyeye: (Giant Earth)
     

    Attached Files:

  16. rock_and_ride

    rock_and_ride Chieftain

    Joined:
    Sep 20, 2009
    Messages:
    74
    Okay here we go: France, mon amour! I actually drafted some other civs too but so far it feels like France has the best city spread so it leads to less "clunky" code. See the file attached.

    some points about how i approached and what my thoughts on future development are:

    first of all, i tried to mimic the true locations (obviously :mischief: ). however, the map is pretty small for 2-range names to be effective. you end up adjacent to a river that is totally NOT where the real city is even close to. also, there is a question about naming behavior because with the Ruleset: Medium, you can build cities 2 tiles away instead of three. but that way, you can build 2 cities in a 2-range name! one complete to the left, one complete to the right. both cities would now have the same name if there is nothing else that is overlapping them. btw, i refer to ranges as 0-range, 1-range and 2-range meaning that 0-range is a tile that does not spread its name to adjacient tiles. so only if you settle on this tile you will get this name. however, the same name may be given to several 0-range tiles. this is mostly useful for getting the right city names on the right sides of rivers, as well as placing coastal name tiles as there are often only 2 tiles for a costal city.

    my suggestion is that we stick to 1-range as standard regardless of map size. there are, however, some places for 2- or even more range names, especially in russia and africa.

    so far, i don't know exactly how the naming engine works but here are my assumptions on which i also based my naming mapping on:
    - when the city is being founded, the engine looks up if there is an entry for this coords
    - if it does not find any, it starts looking around in the first ring by checking for a 1-range tile. the first tile it catches, that name will the city has
    - if there are several 1-range names overlapping with the founding tile, we need to determen which name to prioritize
    - for this france mapping, i did it manually and put a 0-range tile on an overlapping tile to ensure a specific name (in the xml, those are comment-marked as "OVERLAY")
    - i don't know if this is really imporant info since i assume that the naming engine always prioritize the 0-range name on the founding tile, even if it overlapps with x-range names
    - i comment-marked the 0-range tiles in the xml as "0", i suggest, we might just want to get a attribute and store there all ranges with probably "0" being default, because i defiently have more 0-range tiles than 1-range tiles (see xml -- if you provide me with the syntax, i'll alter the file accordingly)
    - ok now i hope what i said actually made sense :D

    last but not least some general thoughts about the further mapping: as i said i already tried some other locations like great britan, spain and italy. it seems that the more coast and rivers there are (and the more they are closer together), the more it is likely to have a place with lots of 0-range tiles. its like: you just can't really help that having Exeters city center adjacient to Bristol Canal is just kinda weird for a "true locations" implementation. however, for other maps there would be less hesitation about it because the landscape might be even more reduced, making such differentiations not worthy. so mapping for bigger maps could actually end up being easier on a micro level (although on a macro level you might have to do more tiles *g* )

    see attached file for fun times! excited about how it works out.
     

    Attached Files:

    Last edited: Nov 19, 2016
  17. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,323
    Location:
    France
    I'm doing France on the Greatest Earth Map for testing, came to the same conclusion, here is a quick example for a limited range:

    Code:
    <Replace MapName="GreatestEarthMap" X="45" Y="45" CityLocaleName="LOC_CITY_NAME_GAP" Area = "0"/>
    "0" means exact plot only, if you don't use <Area>, the code will use "1" (may be map-dependent in the future), you can also use this to force larger values in area with less cities.

    In any case closest range is prioritized.
     
  18. rock_and_ride

    rock_and_ride Chieftain

    Joined:
    Sep 20, 2009
    Messages:
    74
    ok, now document with Area="0" for all 0-range tiles. i keep the "overlap" mark for now just for sure.
     

    Attached Files:

  19. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,323
    Location:
    France
    Thanks, perfect, merging.

    Do you use GitHub ?
     
  20. rock_and_ride

    rock_and_ride Chieftain

    Joined:
    Sep 20, 2009
    Messages:
    74
    unfortunately, i have no idea how to use it. i know what it's good for, but chances are that i will destroy everything when i try it without briefing :lol:
     

Share This Page