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

The OOS Issues that Plague This Game

Discussion in 'Civ4 - Fall from Heaven' started by Calbrenar, Apr 1, 2008.

  1. Calbrenar

    Calbrenar Prince

    Joined:
    Jul 13, 2004
    Messages:
    331
    Is there a way to push Diplomacy screens back? I seem to notice more OOS when something is happening when someone else fire's an event.
     
  2. Kael

    Kael Deity

    Joined:
    May 6, 2002
    Messages:
    17,401
    Location:
    Ohio
    What do you mean by diplomacy screens?
     
  3. Jean Elcard

    Jean Elcard The Flavournator

    Joined:
    Feb 26, 2006
    Messages:
    1,008
    Location:
    Leipzig, Germany
    What I don't understand is, why is there no way to let the others know, what happened? How does it work for all the other stuff coming by default with Vanilla Civ4 or BtS? There must be a mechanism doing it, otherwise it wouldn't work at all.
    I suppose it's probably hardcoded somewhere else and not in the dll but in this case it is a small wonder that all the other things you've implemented in FfH are working as intended. Let's just hope Firaxis makes Civ5 even more modable as Civ4. Some more influence on the graphics engine would be nice for example.
     
  4. Calbrenar

    Calbrenar Prince

    Joined:
    Jul 13, 2004
    Messages:
    331
    Well you know how minimize popups takes all the building and research popups and pushes them to the end of the turn? The only thing that is still happening at the start of the turn are now event popups and diplomacy screens . IE when a computer requests a trade or tribute etc anything related to communication with the AI. We found that the majority of our OOS errors (at least the initial ones) occured when one person had an event and made a selection while one of the other human players was busy with a window. Minimize popups reduces this happening drastically but you still can't control getting a diplomacy screen while someone else is dedicating their obelisk to knowledge.

    I can't confirm anything of course but it definately seems like there's a greater chance of an oos if an event goes out and you don't "see" it until after you finish talking to the AI etc.
     
  5. Kael

    Kael Deity

    Joined:
    May 6, 2002
    Messages:
    17,401
    Location:
    Ohio
    There is definily a mechanism for it, but sometimes something isnt right. I would have had to have written my own sync event for the kuriotate city issue (i didnt, I just disabled the option in multiplayer). I did write my own sync event for players changing traits (thats something i wanted in multiplayer that the game normally doesn't expect to change on the fly so it normally doesnt bother syncing).

    Things like the defensive bonus from the homeland promotion are usually messed up somewhere else. In that example it wasn't being writting into the save strings. So not only would it cause OOS's, but it would be lost if you save and reload games. A lot of the problems we fix in single player fix bigger issues in multiplayer (ie: multi-player is much more sensative than single player).

    I do wish, as you mentioned, that I could see the sync code. I would love nothing mroe than to have to logout all the specs its syncing when it OOS's. I just don't have access to that.
     
  6. Soam

    Soam Golden Monkey

    Joined:
    Aug 17, 2004
    Messages:
    97
    Location:
    Canada


    I can second that in the past when I had the majority of my OOS problems it was always when I would get multiple diplomacy screens as events fired off in the back.
     
  7. wayeward

    wayeward Chieftain

    Joined:
    Jan 12, 2007
    Messages:
    65
    We had another OOS in mid game.

    The only thing we have turned off really is dubug no events.

    Map size small (highlands)
    Last days
    Hyborem entered game (no problems though)
    Civs: Perpentach, Gyr, Varn, Flauros, Arturus, Amelanchier, Einon.

    The OOS occurred at turn 364. The thing is, nothing major happened that turn that we could see except I took a city from Perpentach called "Gaudium". My partner Soam was doing nothing at the moment. The A. counter had not gone up either...


    1. Are all counter events, notifications (when it goes up, etc), spawns of the Horsemen, etc, all dependent on random events being enabled? Its been a long time since we had the counter so high, 87 at the time the OOS occurred--and we had yet to have any events/notifications/terrible things happen as the counter went up. I was dissapointed!:lol:

    2. This particular OOS was easy to avoid somehow, we simply reloaded a ways back, I tried taking the city again and there was no OOS. I guess this has something to do with what Calbrenar has mentioned before, that there seem to be OOS issues in multiplay that will always occur and can usually be fixed with a reload/rehost/etc. But, in my small mind, there seems to be a different set of OSS now with FFH, those issues that me and Soam used to get that literally broke a game and no amount of rehosting/reloading/ reinstalling could fix.

    The former set of OOS issues are manageable, the latter set are not. So it is the latter set of OSS issues that I want to find, but frankly, to be honest, I haven't discovered any that serious since we used the debug disable events option in our last 9 games.
     
  8. Kael

    Kael Deity

    Joined:
    May 6, 2002
    Messages:
    17,401
    Location:
    Ohio
    Yes, those require the event system. One of the features on the 0.32 build list is a "AlwayOn" eventtrigger flag. So that some events will stay even if events are disabled (so improtant features events stay).

    Yeah, Im very suspicious of events right now. thats why I want to make a "playable" disable events option. Hopefully that will make things viable for multi-players.
     
  9. snarko

    snarko DLLer

    Joined:
    Dec 9, 2003
    Messages:
    1,512
    Location:
    Sweden
    Perhaps it would help to turn on all the logging (LoggingEnabled = 1, SynchLog = 1, RandLog = 1, MessageLog = 1) in the ini file and then compare the logs when you get an OOS error?


    You can, in a somewhat hackerish way, make worldbuilder saves of multiplayer games. Would that be helpful? If so I can explain how, but I'd rather not do it openly in this forum as it can be abused.
     
  10. Calbrenar

    Calbrenar Prince

    Joined:
    Jul 13, 2004
    Messages:
    331
    That would actually be exceptionally helpful for debugging. Send me a PM if you don't mind.
     
  11. xienwolf

    xienwolf Deity

    Joined:
    Oct 4, 2007
    Messages:
    10,589
    Location:
    Location! Location!
    Well, got my wife to play me at a game tonight, and about turn 14 or 15 we got an OOS as the turn was starting up and my scout was being attacked by a Wolf Pack. She saved and we reloaded, the first thing I noticed was that the Wolf Pack was alive and my scout unharmed (as OOS hit I had won against the Wolf Pack).
     
  12. kioras

    kioras Daemon Quellor

    Joined:
    Jan 4, 2007
    Messages:
    54
    be nice for 0.32 if there is an option for logging on, automatically, simply so when playing multiplayer we can turn the logs on, and post them up on an OOS
     
  13. Kael

    Kael Deity

    Joined:
    May 6, 2002
    Messages:
    17,401
    Location:
    Ohio
    That would be cool. Unfortunatly all the sync code isnt included in the SDK so I have no access to it.
     
  14. wayeward

    wayeward Chieftain

    Joined:
    Jan 12, 2007
    Messages:
    65
     
  15. Kael

    Kael Deity

    Joined:
    May 6, 2002
    Messages:
    17,401
    Location:
    Ohio
    Could you make a scenario with a bunch of wolf packs and scouts beside each other, then let them fight and see if that causes occasional OOS's?
     
  16. xienwolf

    xienwolf Deity

    Joined:
    Oct 4, 2007
    Messages:
    10,589
    Location:
    Location! Location!
    Haven't made a scenario before, but I'll give it a shot. Pretty sure I just go into Worldbuilder and create 2 Civs with lots of wolves & Packs, then save as a scenario somehow?

    I had a later fight with a wolfpack which did not result in any OOS, and since my scout had won I don't see why it could be tied to the wolf spawning mechanic or anything like that either. So hopefully I can find something.
     
  17. Kael

    Kael Deity

    Joined:
    May 6, 2002
    Messages:
    17,401
    Location:
    Ohio
    A lot of times it doesnt run consistently and their is some random chance that is involved in the outcome. For example it could be that the vs animal bonus is being sync correctly, so in her game the wolf won (because you didnt have the bonus) and in your game the scout won, which would cause the OOS.

    Even in that case the OOS would only occur if the random seed was close enough that the unsynced part (the vs animal bonus) was enough to sway the combat. If the scout lost in both then the game stays in sync, if the scout won in both then the game stays in sync.

    So if you suspect something may trigger OOS's its usually best to run 10-20 test cases. And exactly as you say the easiest way is to go into worldbuilder and create a row of scout for 1 civ, and a row of wolf packs for the other civ. Then load it as a multiplayer game and try it out.
     
  18. wayeward

    wayeward Chieftain

    Joined:
    Jan 12, 2007
    Messages:
    65
    Kael, do you think it might help our games if we don't put on "randon seed upon reload"?
     
  19. Sto

    Sto Should i code today ...

    Joined:
    Dec 15, 2005
    Messages:
    1,144
    Location:
    Marseille (France)
    OOS reports :

    We have done about 3 games with patch d and e . Always compact enforced , double events , standard size map , 8-10 players (a game with all AI good , another all AI evil , the last game alignments equalized) . (sync log ON) Direct IP , XP via VPN .

    the 2 first games without only one OOS until the end .

    _ A thing we have noticed . Once we get an OOS , sometimes during the first turn . We get a lots of OOS after . So every time we load , start a game : we both restart Civ IV . This seems to avoid a lots of OOS . Like if a state of the game is not reinitialized .

    _ I've also get an OOS during our turn (all AI updates finished) . I've simply took a city and the game goes OOS . We restart Civ IV , then i took the city again and No OOS . The log is very interesting at this point . It seems that my friend were just disconnected (probably a very short amount of time , this happen every time with net MP) . But the game were not aware of this statement ... so the game obviously goes OOS . I don't think these kind of OOS can be fix .

    hosting player :

    Spoiler :
    [8719.796] DBG: SYNCLOG: STARTING TURN 18061
    [8719.843] DBG: SYNCLOG: Received EndTurn for Player 0 (NetID 0) - Checking in for Turn 18061
    [8720.140] DBG: SYNCLOG: Received EndTurn for Player 1 (NetID 1) - Checking in for Turn 18061
    [8720.140] DBG: SYNCLOG: All Checked In for Turn 18061
    [8720.140] DBG: SYNCLOG: STARTING TURN 18062
    [8720.171] DBG: SYNCLOG: Received EndTurn for Player 0 (NetID 0) - Checking in for Turn 18062
    [8721.578] WRN: Our connection to NetID 1 was closed remotely
    [8721.578] DBG: Removing connection-level player info for NetID 1 (state=2)
    [8721.593] DBG: SYNCLOG: Got remove player message on normal turn 18062
    [8721.593] DBG: SYNCLOG: Sending HotDrop notice for turn 18063
    [8721.593] DBG: SYNCLOG: Executing HotDrop notice on turn 18062
    [8721.593] DBG: SYNCLOG: Hot turn set to 18064
    [8721.593] DBG: SYNCLOG: Checking in NetID 1 for turn 18062
    [8721.593] DBG: SYNCLOG: Checking in NetID 1 for turn 18063


    Other player :

    Spoiler :
    [245007.188] DBG: SYNCLOG: STARTING TURN 18061
    [245008.641] WRN: Cleaning up MP Layer - closing connection to Net ID 0
    [245008.641] DBG: Closing the connection for NetID 0! Connection State = 1!


    Like you can see , after the reconnection , the check restart for TURN 18062 . The hosting player have a statement that the TURN 18061 is cleared , but not already done for the other player .

    Tcho !
     
  20. kioras

    kioras Daemon Quellor

    Joined:
    Jan 4, 2007
    Messages:
    54
    We had more another OOS, events off, turn around 110, quick game, standard map, 2 human against 3 ai teams of 2. just finished up a war, and afterwards had an OOS, the OOS happened right when one AI built the pact of the nilhon, and the human build the bone palace triggering a golden age. Disconnecting/reconnecting did not clear the sync. Compact was enforced.
     

Share This Page