Is it possible to send a player back a chosen number of seconds in the game? My thought is to have a power up that when collided with, will instantly send the player back to where they were maybe 5 or 10 seconds in the game.
If possible, how would I do that? Would it keep any physics movement from that moment in time as well? That is what I would prefer if possible.
You’ll have to do what games like Braid and Hourglass do, though. This means you’ll need to record the x/y positions/actions of the player and play them back in reverse.
I haven’t played either of those games, but looked up Braid on Youtube just now. It seems pretty similar, yes.
I started watching the video you linked to. I’ll follow along and give it a go. But this looks very complicated for my low level of experience. So it may take a few tries to get it right.
The video is an explanation of how the extension works. Don’t worry too much about that, just understand there’s an extension for what you want to achieve. Download that extension and use it instead of writing your own set of code/events.
Hehe, no, we’ not that nasty. At the start of the video @Joshua shows how to use the 3 commands he’s created - animate, record and replay (the latter is the rewind/reverse play action). Those are the bits you need.
I was going to give it a try. Eventually it would be nice to know how to do that, but with my typo issues, it is likely to spell dizaster (misspelled on purpose… this time.).
After watching the video, I still don’t understand how to implement the extension. I understand how to use extensions, but not how to turn source code into one.
Wow! Thanks for doing that for me. I downloaded the file, so feel free to delete it from your Gdrive if you need to.
I installed it as an extension, but it doesn’t show up when I try to add it as a behavior to the player’s sprite. When I tried to add it as an action, I got an error message saying I needed to add it as a behavior. So I seem to be stuck.
I’ve just had a quick go with the source project, and it’s throwing an error (it doesn’t like the push function). I’ll investigate a little later today and see if I can sort it out.
Animate still gives the same error message, and I still can’t add the behavior to the main character.
Record and Replay can be added as actions though. Do I not need Animate?
How do I tell it how far to go backwards for the rewind? Can I just have it start recording at the beginning of the scene but access the rewind when triggered?
Right now I am triggering it with the space bar like you did, just to test it out. It seems like it can only be triggered once per round, and only sends the character back to the very beginning. I assume that is because that is when it gets recorded.
Animate is for platform character behaviour. I haven’t checked if that works. I just focused on teh record and rewind functions.
It records 150 frames before dropping the oldest frame (that is about 2.5 seconds at 60 frames per second. You can extend this by changing the 150 in the recorder function of the extension to a higher value :
It will rewind every time you press space. If you don’t move and the animation is named “Idle”, then it won’t record.
So you can move for a while, press space for a second, move some more, press space for a seconds etc. And it 'll rewind from the object’s current position.
How would I have it set to auto go back to a specific length of time when triggered? I was hoping it to work like that rather than have the player have to hold down a button until they get back far enough.
I spent hours googling, and reading stuff online, and couldn’t find anything that explained how to do what you are saying. I’m sorry, could you explain how to do it?