FfH2 0.25 OOS errors

any news of progress in the OO errors? not to rush anyone, im just eagerly anticipating playing this wonderful mod with my friends again, and its fun to know how things are progressing.
 
Just started doing some Multi-player LAN games with my wife and have run into our first OOS errors. Recently came up with some ideas I wanted to share, but haven't had the time to set up the debug options or test them myself.


First couple of OOS, we saved, reloaded and went on with life. Eventually we had some OOS immediately after reloading, so at some point we decided to try and keep playing. First time we did this the OOS went away. Next time we did it the OOS stayed and we kept playing for nearly 30 turns or so. At that point I walked into her territory and tried describing where I was to her, and we realized that according to my game, the AI had built a city on her border which wasn't there in her game, and her units were in different squares.


At that point, I saved and we reloaded, she informed me that all of her workers were sitting in the city squares, none of the improvements she had built since the OOS were in place, and she had some more warriors than she had actually built and they were scattered all over the map (fortunately her warrior with Orthus' Axe was still around).


It seemed to me from this, that MUCH more than simple combat/damage types/hidden Nationality is becoming an issue (to my knowledge, nobody had any HN units to speak of, and nobody was at war anywhere yet, if anyone wonders).


Anyway, my idea is that when you get an OOS, in addition to the normal debug messages, you ought to have each person who is OOS save their game individually, then collect the savegames and load each one as your race to see precisely what is different between them. Also, letting the OOS run for a few turns may reveal something more about the nature of what is going on if one is lucky. Though a save immediately after the OOS is probably the best bet all around for locating the errors.



My own theory after this game: I think that the computer is taking its turn as soon as the first person ends their turn. I had one round where I ended my turn and while waiting for her to end her turn, a barbarian warrior killed my scout that had just moved to the square next to him. So somehow the computer moved during the time she was still doing her own actions.

To test this I would ask: Has anyone played WITHOUT simultaneous turns and had an OOS? And if anyone is patient enough, try using the chat function to ensure EVERYONE is done with their turn before anybody hits ENTER to end their turn. I'll try this myself, but it will probably not be till next weekend that we play another round to test it.
 
I'm afraid what you are describing is simply what happens when you go out of sync.(As far as I understand it.) The games become asynchronous, so the events and actions by computer players are occurring differently on each machine. This is why we never bother playing on once we go out of sync as we might as well be playing different games.

We have been trying to play with different features disabled to see if the OOS's occur.

The best way to test would probably be to turn off as much as possible and then turn the options on one at a time to try and isolate the error. But this could take a long time, be boring and also may not even work if BTS causes errors on it's own. (i.e. Even if you turn off what is causing OOSs in FFH2, there may be some coming from BTS itself.)
 
I'm afraid what you are describing is simply what happens when you go out of sync.(As far as I understand it.) The games become asynchronous, so the events and actions by computer players are occurring differently on each machine. This is why we never bother playing on once we go out of sync as we might as well be playing different games.

We have been trying to play with different features disabled to see if the OOS's occur.

The best way to test would probably be to turn off as much as possible and then turn the options on one at a time to try and isolate the error. But this could take a long time, be boring and also may not even work if BTS causes errors on it's own. (i.e. Even if you turn off what is causing OOSs in FFH2, there may be some coming from BTS itself.)

Yeah, this isnt the most exciting work in the world, but its what I was hoping the community could help us with since (as you say) it requires significant time. Im happy to help code out the fixes, but I need help on isolation.
 
I'm still thinking it's a cache problem!!! We get our first OOS after around 20 turns. Exit game, dump the cache. Start up, OOS free for another 20 turns (usually). To me it seems that instead of searching until we are blue in the face, why not circumvent the problem and program a a "flush cache" in the end of each turn? My own programming skills are outdated but according to my more skilled friends, this should not be very difficult, or...?
 
personally in the many games we played it always comes down to combat. no idea how to get any closer than that, simple combat between a warrior and a scout can cause OOS, randomly, even with the FfH combat disabled.
with 2 players its not too bad, because 2 players dont get different combats as much, but when you start adding more you notice the combats causing OOS even more.

if you want no OOS, try a builder game with "Always Peace", "No Barbarians", "No Hidden Nationality" and maybe "No AI Spellcasting" (not sure its needed, but we used it just in case). doing that we ever got OOS, atleast not that i can remember as being any more than pre-BtS.. a lil boring tho heh.
 
I agree with Sureshot, in a Peacefull Game without Barbarians you dont get many OOS, in most Games without Barbs the first OOS comes somewhere after turn 150+ and even after that OOS are very rare.
On the other Side if you have a Game with many Combats you get many OOS, with Barbs on its nearly impossible to play, but its still a pain if you play with many AIs that are fighting each other. The Strange thing is, that it happens pretty random so OOS are nearly impossible to reproduce, we had a OSS right after a save, so we decided to reload the save instead of simply rejoining, and this time to Combat (Warrior vs Gobbo-Barbs) didnt give a OOS :sad:
 
Hmm.. let me disable the FfH specific on Unit Kill functions, maybe it is coming from one of those.
 
i am not sure if combat resolutions fill the cache but if its the case the combat and cache could be one and the same problem. In this case it has nothing to do with the combat functions (one indicator could be that disabling different functions had no effect on oos so far, another that its so random. for example loading a save game and the same combat didnt turn the game oos maybe simply because the reload emptied the cache...)
normal BTS has some oos problems, FFH has many but at the same time normal BTS has under normal circumstances a lot less combats resulting in less cachefilling
adding to that some FFH own oos problems like for example the ones from leader abilities this leads to the impression that oos are so random and so many.
its only a guess but i think the cache problem should be resolved to see how many combat oos still remain and then the identification of the remaining oos problems would be way easier.
 
Cache becoming corrupt is a symptom of the problem (the computers aren't syncing everything that happens correctly, they write what they belive the state of the game is to cahce, in order to get back in sync the game needs to be restarted and cache needs to be cleared). I dont think that the cache becoming corrupt causes the sync issue, its the other way around. Besides there is no way to flush cache during the game.

@Sureshot: could you try the following DLL with FfHCombat disabled? With this version the game won't process any of the special FfH functions that trigger when a unit dies.

Test CvGameCoreDLL.dll
 
Some info about OOS (MP - BTS V.3.13 - Patch K)

- Win XP SP2
- FfH2 installed in C:\Games\Firaxis\Civilization 4\Beyond the Sword\Mods\Fall from Heaven 2 025
- BtS Store copy)

I have play a MP game with a friend and we have noted some things about OOS

- first OOS at 143° turn
- the game seems having problems in handling with a lot of combats
- when OOS first come in play I noted that graphic units changed forever, so I see my dwarf workers as normal Human workers, goblin as ancient spartan units and skeletons as swordmen
- when a goblin units appears near my border, I have OOS

I think the problems is about barbarian so I will disable it in my next game hoping in a game w/ OOS

(Sorry for my English but I am not able to explain correctly my problems in a very technical topic like this. I do my best)
 
Bts store version 3.13 - FFH2 patch "k"

Two human player and 8 AI player

I have found OOS errors beginning from turn 140, and always when a barbaric unit attacked one of mine.
I have tried to restart the PC, to reload the savegame, and have had turned out accidental results.

I have had remarkable improvements disabling the option of zoom in combat and enabling that of fast combats, but OOS is too frequent to play the mod.

I think that OOS errors came from wrong calculations with hidden units and combat situations.

Probably, playing without barbarians, will improve the game.

What can I do to help you to solve it? Because I love this mod and I play that only in MP...:)
 
It seems that the OOSs start at a certain date only which is for pretty much anyone around turn 130/140 in standard speed. The on kill function would probably be called before, for example when fighting animals, but there are no OOSs due to this. Do orcs have special resistances to elemental damage that animals don't ? I think I remember a resistance to fire or something like that from version 0.22. This could be an issue ?
 
It seems that the OOSs start at a certain date only which is for pretty much anyone around turn 130/140 in standard speed. The on kill function would probably be called before, for example when fighting animals, but there are no OOSs due to this. Do orcs have special resistances to elemental damage that animals don't ? I think I remember a resistance to fire or something like that from version 0.22. This could be an issue ?

Yeah, thats why I added the debug option to disable damage types. But it didnt' seem to effect the amount of OOS's.
 
yep, I'm quite puzzled TBH...
what if it's something connected to religions ? I think that the religion promotions are not yet back in 0.25k, is this correct ? Maybe a piece of code about this made it into 0.25 that causes problems ?

PS: I think that the armageddon counter sometimes creates problems too.
 
- when OOS first come in play I noted that graphic units changed forever, so I see my dwarf workers as normal Human workers, goblin as ancient spartan units and skeletons as swordmen
- when a goblin units appears near my border, I have OOS

Could it be the artstylepromotions? BTS doesn't use this feature so I doubt is has been tested a lot by firaxis. Just guessing.
 
Top Bottom