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] Bug reporting

Discussion in 'Civ4Col - We The People' started by Nightinggale, Sep 24, 2018.

  1. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,718
    Gender:
    Male
    Location:
    Stuttgart, Germany
    No, this is not a bug. :)
    (And no, it is not explicitly coded to only occur if you do not have the money. :satan:)

    If you lack the money to accept offers from DLL-Diplomacy-Events (King, Archbishop or Natives) that is "bad luck".
    They are also not "one time events" - they usually occur again after a while.

    It depends on your style of playing of course. :dunno:
     
    Last edited: Apr 8, 2020
    AnAmericanCommunist and Renera like this.
  2. lethiel

    lethiel Streaming Col at https://www.twitch.tv/lethiel01

    Joined:
    Jul 1, 2008
    Messages:
    129
    Location:
    Denmark
    We just tried another multiplayer game and keep getting the de-sync problems between turns multible times. They come after roughly 1550 AD. You can reload the game and get about another 5-10 game turns before it de-syncs again.
    We never haggle.
    My friend wanted to use Spain though but it doesn't coincide with culture expansion anyway.
    Video: https://www.twitch.tv/videos/590057533
     
  3. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,718
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Please describe us what is happening ingame - on both sides (before the de-sync).

    Is there e.g a specific Python Event triggering?
    What kind of messages do you see in the main interface? (central top)

    Otherwise we can do nothing but guessing wildly ... :dunno:
    (Currently I do suspect that it might be related to a Python Event - but I would need to know which one ...)
     
  4. lethiel

    lethiel Streaming Col at https://www.twitch.tv/lethiel01

    Joined:
    Jul 1, 2008
    Messages:
    129
    Location:
    Denmark
    I don't see any actions being taken.

    Desyncs happening at:
    01:41:30. Accepting a FF, getting a basic trade offer from Lazaro (after the de-sync happens), rejecting mercenary purchase, revolting slaves captures a settlement between those turns, friend replugs headset.
    02:10.10: Archbishop event (shows up after desync).
    03:03:40. End of turn. No event happening (for me). He says he presses enter. I cannot guarantee if he is doing anything but it sounds like he is just pressing enter.
    Maybe you can see a pattern?

    If it is because of python event then any diplo event would be able to trigger the de-sync as it is not a specific one that does it alone.
     
  5. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,718
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Python Events (Pure Text Window) and DLL-Diplo-Event (Diplomacy Screen with another Faction) are 2 completely different systems technically.
    Both systems however do use randoms - but not all randoms necessarily cause problems as far as I know ... :dunno:

    However as it currently sounds:
    The cause of the desyncs seem to be my DLL-Diplomacy-Events (e.g. Native Mercenaries, Natives offering small amounts of goods for Trade, Archbishop, Revoltionary Noble, Revolutionary Support, European Wars, ...). :c5unhappy:
    (I am the only modder for Civ4Col who ever created something like that and then used it extensively because I liked it ...)

    If that is the case, that would be pretty problematic though ... :think:
    (They could of course all be deactivated for multiplayer but then multiplayer would loose about 10 features ... :sad:)
     
    Last edited: Apr 12, 2020
  6. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,416
    The game calculates all the new turn stuff, AI turns and whatever while the screen is frozen and none of this will be checked for desyncs. When the turn starts, it will check and if it desyncs, all it will tell that something went wrong since last check. I'm not sure it checks prior to displaying the diplomacy screens, meaning maybe they are the last thing to display to the user prior to the check even though they are unrelated.

    What I can really use is a savegame where I can click end turn and then at the start of the following turn it will desync. If this can be repeated, then I will have something to test on and examine what is going on.
     
    raystuttgart likes this.
  7. lethiel

    lethiel Streaming Col at https://www.twitch.tv/lethiel01

    Joined:
    Jul 1, 2008
    Messages:
    129
    Location:
    Denmark
    We will try to find a good save game for analysis. But it has never been a guaranteed de-sync like in the case of haggling. We were always able to reload an autosave and squeeze about another 10-15 turns out, sometimes more.
    The video I linked to above with all the footage could maybe also be helpful.
    Does anybody else from community currently play multiplayer games and if yes is it working?
     
  8. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,718
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Hi guys,

    I currently believe that the desynchs in Multiplayer are caused by the DLL-Diplo-Events.
    (e.g. Native Mercenary, Bishop, Revolutionary Noble, ...)

    It would really fit the description I have read from lethiel.
    (Being random and triggering after e.g. 1550 - which fits their randomness and "min turn setting".)
    He also mentioned some of them explicitly.

    @Nightinggale:
    To verify that cause, the following approach can be used:

    All of these DLL-Diplo-Events have their own "min turn setting" and their own "probability per turn".
    (In GlobalDefinesAlt.xml)

    For one of them (e.g. the Bishop DLL-Diplo-Event):
    --> The "min turn setting" can be set really low (e.g. 10 turns)
    --> the "probability per turn" can be set really high (to a value that resembles 100%: 1000)

    If the desynch in Multiplayer then happens consistently after e.g. 10 turns it is pretty much sure that these DLL-Diplo-Events cause these desychs.
    (They are almost all coded using the same design pattern.)

    Once we know that they are the cause, we can figure out a solution. :think:
     
    Last edited: Apr 14, 2020
  9. lethiel

    lethiel Streaming Col at https://www.twitch.tv/lethiel01

    Joined:
    Jul 1, 2008
    Messages:
    129
    Location:
    Denmark
    Here is a save game from a multiplayer game tonight.
    The de-sync seemed to become more and more frequent as the game goes on.
     

    Attached Files:

  10. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,718
    Gender:
    Male
    Location:
    Stuttgart, Germany
    @lethiel

    Thanks for the savegame. :thumbsup:

    We (the team) believe that the desyncs in Multiplayer might infact be related to the DLL-Diplo-Events. :dunno:
    (To be more precise by the pre-calculation in round X and actually triggering in round X+1)

    If that proves to be true - which we could probably test internally - we will also have a starting point to fixing it. :thumbsup:
    However that will also most likely require a lot of code refactoring and time because there are a lot of these DLL-Diplo-Events ... :sad:

    I can currently only ask for a little bit of patience - because the mod is currently in a heavy development phase. :)
    But we will do our best to fix these issues. :thumbsup:
     
  11. lethiel

    lethiel Streaming Col at https://www.twitch.tv/lethiel01

    Joined:
    Jul 1, 2008
    Messages:
    129
    Location:
    Denmark

    Just curious, if that is true would a Diplo event for the AI, then also be able to trigger de-sync or just human Diplo events?

    Thank you for your efforts to fix it. We all (community) know you all work hard to provide awesomeness as always.
     
  12. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,718
    Gender:
    Male
    Location:
    Stuttgart, Germany
    No, it should not because AI handles those events instantly by a different logic that does not involve a dialog with its King or another Player.
    (So there is no precalculation because it does not need an input from the player.)

    If we are correct, only the DLL-Diplo-Events that a Human players get, can cause a desynch in Multiplayer.
    (But it still needs to be verified - currently however all programmers in the team do have the same intuition on this.)

    Thanks. :)

    It is nice for us modders to get some positive feedback from time to time.
    Especially at the moment - with the whole world going crazy - it would otherwise be hard to keep up motivation ...
     
    Last edited: Apr 16, 2020
  13. lethiel

    lethiel Streaming Col at https://www.twitch.tv/lethiel01

    Joined:
    Jul 1, 2008
    Messages:
    129
    Location:
    Denmark
    Just remember that when people ask for ten thousand new features its because they love what you already made. If it wasn't good they wouldn't care to ask. :)

    Now more than ever we need a good game for entertainment to make it through the lock down. :hug:(modders green, community red)
     
    AnAmericanCommunist likes this.
  14. Tugboatspotter

    Tugboatspotter Warlord

    Joined:
    Dec 19, 2019
    Messages:
    190
    It really should be coded not to occur if you don't have the money. Until it is, I predict this will continue to be reported as a bug.

    1) Players don't know it is a repeatable event so they assume they have permanently missed a bishop.
    2) There is only one option to select, ie we don't have the money. Why trouble players unnecessarily with an event with no choice?
     
    Last edited: Apr 15, 2020
  15. XSamatan

    XSamatan Chieftain

    Joined:
    Sep 4, 2013
    Messages:
    54
    I disagree. Not everything is about min-maxing. Sometimes you just miss out on opportunities.

    This point could be worked on - all events of that kind could need a "lesser" option, in this case maybe receive an expert preacher for less money than the bishop.

    Regards
    XSamatan
     
  16. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,718
    Gender:
    Male
    Location:
    Stuttgart, Germany
    It is just a reminder: "Hey, if you do not save up some money, you will miss some cool opportunities." :)
    (Because otherwise some new players might never realize that these DLL-Diplo-Events exist.)

    The DLL-Diplo-Event are intended to have not only advantages / rewards (getting strong Units).
    They are intended to also have the disadvantages / risks (of the King coming by and taking some of the money you saved).

    So it is not an easy decision to save up the money for those DLL-Diplo-Events. :dunno:
    I hate to code features were there is always one perfect solution - there needs to be some strategic consideration.

    For me, a good game balances risks with rewards. Anything else is usually pretty boring soon.
    If it would e.g. be too easy to get these strong Units they would not be something special and really valuable anymore.
     
    Last edited: Apr 16, 2020
  17. Tugboatspotter

    Tugboatspotter Warlord

    Joined:
    Dec 19, 2019
    Messages:
    190
    I agree with your ideals but I don't like this implementation.

    As I said, more players are going to post about this being a bug because they are not used to this kind of mechanic.

    Edit: Considering this further, I don't think it is a good idea to expect a player to save up gold for the possiblity of a random event. It has been mentioned before that players should be allowed to go into debt. This would help with this kind of event. The player would still be able to pay, but the strategic choice would be even more important with the consideration of accrued interest on the debt.
     
    Last edited: Apr 16, 2020
  18. Raubwuerger

    Raubwuerger Chieftain

    Joined:
    Nov 24, 2014
    Messages:
    44
    Location:
    Bavaria
    In general it would be good to see what events are available, and what do you need to fulfil them ...
     
  19. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,718
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Yes, but "debt" (negative money balance) is a totally new feature that
    • pretty difficult to teach to AI (unless we give AI really easy rules for it)
    • might have huge impacts on gameplay and balance
    • is a lot of effort to implement without bugs and side effects
    I am really not sure if that is a good idea ... :dunno:

    Yes, but how? :dunno:
    Is somebody willing to take the time to document them all in Colopedia (e.g. Game Concept "Diplomacy Events")?

    However:

    The things we are currently discussing here are not bugs. ;)
    Please let us not use this thread (intended for bugs) to discuss balancing or feature requests. :nono:
    (We should really use it for real bugs only - otherwise people might think the mod is full of bugs ...)

    If you have requests for new features or balancing changes, please create new threads. :thumbsup:
     
    Last edited: Apr 16, 2020
    Schmiddie and Renera like this.
  20. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,416
    That's a useful savegame to hunting whatever desync bug we have. Something is messed up with Frederiksberg. It doesn't produce the same amount of culture on both computers. It also looks like the computers disagree on other stuff like tool production (Frederiksberg too?). I have no idea why (pending further investigation), but at least we now have an idea about which part of the code is buggy.
     

Share This Page