One of things I am wanting to do with Texas is allow for replays. This is purely for testing purposes, or rather, for evaluating how people are playing the game. I want to be able to see in beta test where people might be getting stuck, what might be confusing, etc.
To that end I'm putting in a replay capability. The idea is just to record all the keyboard and mouse input as well as frame timings, etc., and then save to a file. When the game is loaded, you can indicate a replay and watch what the player did. I'll have to make sure that the random number seeding happens in sync as well, i.e., it's recorded in the replay or it's determined at game start so that everything makes sense.
I guess the place to start is to ask what needs to be recorded? Right now I'm thinking that initial save game state, frame timings, keybord presses and releases, as well as mouse clicks and releases. When I replay, I will have to populate somehow the mouse position and keyboard state array as well as send the events that are read from the file.
It's a pretty involved feature but I think in the end it will be more than worth it, to watch people play the game and see how it's unfolding for them.