Any plans to fix buggy replay system?

Sometimes replays just do not accurately reflect what actually happened in the game (particularly in custom games).

It seems completely random whether an autosaved replay will ‘break’ like this or not.

Is there any awareness of this bug or plans to fix it?

For an example, a ball of marines that the player ordered to attack a specific location in a game might just sit there for the rest of the replay. After a specific time in the replay, various units just lose their sync with what actually happened in the game, and no longer receiver new ‘orders’ from the player that game them in the game.

They don’t respond for the rest of the replay, so the replay ends up desynced and completely broken with the map full of these desynced ‘zombie’ units if you will.

Since the Remaster didn’t change anything with the game engine, I suspect that the issues that has existed from the day that SC was released is still present.

One of the main issues is the “chance to hit” mechanic which randomly determines if an target is hit with each incoming attack. More specifically, any time a unit has the high ground or is under cover, there is a greatly reduced chance that an incoming attack will hit. Problem is, that chance is calculated is not stored in the replay data. Instead, the chance is recalculated during the reply.

For example, a siege tank on high ground is attacked by low ground dragoons. In the actual game, the chance to hit allows the siege tank to defeat the dragoons. Later that siege tank kills all the workers at an expo before being destroyed. So far, so good.

But in the replay, the chance to hit is again random, meaning, it’s possible the seige tank is destroyed by the dragoons, further meaning that the siege tank never goes on to kill all the expo workers. Plus, in the replay the surviving dragoons now sit idle because they wouldn’t have any more orders to execute because they were destroyed in the actual game.

The more chance to hit calculations in a game, the more of a chance that the reply will go off the rails.

As for fixing it, not likely. Development of SCR ended about three years ago. And even if it were still being developed, it would require some deeper changes to the engine and/or replays, which is something that the devs wanted to avoid as much as possible (as in, keep it 100% true to the original).

1 Like

Hi thank you for your response, it’s insightful.

However, we regularly play a custom game that involves large armies fighting with hundreds if not thousands of “high-ground shots” fired in a game.

Combined with the base miss chance of an air shot (1/256), I would expect if this was the cause almost every single replay would be broken. Since almost every game would be guaranteed to have desynced ‘miss shots’.
(/wiki/Chance_to_Hit)

But at least half of the replays still seem to work as expected without desyncing.

Perhaps it takes a sufficiently large number of desynced missed attacks to completely brick the replay?
Or is it just something we likely won’t know the root cause of since developers are retired from the product.

With the high ground and cover chance to hit being around 53%, I could see the outcome of a fight matching the actual game a fair amount of the time. Ultimately, it’s not the individual hits so much as it’s the outcome: who dies or lives, which would have a bunch of variables (each’s hp at the start of the fight, their damage, their armor, etc). So there’s a good chance (slightly in the original game’s favor) that the replay could have the same outcome. Like you said, the more of these outcomes that are wrong, the more the reply starts to fall apart. Time is a factor too, the longer the game runs, the more the wrong outcomes pile up turning the replay in to a mess.

That said, I don’t know all the little hiccups in SC’s replay system. This one is just one of the bigger ones.

I wouldn’t be surprised if the reason Bliz got rid of chance to hit in SC2 was somewhat based on these SC issues.

mmmm, But wouldnt that make any replay basicly impossible to be the same as the actual game? Any game that last long with some actual combat would be impossible to be the same …
I mean 1/256 chance for a random miss any time is literally impossible for the replay not desynch at any long game … Even with consider that it wouldnt affect the outcome to much. Like every 3rd long replay would be a mess, not even taking in account the 1/3 highgroun miss chance,etc…
Also arent weird maps normally those that get buggy replays all the time,specially weird custom games, like insane ai or with a lot of weird triggers,etc.
So i dont think that the chance mechanic is the most influencial in bugging replays.

What about observed games though? Does it apply the same ? BSL used to get bugged live games like every tournament several times, so it was pretty noticeable …?

That’s the air shot chance. The cover and high ground chance is ~135/256 (~53%).

No, as it’s more dependent on the outcome, not the individual hits, there’s a fair chance the reply will play out like the game. Especially if there’s little to no cover/high ground damage.

It is, it has been since replays came into existence. When I met with the SCR team in 2008, we talked about it.

I doubt it as all players and observers are getting the same damage calculations from the same play through. Having the players and the observers getting different calculations in the same game wouldn’t make sense.

→ Why do trigger heavy custom games than bug more to the point that some custom maps dont have any reliable replays?

Why do observed games get desynched in BSL or ASL, for that matter, even though we kind of never see it in ASL in contrast to BSL, where it happens far to often ?
Since

I doubt it as all players and observers are getting the same damage calculations from the same play through. Having the players and the observers getting different calculations in the same game wouldn’t make sense.

That I’m not sure of. Like I mentioned above, I don’t know all the hiccups with SC’s replay system. It’s just that the chance to hit issue is fairly well known.

As to why observers desync, I don’t know. The observer feature was added late near the of SCR’s development. So if observers are seeing different outcomes that the players, it could be that the observer feature didn’t have enough time to be fine tuned.

I was just saying that I doubt that the players and observers receive different data to their clients because that would defeat the purpose of having observers.

Do they use all the same maps? If yes, then it’s just random chance. If no, then it’s the maps.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.