Page 1 of 1

a nice game concept - send yourself back in time

Posted: Thu Jun 04, 2009 1:39 pm
by Assaf Raman
tI had to share with you this great game concept (I found it here), the flash game here is in 2d, but you can implement also the same idea in 3d.
Description: Send yourself back in time in order to complete each level. You can send yourself back in time multiple times in order to complete your task. Be careful though, sometimes changing the past can have different consequences for the present.

Game Controls: Arrows or WASD to move, space bar to lift crates and use your time pod. Each level contains a puzzle that must be solved by interacting with past versions of yourself. The game remembers your movements. When you use the Time Pod to travel back to the beginning of the level, you see a past version of yourself doing exactly what you did before entering the pod. You can create as many copies of yourself as you need to solve the puzzle, but be careful not to change the past too much. If you interfere with a past self's ability to return to the Time Pod, you cause a PARADOX! Chronotron, Free Online Puzzle Games.
The game:

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 04, 2009 4:27 pm
by psquare
Hey, that's pretty cool. Thanks for the link Assaf!

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 04, 2009 7:13 pm
by buckED
Lots of fun.
Thanks for the link.

Re: a nice game concept - send yourself back in time

Posted: Sat Jun 06, 2009 1:27 pm
by huydotnet
cool idea!!!

Re: a nice game concept - send yourself back in time

Posted: Sat Jun 06, 2009 1:42 pm
by nullsquared
Great idea... only problem is that it requires a completely deterministic simulation, which will make it a pain for games with complex physics.

Re: a nice game concept - send yourself back in time

Posted: Sat Jun 06, 2009 4:48 pm
by nikki
I've played this game before. The sound it plays when you get stuck in a 'paradox' got me scared for the first time. :P

Re: a nice game concept - send yourself back in time

Posted: Mon Jun 08, 2009 6:51 am
by stoneCold
nullsquared wrote:Great idea... only problem is that it requires a completely deterministic simulation, which will make it a pain for games with complex physics.
What problem exactly do you mean? I, if I were to do it, would simply "record" the position/orientation of moving objects per frame and "play" them back after the time machine was activated. If a physic body from the past collides with a physic body from the present, it gets "ripped" out of it's playback and is physically simulated again (also it is recorded again on it's new path).

Imo this would be an awesome approach for portal 2 :D

Re: a nice game concept - send yourself back in time

Posted: Wed Jun 10, 2009 8:49 pm
by Assaf Raman
Here is a nice web page reviewing other games with the same concept (time paradox).

Re: a nice game concept - send yourself back in time

Posted: Wed Jun 10, 2009 9:07 pm
by nullsquared
stoneCold wrote:
nullsquared wrote:Great idea... only problem is that it requires a completely deterministic simulation, which will make it a pain for games with complex physics.
What problem exactly do you mean? I, if I were to do it, would simply "record" the position/orientation of moving objects per frame and "play" them back after the time machine was activated. If a physic body from the past collides with a physic body from the present, it gets "ripped" out of it's playback and is physically simulated again (also it is recorded again on it's new path).
No, that won't work. Consider 2 object bounced off each other. However, before this bounce, another object "from the future" caused a different path for one of the 2 objects. The other of the 2 objects will still be playing back recorded motion, and will seem to bounce off of absolutely nothing. Therefore, you need a completely new simulation path, but it needs to be 100% deterministic (which is quite easy in such a 2D platformer).
Imo this would be an awesome approach for portal 2 :D
Speaking of which, portalized will have time-f***ery ;) </shameless_plug>

Re: a nice game concept - send yourself back in time

Posted: Wed Jun 10, 2009 9:13 pm
by Assaf Raman
I wanted to share with you my 2 picks from the page I wrote about in my last post:
1. The Misadventures of P.B. Winterbottom
2. Braid

both are 2D platformer and seems to be a lot of fun if you like this type of game.

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 11, 2009 12:32 am
by stoneCold
nullsquared wrote:No, that won't work. Consider 2 object bounced off each other. However, before this bounce, another object "from the future" caused a different path for one of the 2 objects. The other of the 2 objects will still be playing back recorded motion, and will seem to bounce off of absolutely nothing.
I still fail to see the serious problem? (a problem that makes it impossible to implement it)
You still know the velocity (angular/linear) of the two objects that collide, so if they no longer collide you make both physically simulated again instead of doing playback.
I think you recognise that I'm a real optimist when it comes to such problems. (John Locke from Lost: "Don't tell me what I can't do!") :wink:
Although, if it really is impossible I'd really appreciate a detailed "WHY" :)

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 11, 2009 1:02 am
by nullsquared
stoneCold wrote: You still know the velocity (angular/linear) of the two objects that collide, so if they no longer collide you make both physically simulated again instead of doing playback.
This happens in "the past", so you don't know what collisions will occur in "the future" such that you'd make both objects physically simulated.

Think about it. A and B have a recorded collision. C (from "the future") collides with B, making it a physical object and no longer pre-recorded. A still plays its recorded collision with B, but B is not there because it was knocked out by C.

And this is the simplest case. Your method gets even worse when more than 3 objects are involved.

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 11, 2009 1:07 am
by stoneCold
nullsquared wrote:
stoneCold wrote: You still know the velocity (angular/linear) of the two objects that collide, so if they no longer collide you make both physically simulated again instead of doing playback.
This happens in "the past", so you don't know what collisions will occur in "the future" such that you'd make both objects physically simulated.

Think about it. A and B have a recorded collision. C (from "the future") collides with B, making it a physical object and no longer pre-recorded. A still plays its recorded collision with B, but B is not there because it was knocked out by C.

And this is the simplest case. Your method gets even worse when more than 3 objects are involved.
...Remember, C is not from the future, it's from the present, isn't it? (you can't predict the future)
As soon as C and B collide, A will be simulated physically again from the point on where it would have collided with B (you have to keep track of the collisions between objects).
I agree with you that it's not too easy to implement this well, but it's nonetheless very possible imo.

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 11, 2009 3:08 am
by nullsquared
stoneCold wrote: ...Remember, C is not from the future, it's from the present, isn't it? (you can't predict the future)
It's from the future, which is the current "present" you're playing out.
As soon as C and B collide, A will be simulated physically again from the point on where it would have collided with B (you have to keep track of the collisions between objects).
I agree with you that it's not too easy to implement this well, but it's nonetheless very possible imo.
I was expecting this. Now consider C's recorded track collides with D another 5 seconds later. Now D must also be re-simulated. But what if D also collided with E and F? And what about their collisions? You would need to keep track of all object-object collisions and the exact time periods.

This will not work out. You simply need a deterministic system and rerun the "same" simulation each time, with the added factor of the nth "future".

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 11, 2009 4:47 am
by stoneCold
nullsquared wrote:... And what about their collisions? You would need to keep track of all object-object collisions and the exact time periods.
That's exactly it, it may be complex, but it would work.
I agree with you that this never would be 100% correct in every situation, but faking things is what Cg/game programming is all about. :wink:
You're very right, if it had to be completely exact everytime, you'd definately need deterministic calculations, but for simple things my hacky approach could suffice.

[edit]: btw, I followed your link above... nice progress, you should really consider posting about portalized's progress here from time to time.
You got some really neat things to show, so keep us updated :D

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 11, 2009 11:02 am
by nullsquared
stoneCold wrote:
nullsquared wrote:... And what about their collisions? You would need to keep track of all object-object collisions and the exact time periods.
That's exactly it, it may be complex, but it would work.
I agree with you that this never would be 100% correct in every situation, but faking things is what Cg/game programming is all about. :wink:
You're very right, if it had to be completely exact everytime, you'd definately need deterministic calculations, but for simple things my hacky approach could suffice.
OK, but once you get to more than ~20 physical objects, this will require too much calculations and memory. It's not as effective as simply having a deterministic simulation (which is simple for all of the above 2D games that implement this concept).
[edit]: btw, I followed your link above... nice progress, you should really consider posting about portalized's progress here from time to time.
You got some really neat things to show, so keep us updated :D
Thanks, we plan on getting a release out rather quickly. This is certainly something I'm thinking of implementing for portalized - a time portal where you can step into the past and see yourself doing things and be able to interact with yourself ... just like the game in this thread :mrgreen:

Re: a nice game concept - send yourself back in time

Posted: Thu Jun 11, 2009 2:13 pm
by Pyritie
This reminds me of braid a lot. :D

Re: a nice game concept - send yourself back in time

Posted: Fri Jun 12, 2009 6:04 am
by buckED
Has anyone tried this game in Internet Explorer?
I had some odd behaviour when doing so. Past robots got completey out of sync. For example they would start moving or jumping around way earlier than I actually did in the past. One level (no. 18 if I remember correctly) became absolutely unplayable, because it had platforms which dissappeared after they were touched and thus depended on all robots hitting it a the same time, so none of them would fall through. As these jumps could not be timed properly I could not win the level no matter what I tried.

In Firefox however I have not had any such problems.

Has anyone else experienced this?

Re: a nice game concept - send yourself back in time

Posted: Fri Jun 12, 2009 9:52 am
by _tommo_
Chrome had some problems with colliding things, but nothing unplayable...

anyway it's a really neat game, i got to level 22 :D
It reminds me of Braid, but its puzzles are simpler... and also funnier, i could say.