• vrighter
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    that only really works with deterministic systems though. You could do that with a 6502 or simple systems because you could perfectly predict what the state of the system would be in just by replaying inputs. everything up to predicting all cache misses.

    consider a badly written game on a modern console (remember that save states should work for any game) in which physics is tied to framerate. Follow the chain… framerate depends on system speed… which, indirectly depends on the ambient temperature (a console running in a hot climate would throttle earlier than one running in an air conditioned cool room). And because modern systems execute more than one process, it also depends on what else is running (were you downloading a game in the background, slowing down the game ever so slightly?) or unpredictable things such as interrupts on certain system timers. And the list goes on and on. Even if the game didn’t have physics depending on framerate, differing deltaTime on each frame means different floating point rounding errors happen, which could accumulate over time.

    So in this case, replaying inputs does not get you the exact state. you were in. there are just too many variables.