HackerTubewatch
Surprise me
Frame from The Implementation of Rewind in Braid Plays via YouTube's privacy-enhanced embed

The Implementation of Rewind in Braid

31 videos recommended on HN
YouTube
2 HN users recommended this talk2 months2018–2023 score 2
Years with an HN recommendation, 2007–2026

HN commenters cite it as the reference for how a rewind system works and as a point of comparison for undo and serialization approaches.

Jonathan Blow's GDC talk explains how the time-rewind mechanic in Braid was designed and implemented, including the technical hurdles such as memory limits and state history. It covers both design and engineering concerns.

“Here's a GDC talk about the rewind system in which he explains some of the hurdles he had to deal with” (HN, 2023)

2 recommendations · 4 citations · Talks · intermediate

6 Hacker News comments

From the HN archive; up to 20 kept per video, favoring different commenters. Recommendations first.

@m00n Aug 2018 Recommends
on HN thread 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: [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.
Interview on technicalities of Braid's time effects.

Citations, criticism and jokes

@steeleduncan Oct 2021 Cites it
on HN thread 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] [this video]
Compares Braid's keyframe-and-diff rewind to serialization.
@MillenialMan Oct 2021 Cites it
on HN thread Idiomatic Clojure without sacrificing performance
Read more
I don't really agree. Cache friendliness is almost always a relevant factor as soon as performance becomes an issue. I get what you're saying but as I see it immutability gives you architectural efficiency and in some cases space efficiency, but rarely processing speed. > Think video games like braid Braid doesn't use immutable data structures, it uses a historical record (and immutability would be incompatible with some of the mechanics).[1] The author of Braid is actually quite famous 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] [this video]
Shows Braid uses a historical record, not immutable data.
@hbn Aug 2022 Cites it
on HN thread 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 talk[1] 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] [this video]
Rewind was complex to implement yet simple for players.
@AnIdiotOnTheNet Mar 2023 Cites it
on HN thread “Clean” Code, Horrible Performance – Casey Muratori [video]
Read more
> I don't think that's an earned position. I disagree. > You say he has more credits but only one of those is programming since Braid. He did start a company after that you know. A successful one that makes money and employs people 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: [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 change from release to release. They're not exploring new gameplay problem spaces, they're not doing anything super interesting or surprising on a technical level either and I don't get why you think they are. Of course if you keep using essentially the same engine and know exactly what you're trying to make, making another like a goddamned factory is going to happen quicker than if you're trying to make something unique and meaningful. > If clean code is about maintenance and time to market, the Blow paradigm hasn't proven that its needed or fixes the holes in cl
Shows hurdles like RAM limits in Braid's rewind.

Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.

Keyboard shortcuts

/
Search
j k
Next / previous video
r
Surprise me
l
Like (video page)
w
Watch later (video page)
?
This help
Esc
Close