It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Hi,

I also was thinking about some kind of randomness in the economy AI code aswell but i couldn't find any usual pseudo random code in there. (Of course it might be done somehow else.)
The AI does checks, what you are doing to block thair attacks like checking position of your soldiers (or your new towers). The save way would be loading the savegame a view times and just watch, if the AI does somthing different without any input from your side.

For my network tests i made a map with two human players and two cpu players near together with many soldiers to provoke a fight and enough resources for their economy.
What i saw during my tests is, that the game does a good job when it comes to game tick syncronisation.
I was monitoring the game tick count of both nodes and they kept syncron during the netgame despite provoked diconnections.
I could use this game ticks as timestamps to get a hint what the economy AI of both nodes were doing at the same time. And this is were i saw the sudden additional jumps and calls of sub programs in the economyai.dll of one of the node getting worse and more with time.
I once "had luck" on my test-map as it didn't take long to get a desync. (about 4 minutes)
But sometimes it took about 30min or it didn't desync the whole day.

Some ppl said that saving often during the netgame prevents or reduces the chance of a desync.
I could see that this was due to the saving function stopping the game ticks and saving every stati of the game,
also the status of the economy AI. -> if you are lucky, the saving process will reset the drift of the economy AI of both nodes for some time. If you got bad luck, one of the nodes will save its economy AI drift, if it got already too worse in the background. The game ticks are still syncron though.
(That are these savegames, where the desync always comes up directly or shortly after loading the savegame.)

Btw.: I saw, that in the S4 History Version, Ubisoft merged alot of .dll files into one S4_main.exe.

Also the economyai.dll is no more. Its seems to me that they didn't just compress the dlls in the main exe...
They integrated the economy AI code there? So i guess they should be able to fix our bug. :P

TC,
morphy
Post edited January 15, 2019 by xmorphyx
Honestly I think it is beyond naive to think they will get anything fixed.
Looking at changelogs all I have seen is supposed fixes for bugs that have to do with "newer" "features".
They just don't have the interest in doing anything there, they believe it won't make them any more money. And even if someone there were interested in getting it fixed, as always they're cut as short as humanly possible to maximize profit.
I'm not surprised as it is business as usual but it actually hurts because they manage to take this out on a game that is part of few fond childhood memories of mine. It feels personal and in that way it actually angers me.

You can see in a lot of places how even the original settlers iv is buggy as hell, even from a design perspective. There are dlls regarding savegame logic that aren't used anywhere in the game. There are no imports. Random crashes related to a threading library, desyncs, misaligned fonts, ships make no sounds, diggers stop digging or simply approach a building site and then leave only to run around in circles which btw seems to break the entire building economy altogether. Music overlapping or simply not playing due to simple typos in the config files. I don't see why supposedly multithreading is used to simulate at least the donkey and harbor logic, but imagine a game where each and every worker is outsourced into individual threads. The game probably reeks of race conditions.
And guess who is at fault? Dear Ubisoft aquiring BlueByte and enslaving them. And now they're doing this to the game all over again. But, again, this is business as usual. It is not surprising. But this time it angers me. It still feels personal.
I agree with you, InstantMuffin. I only recently came to terms wtih the fact that the desync problem will never be fixed. This thread gave false hope (albeit well-intentioned).

With the release of the 'History Edition' it feels like we are being taunted again. That hope that it might finally get fixed is being painfully dragged out again.

I agree that they have no interest in enhancement and they will do the bare minimum they can get away with. I can't even begin to imagine them spending the time and resources required to fix this (especially if/when they realise how much work is required).
Hmmph. I haven't heard back from Ubisoft yet. I have written the person of contact a message yesterday, asking if anything new has come up. No reply yet. This seems to come to an end.
Worse news, the donkey harbor crash thingy happens in at least 4 different code sections, all linked to a central data structure that is involved. I can only fix one of those occurences by patching the binary. Also that structure is involved in a crash seemingly unrelated to marketplaces and ship trading.
I wish I could have a chance to fix these mistakes. Düsseldorf is only like 40 minutes away and I'd work on it for free. But I also don't want to have a "fixed" history edition since thanks to it relying on uplay and such it is not really fixed in the first place. I'd want to have a drm free settlers iv without bugs like it was supposed to be 18 years ago.
Sad story.
Post edited January 16, 2019 by InstantMuffin2
For me i worked around the desync bug with a little bash script (yep i'm playing S4 over wine on Linux):

while [ 1 == 1 ]
do
xdotool key ctrl+s
sleep 300
done

it auto-save the game every 5 minutes. With this running in background i am able to play with my wife over hours without any desync.
Anyways, just a known workaround but automated. Also shouldnt be to difficult to reproduce that script for this Microsoft Crap they call "Operation System" ^^
Post edited March 06, 2019 by NoDiskNoFun
Hi NoDiskNoFun,

The workaround with autosaving is well known und it's good enough for LAN at home.
I think the new History edition supports something similar?

For some it didn't work either, caused troubles or waiting time with more than 2 players on the net,
or it's simply an additional hassle to avoid those desyncs for a game they paid already twice or more.
It's still a workaround which shouldn't be needed at the first place.
This thread was more about to find out, how the game runs into the desync situation at first place
and whether it can be fixed for good.


TC,
morphy