I spent an hour trying to figure out why me and my buddy couldn't play together, until I realized there was a hotfix in the middle of my 16 hour DoW3 session xD
This post has been edited by Estalibar: Apr 29 2017, 11:26 AM
'Fixed an issue where editing the graphics settings would not successfully apply changes.'
Something as small as this causes old replays to not work.
I had hoped the replay system would get an overhaul, but it looks like that hasn't happened.
Any and all patches are going to break the replay system. It doesn't matter how big they are; it's a version thing. I can't remember how the community worked around it in DoW II for patches that didn't change gameplay data - would that work here?
Not saying it's ideal, but I doubt the replay implementation (storage size vs. ability to replay legacy patch versions) is going to change anytime soon.
I had hoped the replay system would get an overhaul, but it looks like that hasn't happened.
Any and all patches are going to break the replay system. It doesn't matter how big they are; it's a version thing. I can't remember how the community worked around it in DoW II for patches that didn't change gameplay data - would that work here?
Not saying it's ideal, but I doubt the replay implementation (storage size vs. ability to replay legacy patch versions) is going to change anytime soon.
The ability to watch legacy patch replays does not affect replay storage size. A replay file is simply a stream of inputs, so when you watch a replay then the game literally replays the game from the history. Technically you should be able to watch replays from previous versions if it's a hotfix with no balance changes. But for example if a patch nerfs the HP of a unit, then maybe the replay file will try to issue commands to a unit that died minutes ago. Starcraft 2 gets around this by essentially having files that undo patch changes.
The ability to watch legacy patch replays does not affect replay storage size. A replay file is simply a stream of inputs, so when you watch a replay then the game literally replays the game from the history. Technically you should be able to watch replays from previous versions if it's a hotfix with no balance changes. But for example if a patch nerfs the HP of a unit, then maybe the replay file will try to issue commands to a unit that died minutes ago. Starcraft 2 gets around this by essentially having files that undo patch changes.
Starcraft 2 isn't using the same engine DoW II, or DoW III is.
The reasoning Relic gave, a long time ago, was that to maintain version parity a huge amount of redundant game data would have to be stored <somewhere>, and at the time that place would've been the replay file itself.
Starcraft 2 might have a different solution, I don't know.
'Fixed an issue where editing the graphics settings would not successfully apply changes.'
Something as small as this causes old replays to not work.
They'll still work provided you hex edit the replay so it has to right version number.
This has always been the case with Relic games. The replay browser only shows replays that have the same game version number, so anytime that changes replays will disappear. However they're usually watchable if you hexedit this to the correct value and will only desync and stuff if there's major changes.
imo Relic should add a button that toggles this behaviour so you can choose to display all replays regardless of version, but alas this has always been a low priority for them.
Starcraft 2 isn't using the same engine DoW II, or DoW III is.
The reasoning Relic gave, a long time ago, was that to maintain version parity a huge amount of redundant game data would have to be stored <somewhere>, and at the time that place would've been the replay file itself.
Starcraft 2 might have a different solution, I don't know.
I highly doubt an engineer provided that reasoning, because it's absurdly bad. The most obvious 'solution' is to store a diff file of the game object parameters between subsequent versions of the game, and tracing the version history at replay load-time to restore the correct version parameters. Starcraft 2 actually uses this exact technique (but with serious optimization, when WoL first launched their replay system was fairly inefficient but it's quite good now). None of this needs to be stored in the replay file, it would be kept in the game files. In the worst case you would have one diff file for each patch, but there are even ways to compress this. This is definitely not a 'huge amount of redundant game data.'
By the way, literally the entire strategy game industry uses the same model of storing replays. It's always a sequence of player inputs. It doesn't matter what engine the game is developed in, this is actually an information-theoretic optimal method of storing replays with the a priori assumption that anyone who is watching the replay has the game installed on their computer. The only differences involves file formatting and compression.
I highly doubt Relic seriously thought the only way to enable legacy version replays is to store game data in the replay file itself. Again, it's well known that you can watch replays from previous versions if the patch did not have any balance changes, at least this was the case in CoH1, DoW2, and CoH2.
I highly doubt an engineer provided that reasoning, because it's absurdly bad. The most obvious 'solution' is to store a diff file of the game object parameters between subsequent versions of the game, and tracing the version history at replay load-time to restore the correct version parameters. Starcraft 2 actually uses this exact technique (but with serious optimization, when WoL first launched their replay system was fairly inefficient but it's quite good now). None of this needs to be stored in the replay file, it would be kept in the game files. In the worst case you would have one diff file for each patch, but there are even ways to compress this. This is definitely not a 'huge amount of redundant game data.'
By the way, literally the entire strategy game industry uses the same model of storing replays. It's always a sequence of player inputs. It doesn't matter what engine the game is developed in, this is actually an information-theoretic optimal method of storing replays with the a priori assumption that anyone who is watching the replay has the game installed on their computer. The only differences involves file formatting and compression.
I highly doubt Relic seriously thought the only way to enable legacy version replays is to store game data in the replay file itself. Again, it's well known that you can watch replays from previous versions if the patch did not have any balance changes, at least this was the case in CoH1, DoW2, and CoH2.
I think the problem is with the way Relic stores patch data in one large ass .sga file, everytime they patch the game it would require a duplicate of this file. So rather than bloat everybodies game files with a duplicate file, it would make some sense to bake it into replays so that only people who chose to download replays would have the extra space consumed.
I would think Relic would be able to patch the game in a more efficient manner by now but I guess it's more complicated than that.
But - when will we get replay support? I wanna pride post again!
- OFC, this means people will pride post vs me, but that's the fun of it I guess.
Posts: 1,925
Game: