I am making a real time strategy game in XNA. I have separated the Client (rendering, input, sound) code from the Sim (game logic).
I want to have features like replaying and fast forwarding. Also, I would like to give the Sim longer time intervals in its Update to finish its work without having to always implement time slicing to prevent frame rate stuttering. I imagine I can do this when the two systems become decoupled and have their own update frequency.
So, how can I run the Client and Sim at two different update intervals? How should I code it?
Currently I am running with FixedTimeStep = false and using ElapsedGameTime in Update() computations. Can I create new GameTime instances to leverage this existing code..?