As all enemies and levels will be remade/redesigned for 0.8.0, and there will most likely be a series of updates (at least one per region), so it's going to be a bit annoying if every updates completely breaks all replays. There's no technical reason to invalidate replays that don't depend on anything that's changed.
Maybe we should just add an 8 bit revision field for each player weapon, enemy, game core feature, map, etc, and automate the process of versioning and checking the replays per level? While playing a level, just log/mark all objects that are actually used, and then record their versions in the replay. That way, there's no need to manually check what's used where after updating stuff. Just bump the revision field of a object when modifying it.
As all enemies and levels will be remade/redesigned for 0.8.0, and there will most likely be a series of updates (at least one per region), so it's going to be a bit annoying if every updates completely breaks all replays. There's no technical reason to invalidate replays that don't depend on anything that's changed.
Maybe we should just add an 8 bit revision field for each player weapon, enemy, game core feature, map, etc, and automate the process of versioning and checking the replays per level? While playing a level, just log/mark all objects that are actually used, and then record their versions in the replay. That way, there's no need to manually check what's used where after updating stuff. Just bump the revision field of a object when modifying it.