Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
April 28, 2017
arrowPress Releases

If you enjoy reading this site, you might also want to check out these UBM Tech sites:

Designing around time is hard!
by Patrick Purcell on 03/07/13 12:36:00 pm

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


I now have my rewind functionality working properly, but I have no idea how to use it in an interesting way.  The assignment specifies that Braid's rewind is to be implemented, but what I am working on has two players (split screen) moving about a 3D environment in first person.  Each player is able to freely move backward in time, forward in time at the "real" rate, or forward in time at twice the "real" rate.  As of right now there is a 12 minute window to play with.

Every frame I store each player's position, yaw, and pitch.  When players are not on the same timeline as each-other, they see a phantom of the other player doing what that player's input dictates, and they see the "real" player going about their recorded actions...

I have not yet decided what to do with the player that is ahead in the timeline, I might take the most recent velocity of the other player and slow it down to give the forward playeer the sense that they are moving very fast through time.

Here is a screen shot of Red being ahead of Blue in time...Blue sees Red doing what he was doing when he was at Blue's time, and Blue sees Red's phantom obeying player input.  Note that Red cannot see any version of himself besides his own timeline.

 photo FPStudioScreen_01.png

 My first instinct is to give the players guns and let them try to duke it out using time travel...not terribly inventive as far as design is concerned, but I am more focused on the functionality of this for the time being.

I am going to decrease the buffer from 12 minutes to something more reasonable like 45 seconds and give it a "battery" of sorts to limit player's use of it.  A smaller buffer will also give me more memory to play with as far as storing player state.  I also plan on giving some sort of graphical indication of a phantom's "position" in time.

One challenge that I am not sure how I will tackle is the issue of a player killing another on a "pre-timeline" then having everything the dead player will do in the "post-timeline" get nullified.

This is fun... 

Related Jobs

Sony PlayStation
Sony PlayStation — San Mateo, California, United States

Corporate Counsel/Senior Corporate Counsel
WRKSHP — San Francisco, California, United States

Jr. Art Director
Playful Corp
Playful Corp — McKinney, Texas, United States

Sr Designer
Charles River Analytics
Charles River Analytics — Cambridge, Massachusetts, United States

Software Engineer

Loading Comments

loader image