TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The unique algorithm behind rewind in Braid

44 pointsby redbar0nabout 1 year ago

4 comments

redbar0nabout 1 year ago
I couldn’t tease out from his tweets if he meant that every object in the game was comprised of particles like some kind of VOXEL game or whatnot. If the whole rewind system was based on particles?<p>«Waaaay back in 2010 I gave a talk at the GDC detailing exactly how rewind was implemented in Braid, including e.g. how does it reproduce all the particles perfectly without using tons of data.«<p>But I was able to find his original blog post, which show the particle system code and crucially shows the animation of what parts of the visuals the particle system (with the random number seeding etc). was actually for:<p><a href="http:&#x2F;&#x2F;number-none.com&#x2F;blow&#x2F;blog&#x2F;programming&#x2F;2016&#x2F;07&#x2F;07&#x2F;braid_particles_1.html" rel="nofollow">http:&#x2F;&#x2F;number-none.com&#x2F;blow&#x2F;blog&#x2F;programming&#x2F;2016&#x2F;07&#x2F;07&#x2F;brai...</a><p>(The particle system - recreate particles from scratch every time, and just go one step less, N-1, when rewinding - reminds me of Redux’ time travel algorithm, as demoed by Dan Abramov.)<p>I also found the original GDC talk Blow referenced, where he details the rewind system more fully, with illustrations. It becomes more clear that the world state is comprised of regular game objects in addition to particles. His overall approach was:<p>«Record full world state for every frame, always. Do not drop frames. Compress data somehow.»<p>(Reminds me of React’s «rerender whole UI, but virtual DOM diff afterwards», approach.)<p>Skip to 3:00 for the various rewind approaches he considered but dropped (including the StarCraft replays like approach of capturing actions and playing them back): <a href="https:&#x2F;&#x2F;www.gdcvault.com&#x2F;play&#x2F;1012210&#x2F;The-Implementation-of-Rewind-in#:~:text=In%20Braid%20the%20player%20can,scene%20at%20each%20given%20time" rel="nofollow">https:&#x2F;&#x2F;www.gdcvault.com&#x2F;play&#x2F;1012210&#x2F;The-Implementation-of-...</a>.
DonHopkinsabout 1 year ago
Game Helpin&#x27; Squad: Time Travel Understander:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=1fABGyVzVwI" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=1fABGyVzVwI</a>
评论 #39776836 未加载
danielscrubsabout 1 year ago
To save you a click: “ However, the particles in Braid don&#x27;t affect gameplay in any way; they&#x27;re just cosmetic. ” so he used deterministic functions.<p>So pretty much exactly what you would expect someone to do.<p>But he got to get his clicks somehow!
评论 #39776570 未加载
评论 #39774563 未加载
评论 #39775508 未加载
评论 #39777558 未加载
bdjsiqoocwkabout 1 year ago
Most important part is: its a great game. Strongly recommended.
评论 #39787676 未加载