Reverse Time like Prince of persia

Hi!
always that was a question to me that…
is there any way to making a game like prince of persia that is equipped to Reverse time on game play…
so the user is able to move back on time to get a suitable moment to continue the game…
sorry but I think this is one of the most difficult problems in our field!
also I have designed a simple way on my mind…
like…
capturing the game display on short time slices and pushing all these short parts to an array like a stack or queue +reverse playing the last pushed parts (at the reverse moment) and popping the last pushed parts after finishing the reverse play +popping the first first captured movie when the stack is full(on normal time stream and on pushing new captures)…
and after finishing each time, having another array that can save the game states ,they can be loaded and simulates the game on their states…
so this mechanism is like undo/redo algorithm on applications by having some other tricks…because the game has so many factors to save and we need to reduce amount of checkpoints by using some reverse captures and so on so forth…
so the player can release the reverse time Button and we can load the nearest checkpoint after finishing current slice of current reversed movie…
this is a display of my algorithm… suppose that = sign is a short captured slice of my game display and . is a check point (like auto save) on it’s moment.
so I have 2 arrays, one for captured slices and one for checkpoints…
so the final result will be like this:
=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.
also there can be another way like converting all particles and … to animation frames and reversing all states by our algorithms…
but I want to know, if UE4 has some easy ways to making a live reverse time on gameplay like pop???!!!
here is a simple example in UE4 on youtub:UE4 Reverse Time - Effected Actors - YouTube I have found a new tutorial that is active on just physic on game:Reversing Time Tutorial (Intermediate) -Unreal Engine 4 - YouTube what if I want to apply that on particles or all other actions of my game?
thanks a lot…