Skip to main content

Time Shift

If you have been following the list of games that are coming up this holiday season.. you would have come across the game called TimeShift. The game boasts of the player being able to control the time. Well we have all seen slow motion effects in games like max payne , matrix, Fear etc.
The Prince of Persia had the rewind thing which was pretty good. This same feature is now available in TimeShift and you can even do that in multi player. Sounds cool right? any way i was wondering how we can actually implement such a feature in the game?

How do you actually rewind the events that already happened ... well it wont' happen ever in real life.. but how do we provide such an implementation in a game engine? The first solution which came to my mind was..:
1) Store the motion details of each object and just trace back the positions?
2) Inverse kinematics ? (Could be too complicated...? approximations might cause problem?)
What do you guys out there think is a good solution to this problem?

Comments

mythalez said…
storing the past is more reliable I guess ... this may work well .. if ther is limit to the how much u can rewind ...
but if the time-length is too much to store then maybe it becomes intractable?
Unknown said…
@mythalez is true,

i believe this is something like the brutforce motion blur implementation in which u store 6 previous frames and keep discarding the oldest one when a new comes in.

here you can do the same, by keeping & discarding the object coordinates in a buffer.

though i really think reverse kinetics is a more elegant solution to this, it can become cpu hungry.
IndianTiger said…
since there will be a limit to the amount of time to be back-tracked, lets say for every interval of time they store a copy and when u try to backtrack - just load the particular saved copy (really quickly) ... maybe thats how its done.
^_^

*** Noob talk