Skip to content
0:00 / 0:00

#braid#jonathanblow#rewindmechanic

The Implementation of Rewind in Braid

GDC Festival of Gaming

555K subscribers • 54 videos on Hallway • Conference channel

YouTube
  • Recommended by 3 people: 2 on Hacker News and 1 on Lobsters.
  • A classic. People kept recommending it from 2016 to 2023.
  • Presented by Jonathan Blow, creator of Braid
  • May be out of date. Uploaded 9 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

140K views9 years ago3 recommendations

Game developmentSystems programmingGame programmingUnity, Unreal and GodotPerformance and optimization

Jonathan Blow explains the technical and design challenges of implementing the time-rewind mechanic in Braid, focusing on memory limits and state history.

In this GDC 2010 talk, Braid creator Jonathan Blow breaks down the technical and design challenges behind implementing one of the most iconic time-travel mechanics in video game history. GDC talks cover a range of developmental topics including game design, programming, audio, visual arts, business management, production, online games, and much more. We post a fresh GDC video every weekday. Subscribe to the channel to stay on top of regular updates, and check out GDC Vault for thousands of more in-depth talks from our archives. Follow us on Twitter twitter.com/Official_GDC Check out our Facebook page for GDC exclusives facebook.com/GameDevelopersConference Visit our site: ubm.io/2ctNvqZ

Why it's here

3 people recommend this

What people say. Recommended as a classic talk on game state serialization and the engineering behind Braid's time-travel mechanics.

mikejsavageon Lobsters • Recommends

The Implementation of Rewind in Braid

m00non Hacker News • Recommends

On “Braid 10th anniversary critical compilation”

Seconded. It was a great game, albeit with not so much replay value. There is a great interview with Blow on the technicalities of the warping effects in Braid: link to this video In addition to Limbo and Inside, may I also recommend: Portal 1&2 Antichamber VVVVVV increpare.com In particular Stephen Lavelle (@increpare) makes games with much darker and more interesting social implications. Although, Braid accurately predicted the "nice guys" trope.

OnionBlenderon Hacker News • Recommends

On “Braid, Anniversary Edition trailer [video]”

If you're curious how the time rewind was implemented, Blow did a GDC presentation back in 2010. link to this video

u/dfwtjmsin r/C_Programming • Mentions

On “My brick breaker/breakout is coming along (I hope)”

I did a ring buffer in my game and even used it for making time reversible. But it was a naive approach that saves an array of all the particle states in the buffer at the given moment because the game isn't deterministic. Offtopic but here's an interesting talk about how to improve rewind efficiently: link to this video

steeleduncanon Hacker News • Mentions

On “Serialization-Based Undo”

It is interesting to compare this to Jonathan Blow's talk on the rewind system in Braid 1. This stores complete game states using a compression library to keep memory under control, whereas Braid stored a combination of keyframes, and diffs from those keyframes, to avoid using a compression library. 1 link to this video

MillenialManon Hacker News • Mentions

On “Idiomatic Clojure without sacrificing performance”

…for his dislike of functional languages and immutability. He doesn't even like garbage collection because of the overhead it introduces. Interestingly, he was talking about data structures for codebase representation (in the context of a compiler) a while back, and someone mentioned HAMTs. I'm definitely curious if they would work well there. 1 link to this video…

hbnon Hacker News • Mentions

On “From throwaway side project to Switch in 2 years: my indie gamedev story”

Is difficulty of implementation really a reliable indicator for the complexity in players understanding the mechanic? Jonathan Blow did a talk1 at GDC a few years ago about implementing the time rewind mechanic in his game, Braid. It ended up being a pretty complex system that required a lot of ingenuity to come up with a design and implement it, but the end result is pretty straightforward and easy to understand for players. 1 link to this video

AnIdiotOnTheNeton Hacker News • Mentions

On ““Clean” Code, Horrible Performance – Casey Muratori [video]”

…to make art . I don't imagine that running a business takes no time from his life. > But even at the time Braid could have been written in python SDL wrappers and probably had similar performance Braid did a lot more than you give it credit for. Here's a GDC talk about the rewind system in which he explains some of the hurdles he had to deal with: link to this video Pay particular attention to the discussion of the background particles and how to get that to work within the RAM constraints. > On the other hand, on a software engineering level those paint by numbers Modern Warfare and FIFA games are both more technically impressive and are designed for fast iteration Hardly anything about these games ch…

u/ooqqin r/C_Programming • Mentions

On “How to "record" a players movements for a later time?”

link to this video