How do you design a record/replay system for a frequently changing game?
I understand that in order for a game to have a replay system it must:
- Have a deterministic engine
- Record initial state
- Record player inputs
The problem is, what if the game is being patched every few weeks, and these patches change significant parts of the game that can not really be abstracted into an attribute/state? Like, what if something (minor) is completely redesigned? Then you can no longer just play back older player inputs which took place when there were different mechanics on the current engine because it will lead to entirely different results.
Example: Let's say there is a bug in StarCraft that makes marines not take any damage if the damage they receive is greater than their maximum health. Later this is patched, but any replay from the time of the bug would be junk on the patched system. People would be trying to move marines that are dead in the eyes of the game, etc.
Is this reasonably solvable, given there will always be frequency patches that will make structural gameplay changes/fixes?