• @Ilflish@lemm.ee
    link
    fedilink
    English
    28 months ago

    I was under the assumption the collections that utilize this system do it by just saving the inputs and timestamps and simulate them as such rather than understanding the entire whole state. I’m not sure how it works with non-seeded elements

    I do agree with you about the dev focus. It would be way more complex even though if feasible if you can simulate without it graphically but you I can’t imagine it just being a system similar to recording or achievements

    • @vrighter@discuss.tchncs.de
      link
      fedilink
      English
      28 months 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.