My game outputs a replay file for each individual game and allows the player to watch past games.
Just a quick example of what our replay files look like:
m 6 2098.25 917.125 -1 0 224 56ööööö843949615
m 2 1715.25 1835.25 1 0 224 44ööööö843949621
m 11 1661.125 1890.875 1 0 224 56ööööö843949627
m 5 1818.125 929.0 0 1 224 56ööööö843949633
death 9 3 4 5ööööö843949663
hit 9 3 4 48 26 2114 1987 2.8266926 1865 1891ööööö843949663
Some info on the identifiers:
Movement: // m (player id) (x coord) (y coord) (x-movement) (y-movement) (remaining health) (shot energy remaining) (timestamp)
Death: // death (dead player id) (killer player id)
Hit: // hit (hit player id) (hitter player id) (weapon (1-4)) (damage dealt) (life remaining ) (x coord) (y coord) (angle of hit) (total damage dealt) (total damage taken)
There are a lot more than what I listed, but you get the idea.
What's in the replay files are essentially the same as what is sent to the server during a live game.
Right now, if we want to take a video of the game, we just go into our replay system and record it with Fraps, but I'd like to convert our replays into some kind of video format.
I know this may be a bit far-fetched, but I thought I'd give it a shot here.
The game is written in Java and is sprite based.