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

[We the People] Development "diary"

Discussion in 'Civ4Col - We The People' started by Nightinggale, Nov 23, 2018.

  1. Kendon

    Kendon Warlord

    Joined:
    Aug 23, 2012
    Messages:
    192
    Location:
    Rocky Mountains
    I just finished revising the English version of Game Concepts. It went on GitHub this morning. Sometimes the Spanish version, along with the Italian, simply repeats the unrevised English. Having a complete Spanish Colopedia would make the game easier for a lot of players.

    The new revisions recognize some changes to gameplay. Check the English as well as German texts.
     
    raystuttgart likes this.
  2. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,586
    Ideally we should delete those. They are from a time when the game would crash if a string was missing. I updated it to use English instead. The game also logs all missing strings from the translation in question making it easier for future translators to find those strings.

    I agree. Ideally we maintain at least the 5 languages, which comes with vanilla, though even more would be good. No I still haven't forgotten about Russian.
     
    Mr. ZorG likes this.
  3. Fürstbischof

    Fürstbischof Chieftain

    Joined:
    Jul 20, 2018
    Messages:
    51
    Gender:
    Male
    On several occasions I've spotted "translations" which covered only a few words and then disregarded the entire English text. Maintaining non-translated texts is quite cumbersome since these are .xml files. Notepad++ doesn't help you much beyond its obvious qualities.

    Translating WTP is not an easy task if you can't rely on native speakers. I've done this nonetheless for the VIP mod for the old Paradox title Victoria. I'd to rely on machine translations which are today surprisingly good but, sadly, sometimes fail utterly. Quality control would have been nice but the huge amount of translated text involved scared interested parties away. I've added French, German, Spanish, Italian and Portuguese translations.

    If you'd like to give a try I'd recommend DeepL which is better than Google Translate.
     
  4. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,586
    That would be most welcome. You can join our discord and we can talk about how to get you started.

    It would be awesome if we could have a better interface for translators, but that would require somebody with time to program it. Would be awesome if we would have a system to keep track of translations.
     
  5. Maximus123

    Maximus123 Chieftain

    Joined:
    Jul 27, 2020
    Messages:
    2
    Gender:
    Male
     
    Last edited by a moderator: Dec 30, 2020
  6. CurtnoAnna

    CurtnoAnna Chieftain

    Joined:
    Jan 18, 2013
    Messages:
    41
    Gender:
    Male
    Location:
    Winnipeg
    Where do I download this
     
  7. Kendon

    Kendon Warlord

    Joined:
    Aug 23, 2012
    Messages:
    192
    Location:
    Rocky Mountains
    Go to the "Grammar, Style and the Colopedia" thread, page 2, about halfway down. The download includes updates to all English text, not just Game Concepts.
     
  8. CurtnoAnna

    CurtnoAnna Chieftain

    Joined:
    Jan 18, 2013
    Messages:
    41
    Gender:
    Male
    Location:
    Winnipeg
    Got it, thanks. I appreciate your effort doing the work on this !!!!!
     
  9. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,586
    CvUnit::canHaveProfession partly broke the world builder feature, which allows changing professions on units on the map in WB. This was noted because people can't use WB to create settlers. I now disabled the check for "is unit in colony" and for available yields as well as changing yields when changing profession, obviously only when inside world builder. This allows world builder to change a unit into a settler. Is it cheating? yes, but all of world builder is cheating.

    I have to say that I think canHaveProfession is a bit messy. That's not great because it's important and it's performance critical. I would like to clean up profession restrictions, add whitelist and blacklist to which professions a unit can have and a whitelist to professions, which then tells which units can have it. Post xml loading, those 3 lists can then merge into one list for each unit to tell if the unit can have each profession. This way when checking if a unit can change profession during the game (read: time critical for AI), a lot of the checks can be replaced with checking that EnumMap (of bools). Much faster than the current "if fishing boat, then, else if whaling....). It also makes it more clear for xml modders how to handle such restrictions.

    Same with being able to change profession outside colonies. That should be a bool in xml rather than hardcoding checking for certain units.

    Looping yield costs should be done using InfoArrays rather than JIT arrays. That way they will loop all non-zero values instead of looping everything. Skipping looping for professions without any cost was my first Colonization modding optimization. Reduced AI time from 40 to 33 seconds in my test savegame, hence a very time critical part of the code. However it seems that there is even more time to save here.

    Since those updates relies on InforArray, I better start with my planned update to that one to make it cause a compile error is type is mismatch rather than runtime assert failure.

    Yeah this isn't likely to be in the next release. Still it would be good to add eventually as better performance and more automated error detection would be good.

    Speaking of automated error detection, I have added some to make the compiler not accept mixing enum types. It has already caught one vanilla bug where if two players are on the same team, if a player does something (trade in Europe I think), updating the circles on the map is done for only one player when it should be for both. Somehow it doesn't seem like a serious bug as I can't really tell when it would trigger and if so, it will only last until the player selects a new unit. However I still consider it an important bug fix because nobody spotted the bug. Instead I taught the compiler to look for certain types of bugs and it found this one for me. As such if a modder creates a new bug of the same type (mixing types, like BuildingTypes == BuildingClassTypes), then the compiler won't accept it because we know it's a bug. It makes the code more resistant towards introduction of new bugs.
     

Share This Page