I recently posted this tutorial on my blog. It's essentially the methodology behind recording instant replays in a game. This technique has been used in Starcraft, and a more advanced implementation was used to manipulate time in Braid.

Any feedback is appreciated! This is a brand new blog and it's still under construction.

That's interesting. I think he might have overcomplicated it with determinism and non-determinism, though. In my experience, you can consider everything deterministic, and get reliable results.

Smile_
—
2011-11-10T20:42:20Z —
#6

Problem with determinism arises when you're using floats in your code and going multiplatform. I think it's nearly impossible to make a third-party physics library to work bitwise exact on different platforms.

So making game deterministic is the most important and the hardest step for replays (and also efficient multiplayer).