Тёмный

The Implementation of Rewind in Braid 

GDC
Подписаться 524 тыс.
Просмотров 130 тыс.
50% 1

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
/ official_gdc
Check out our Facebook page for GDC exclusives
/ gamedevelopersconference
Visit our site: ubm.io/2ctNvqZ

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 139   
@Elavid
@Elavid 6 лет назад
Now I can understand why Jonathan started writing his own presentation program in 2017!
@tech6hutch
@tech6hutch 3 года назад
He did? What is it?
@Elavid
@Elavid 3 года назад
@@tech6hutch I don't know if he published it, but he made a simple program that just displays text on the screen and lets you flip through it, and he said "Now it's better than powerpoint!"
@tech6hutch
@tech6hutch 3 года назад
@@Elavid oh lmao
@omerfarukbykl6097
@omerfarukbykl6097 3 года назад
@@Elavid what do you mean by flipping through it? i don't understand the difference
3 года назад
Yea, but Office 2007 in the release year, it was the most aesthetic GUI I've ever used. No other software made similarly strong positive feelings in me.
@jeangodecoster
@jeangodecoster 5 лет назад
For the past week I had been trying to implement this rewind mechanic, with the constraint that I wouldn't look up how he did it, to see how far I would get. The first idea I had immediately discarded was to record state frame by frame. I was trying to go for an interpolation system coupled with serialisable commands. The headache was real and so today I decided to see how he did it, and my mind was blown.
@joepeters8746
@joepeters8746 3 года назад
Like duh. Why would you discard frames by frame saving? The only thing that seems difficult to me is to rewind audio (maybe just play a reversed sound and cut it by your needs)
@jeangodecoster
@jeangodecoster 3 года назад
@@joepeters8746 frame by frame saving is easy if you don’t worry about memory management. And that’s exactly what makes it complicated.
@commenturthegreat2915
@commenturthegreat2915 3 года назад
@@joepeters8746 Frame by frame saving would take an insane amount of memory without forward planning and serious optimizations. This is essentially the equivalent of brute-forcing the rewind problem. The fact that he managed to do so for an infinite rewind system without crashing everyone's computers is really impressive (I'd certainly consider it difficult). Rewinding audio is much easier as you could record, compress, and play back the game's sound using pre-built systems. Also, lets not forget that in this case it was a simple platformer with few moving elements - if you wanted to do this for a more complex game with a lot of information, this approach would probably not work for you.
@aarrcchhoonntt
@aarrcchhoonntt 3 года назад
@@jeangodecoster if you browse prebuilt gaming PCs, 32gb is not uncommon. Anything below 16 and you have to start explaining you don't mean VRAM. 40mb is extremely frugal. With entry level nvme latency < 100us, you could probably ignore ram and stream gigabytes to disk.
@franciscofarias6385
@franciscofarias6385 3 года назад
Saving the whole world's state frame by frame at face value seems like the naive (ie. stupid) solution. I think every programmer would try to solve it a different way at first. Also it's not because it was the best solution for Braid that it is the best solution for you. Jon had to do some serious compression trickery to be able to use it.
@KeimpedeJong
@KeimpedeJong 7 лет назад
such a shame for the cut-off, it was a good talk
@LeviDSmith
@LeviDSmith 7 лет назад
It's a real shame that they cut him off. I could have listened to him talk about this for hours.
@johnjackson9767
@johnjackson9767 4 года назад
There needs to be a change, honestly. A Game Engineering Conference would help with this current schism in priorities between technical talks and design/art/motivational talks.
@ossf4670
@ossf4670 7 лет назад
THAT needed to be a 1 hour talk. Not enough time~
@StevenOBrien
@StevenOBrien 7 лет назад
If only we could rewind!
@Bergerons_Review
@Bergerons_Review 7 лет назад
trolololol
@ffccardoso
@ffccardoso 5 лет назад
he needed the ring!
@MrCheeze
@MrCheeze 2 года назад
Watching a video in 2022, of a talk uploaded in 2016, of a recording made in 2010, at a point when windows Vista had already been released, but it was still acceptable to be running Windows XP as a "current" operating system. But still feels totally modern.
@timonpasslick
@timonpasslick 5 лет назад
It's impressive how simple such a seemingly complex system can be. Now I want to play Braid myself.
@TheFlyingJester
@TheFlyingJester 7 лет назад
"You've got to have this if you're gonna save the world...file."
@PabloGnesutta
@PabloGnesutta 5 лет назад
I really can't believe you cut him. To me it's almost like an insult to the gaming and Dev community and to Jonathan that is an inspiration for many.
@fisheatsyourhead
@fisheatsyourhead 3 года назад
come on pablo they've, got a convention to run and a lot more people would be messed up by them allowing people to go over their designated times, it's his fault for not timing his presentation properly.
@GuilhermeNeubaner
@GuilhermeNeubaner 3 года назад
@@fisheatsyourhead the thing is they should have schedule more time for him. Most GDC talks last at least one hour and they gave the man 30 minutes to explain a system with a lot of technicality. But you know, it was 2010, fuck indie devs right?
@Michael_800
@Michael_800 3 года назад
@@GuilhermeNeubaner "When I submitted this talk I was like 'Oh sure it's pretty simple. I'll be able to talk about everything in 25 minutes.'... Doesn't seem to be how it is." - Jonathan Blow 0:13
@GuilhermeNeubaner
@GuilhermeNeubaner 2 года назад
@@Michael_800 *sarcasm*
@stumbling
@stumbling 3 года назад
Me at the start of the talk: Wow! That's the biggest screen I've ever seen. Then instantly realising I'm dumb.
@cintron3d
@cintron3d 7 лет назад
He should have been given an hour.
@DejaimeNeto
@DejaimeNeto 7 лет назад
Probably cut off so someone could give an uninteresting entry-level motivational talk
@error.418
@error.418 7 лет назад
no, cut off because they day has a bunch of parallel tracks with simultaneous interesting talks going on, so they have to keep things on schedule.
@jblow888
@jblow888 7 лет назад
Actually it was right before lunch, and I was specifically given that slot in order to be able to go over time, but the CAs (conference associates) were being total jerks. I also wasn't given time beforehand to make sure my laptop was set up and working with the display. You can't see it in this video, but one reason I keep hitting escape and going into PowerPoint edit mode is because people can't see the whole slides, because they were being displayed at 16:9 aspect ratio on a 4:3 screen and there wasn't time to detect this issue and fix it. (I guess whatever recording they made of the feed has the whole slides). It was a pretty terrible experience, and as a result I do not give speeches at the GDC any more!
@error.418
@error.418 7 лет назад
+Jonathan Blow I appreciate you responding. I was understanding of them if you were on any other time slot, but being given the one right before lunch so that people actually could choose to stay with you overtime... I'm sorry you had to deal with that. Not to mention all the technical issues you were already dealing with...
@ArseniyShved
@ArseniyShved 7 лет назад
Hi. It's a shame the talk could not be finished - it is always a pleasure to listen to your takls and interviews. Even tech-heavy ones, despite I'm not a programmer.
@octoking9611
@octoking9611 7 лет назад
That was super interesting to understrand your thought process in this very technical feat. I'm a begginer at programming and game making and even though I didn't understand every technical detail, I feel like you've helped me understand a thought process path I should take. Even though your experience with GDC left you bitter, I hope you do come back because we the audience, are all interested in what you have to say. I feel really bummed we couldn't go through the last 6 slides or your presentation. Thanks for your talk!
@jan050375
@jan050375 7 лет назад
why the hell would you cut him off?
3 года назад
One did simply cut Jonathan off. Unreal.
@error.418
@error.418 3 месяца назад
Because other talks are scheduled for that room. They should have put him in a 1 hour block instead of this 25 minute block. But he also said in the talk at the beginning that he told them a 25 minute slot was fine. So in the end this is on him, sadly.
@benjaminramsey4695
@benjaminramsey4695 5 лет назад
This guy is quite impressive, to say the least. Wow.
@mnkeymasta
@mnkeymasta 7 лет назад
Thanks for the reupload!!
@avalean
@avalean 7 лет назад
Thank you for fixing the sync issues!
@fburton8
@fburton8 7 лет назад
Yeah, it was a worthwhile rewind. :)
@DanielGilchristYT
@DanielGilchristYT 7 лет назад
I see what you did there.
@nomadcrossfire
@nomadcrossfire 7 лет назад
ty for the reupload
@DarkMatter11
@DarkMatter11 3 года назад
25:33 Windows clock changes from 11:33am to 11:32am.
@mitu_pinju
@mitu_pinju 2 года назад
rewind effect
@kianchristoffern
@kianchristoffern 4 года назад
Actually happy to see the comment section being mainly people complaing mr. Blow was cut off, because that was disgraceful. Jonathan probably doesn't care anymore: But we're here for you buddy :D
@lrutubeusername
@lrutubeusername 7 лет назад
Aw man I wanted to hear the rest of it, very interesting.
@Visuwyg
@Visuwyg 7 лет назад
Jonathan Blow talks about how to save the world.
@LucyPero
@LucyPero 5 лет назад
file
@metalim
@metalim 7 лет назад
WTF is going on with slides? Are they recorded in different time by someone who can't stay away from keyboard for longer than 30 seconds? Thumb up for the talk, but thumb down for the slides being randomly changed.
@markotikvic
@markotikvic 6 лет назад
Sound and picture are out of sync.
@Novous
@Novous 7 лет назад
DEAR GOD. WINDOWS XP in Fischer Price mode. 0:33
@dscheme4427
@dscheme4427 5 лет назад
I'd like to see a more indepth talk about this with a few code samples thrown in
@youtoober2013
@youtoober2013 4 года назад
When this talk started I thought the screen was on stage... wow.
@timothyvandyke9511
@timothyvandyke9511 Месяц назад
Wish the talk was longer
@SowedCastelli
@SowedCastelli 4 года назад
Does someone know a place where Jonathan explains this? I've always wondered how it was pulled off.
@elaynet382
@elaynet382 3 года назад
Is the fact that this video about time reversal, dilation and compression is out of sync intentional?
@lebanbo55
@lebanbo55 7 лет назад
A couple years ago , I saw Jonathan Blow released his source code of the compression part. But I can't find that anywhere. Any ideas ? Thanks in advance.
@MikeCampo
@MikeCampo 7 лет назад
This? number-none.com/product/Arithmetic%20Coding,%20Part%202/index.html
@KejdzMaster
@KejdzMaster 6 лет назад
Michael Campagnaro thanks :)
@Gragain
@Gragain 7 лет назад
"run on consoles" "wanted to sell copies" shots fired at pirates
@SowedCastelli
@SowedCastelli 4 года назад
Mheeeen, the talk was just starting!!!
@loekTheDreamer
@loekTheDreamer 7 лет назад
thanks so much for sharing. its a bit over my head though. dont know how you come up with this stuff, very very awesome.
@csebastian3
@csebastian3 5 лет назад
That was a really good talk. ...But the cut-off at the end was such a shame. He was talking about really interesting stuff!
@vozoca
@vozoca 4 года назад
Thumbnail says “implementating”
@Gimp.The_Imp_Pimp
@Gimp.The_Imp_Pimp 3 года назад
What do you mean? That's a perfectly cromulent word. It embiggens the title and you can't misunderstimate it.
@Haapavuo
@Haapavuo 6 лет назад
Sooo you decided to cut off every indie devs idol? Why not just extend the schedule for about 10 minutes for him? He deserves it.
@joepeters8746
@joepeters8746 3 года назад
why not doing it online in first place?
@aajas
@aajas 5 месяцев назад
GDC should have just rewound time so Jonathan could get to the other half of presentation
@LouisHong97
@LouisHong97 6 лет назад
Sounds like 1980 sound quality. Why. The tickets are 1k each.
@edwardnewtonLA
@edwardnewtonLA 5 лет назад
All the money got spent building the time machine to go back to 1980 and get the microphones.
@Lukas-er4nd
@Lukas-er4nd 5 лет назад
Because it's not you paying :D
@Gnurklesquimp
@Gnurklesquimp 4 года назад
I watch a lot of music/audio and game talks, there is a noticeable difference in priorities.
@guyewhite
@guyewhite 3 года назад
How does no one have questions for Jonathan Blow?
@jaymalby
@jaymalby 7 лет назад
All I can think about while watching this are persistent data structures...
@davogotland
@davogotland 3 года назад
gets me thinking of that one time when the grammy awards cut off frank sinatra back in 1994.
@esotericVideos
@esotericVideos 6 лет назад
WTF?!? They asked him to talk, he was giving a good speech they kept fucking up his slide and then they cut him off. WTF
@GBart
@GBart Год назад
What I want to know is how do you eat if you're spending all your time creating a game and starting a company? How do you buy food during that whole process with no income?
@MEGA_TREE
@MEGA_TREE 2 года назад
I love it
@unvergebeneid
@unvergebeneid 7 лет назад
What good are the diffs if you don't do entropy coding? Especially since floating point numbers were implied. With ints I'd assume you'd use a smaller integer type for the diffs but that would've been worth me mentioning.
@Zguy1337
@Zguy1337 7 лет назад
If I understood correctly, what he meant by a diff was not that he did delta encoding (as he explicitly said he didn't). He seems to just skip entities/properties that has not changed between a frame and its base frame. But for things that has changed, he stores the full new value.
@unvergebeneid
@unvergebeneid 7 лет назад
Ok, I can see how that would work with key-value pairs or with some form of diff format that encodes the position of the changes in a serialized binary blob but ... yeah, like I said, it would've been worth saying like three more sentences here to make it explicit what went on IMHO.
@Zguy1337
@Zguy1337 7 лет назад
Penny Lane Yeah, I agree. He probably glossed over it for a lack of time. As someone else said, this needed to be a 1 hour talk at least.
@unvergebeneid
@unvergebeneid 7 лет назад
Yes, totally agree!
@immanuelkouldnt7601
@immanuelkouldnt7601 2 года назад
Not sure if I up vote because of jon, or down vote because of gross GDC cut/interruption.
@wubologist
@wubologist 7 лет назад
Implementating ...
@sidshekar
@sidshekar 7 лет назад
The video is still out of sync......
@DreanPetruza
@DreanPetruza 4 месяца назад
I think it's Implementationationing
@MyriadColorsCM
@MyriadColorsCM 6 месяцев назад
I remember when the GDC was a place to discuss game dev instead of tutorials on how to properly humiliate yourself for the cancel pigs after being cancelled. The GDC is dead.
@anispinner
@anispinner 11 месяцев назад
That said Windows XP had its charm
@jack-d2e6i
@jack-d2e6i 5 лет назад
That cutoff was embarrassing. Screw your schedule, let him finish his talk.
@guyewhite
@guyewhite 5 лет назад
Horrible to be cut off like that.
@m4rt_
@m4rt_ Год назад
Oooo that's Windows XP
@sanbox-irl
@sanbox-irl 4 года назад
Drives me mad that people here think he was cut off. look at the damn time, we was 5 minutes over. It was 11:35 when they cut him off. That's it -- that's the end! They might have had other talks in that room, and even if they didn't, you don't get to be special Jo Blow, you get your time like everyone else!
@a445fa6sd
@a445fa6sd 2 года назад
Apparently he was told he could spill into the lunch break I think.
@Merthalophor
@Merthalophor 7 лет назад
god why windows xp
@kristupasantanavicius9093
@kristupasantanavicius9093 7 лет назад
Because its the biggest PC platform for games.
@Merthalophor
@Merthalophor 7 лет назад
***** Nope, win 7 & 10 dominate the field with 70% market share, then comes win xp and 8 (then Linux, then OSX). Win XP is not supported anymore, you should under no cicumstances stay with it, unless you want to be extremely vounorable to viruses etc. also I think most XP users are either old grannies or companies who were unable to make the switch yet - both of them are not exactly the target audience of video games
@kristupasantanavicius9093
@kristupasantanavicius9093 7 лет назад
Merthalophor Oops, I didn't see XP at the end. I thought you are one of the hipsters who only use Linux for everything.
@Merthalophor
@Merthalophor 7 лет назад
***** well, to be honest, I _am_ one of these guys, but I understand people who use windows.
@sasuke2910
@sasuke2910 7 лет назад
You realize this talk was given in 2010 right?
@shariarpapaon5305
@shariarpapaon5305 Месяц назад
thumbnail: "implementating", cmon guys u can do better
@lilsol2724
@lilsol2724 7 лет назад
bada$$
@odin3659
@odin3659 7 лет назад
can program complex logical systems, but powerpoint is too complex for the human race
@davidson2727what
@davidson2727what 7 лет назад
Kelda Hanson the capability to write programs does not imply the capability to use other programs.
@error.418
@error.418 6 лет назад
To quote Joanathan Blow himself: "You can't see it in this video, but one reason I keep hitting escape and going into PowerPoint edit mode is because people can't see the whole slides, because they were being displayed at 16:9 aspect ratio on a 4:3 screen and there wasn't time to detect this issue and fix it. (I guess whatever recording they made of the feed has the whole slides)." This is in a long list of issues with how the GDC handled his talk. It was a pretty terrible experience for him.
@moonoovie
@moonoovie 7 лет назад
Should apply rewind to writing the title card, because "implementating" isn't a word.
@joonatansaarhelo6138
@joonatansaarhelo6138 6 лет назад
Instead of allocating heaps, he could have used a ring buffer.
@PabloGnesutta
@PabloGnesutta 5 лет назад
Do it yourself and prove him wrong. Oh, true, taking is easy and free, working is not
@skejeton
@skejeton 2 года назад
didn't he just talk about that
@joepeters8746
@joepeters8746 3 года назад
Why would you want to make a single player game that strictly tries to prohibit explotations? When you want to cheat that is not the programmers concern. He set some weird goals.
@darrorpsk6148
@darrorpsk6148 3 года назад
you're conflating cheating and bugs/exploits. one is absolutely the programmer's concern, while the other, although related, may not be.
@itsnotbloodborne1237
@itsnotbloodborne1237 6 лет назад
Umm can anyone translate this
@wessmall7957
@wessmall7957 4 года назад
Games hard
@epsteindidntkillhimself69
@epsteindidntkillhimself69 7 лет назад
Implementating is not a word. Please change thumbnail. That is all.
@AlanRedgown
@AlanRedgown 7 лет назад
What's wrong with conversating about implementating? :P
@alex_evstyugov
@alex_evstyugov 6 лет назад
Yeah I don't know why he's complainting. And they haven't changed it in two years, so I guess he'll just have to acceptate it.
@a_d_z_y__
@a_d_z_y__ 4 года назад
It was 10 years ago and I'm still upset about how he was cutted off.
@avion85
@avion85 5 месяцев назад
Just absolutely beautiful!
Далее
Help Me Celebrate! 😍🙏
00:35
Просмотров 13 млн
30 Things I Hate About Your Game Pitch
37:37
Просмотров 1,5 млн
How to Make and Self-Publish a Game in 12 Months
29:58
Просмотров 740 тыс.
You Don't Need a F-ing Publisher
33:32
Просмотров 486 тыс.
A Course About Game Balance
34:24
Просмотров 332 тыс.
Math for Game Programmers: Building a Better Jump
25:43
Jonathan Blow on how an operating system should work
14:22
Tech Toolbox for Game Programmers
48:14
Просмотров 251 тыс.