Visual History

I wish there was a way to view past games visually as they occured on the map. It seems like there should be some way to record each move in a small data format that you could run through a program which would interpret it and play like a video.