The Implementation of Rewind in Braid

Поделиться
HTML-код
  • Опубликовано: 31 дек 2024

Комментарии • 141

  • @Elavid
    @Elavid 7 лет назад +225

    Now I can understand why Jonathan started writing his own presentation program in 2017!

    • @tech6hutch
      @tech6hutch 4 года назад +3

      He did? What is it?

    • @Elavid
      @Elavid 4 года назад +37

      @@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 4 года назад +1

      @@Elavid oh lmao

    • @omerfarukbykl6097
      @omerfarukbykl6097 4 года назад

      @@Elavid what do you mean by flipping through it?
      i don't understand the difference

    •  3 года назад +5

      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.

  • @ossf4670
    @ossf4670 8 лет назад +418

    THAT needed to be a 1 hour talk. Not enough time~

  • @jeangodecoster
    @jeangodecoster 5 лет назад +99

    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 года назад +1

      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 года назад +16

      @@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 года назад +16

      @@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 года назад +8

      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 8 лет назад +208

    such a shame for the cut-off, it was a good talk

  • @LeviDSmith
    @LeviDSmith 7 лет назад +109

    It's a real shame that they cut him off. I could have listened to him talk about this for hours.

  • @MrCheeze
    @MrCheeze 2 года назад +15

    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.

  • @TheFlyingJester
    @TheFlyingJester 7 лет назад +66

    "You've got to have this if you're gonna save the world...file."

  • @johnjackson9767
    @johnjackson9767 4 года назад +46

    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.

  • @timonpasslick
    @timonpasslick 6 лет назад +13

    It's impressive how simple such a seemingly complex system can be. Now I want to play Braid myself.

  • @stumbling
    @stumbling 4 года назад +10

    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 8 лет назад +98

    He should have been given an hour.

  • @benjaminramsey4695
    @benjaminramsey4695 5 лет назад +14

    This guy is quite impressive, to say the least. Wow.

  • @jan050375
    @jan050375 7 лет назад +81

    why the hell would you cut him off?

    •  3 года назад +1

      One did simply cut Jonathan off. Unreal.

    • @error.418
      @error.418 6 месяцев назад

      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.

  • @PabloGnesutta
    @PabloGnesutta 5 лет назад +97

    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 года назад +18

      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 года назад +21

      @@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 года назад +10

      @@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 3 года назад +1

      @@Michael_800 *sarcasm*

  • @mnkeymasta
    @mnkeymasta 8 лет назад +7

    Thanks for the reupload!!

  • @DejaimeNeto
    @DejaimeNeto 8 лет назад +402

    Probably cut off so someone could give an uninteresting entry-level motivational talk

    • @error.418
      @error.418 8 лет назад +24

      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 8 лет назад +444

      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 8 лет назад +32

      +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 8 лет назад +14

      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 8 лет назад +4

      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!

  • @nomadcrossfire
    @nomadcrossfire 8 лет назад +9

    ty for the reupload

  • @a_d_z_y__
    @a_d_z_y__ 4 года назад +13

    It was 10 years ago and I'm still upset about how he was cutted off.

  • @avalean
    @avalean 8 лет назад +25

    Thank you for fixing the sync issues!

  • @lrutubeusername
    @lrutubeusername 7 лет назад +7

    Aw man I wanted to hear the rest of it, very interesting.

  • @DarkMatter11
    @DarkMatter11 3 года назад +9

    25:33 Windows clock changes from 11:33am to 11:32am.

  • @dscheme4427
    @dscheme4427 5 лет назад +8

    I'd like to see a more indepth talk about this with a few code samples thrown in

  • @kianchristoffern
    @kianchristoffern 4 года назад +3

    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

  • @timothyvandyke9511
    @timothyvandyke9511 4 месяца назад

    Wish the talk was longer

  • @lebanbo55
    @lebanbo55 8 лет назад +14

    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 лет назад +10

      This? number-none.com/product/Arithmetic%20Coding,%20Part%202/index.html

    • @KejdzMaster
      @KejdzMaster 6 лет назад +1

      Michael Campagnaro thanks :)

  • @avion85
    @avion85 8 месяцев назад

    Just absolutely beautiful!

  • @youtoober2013
    @youtoober2013 4 года назад +3

    When this talk started I thought the screen was on stage... wow.

  • @Visuwyg
    @Visuwyg 7 лет назад +25

    Jonathan Blow talks about how to save the world.

  • @SowedCastelli
    @SowedCastelli 4 года назад

    Mheeeen, the talk was just starting!!!

  • @SowedCastelli
    @SowedCastelli 4 года назад +7

    Does someone know a place where Jonathan explains this? I've always wondered how it was pulled off.

  • @Novous
    @Novous 8 лет назад +31

    DEAR GOD. WINDOWS XP in Fischer Price mode. 0:33

  • @elaynet382
    @elaynet382 3 года назад +2

    Is the fact that this video about time reversal, dilation and compression is out of sync intentional?

  • @csebastian3
    @csebastian3 5 лет назад +1

    That was a really good talk. ...But the cut-off at the end was such a shame. He was talking about really interesting stuff!

  • @loekTheDreamer
    @loekTheDreamer 8 лет назад

    thanks so much for sharing. its a bit over my head though. dont know how you come up with this stuff, very very awesome.

  • @aajas
    @aajas 8 месяцев назад +1

    GDC should have just rewound time so Jonathan could get to the other half of presentation

  • @Gragain
    @Gragain 8 лет назад +66

    "run on consoles" "wanted to sell copies" shots fired at pirates

  • @oooodaxteroooo
    @oooodaxteroooo 9 дней назад

    is there still an unfixed bug in the rewing mechanic? :)

  • @guyewhite
    @guyewhite 4 года назад +1

    How does no one have questions for Jonathan Blow?

  • @metalim
    @metalim 8 лет назад +57

    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 7 лет назад +12

      Sound and picture are out of sync.

  • @LouisHong97
    @LouisHong97 7 лет назад +33

    Sounds like 1980 sound quality. Why. The tickets are 1k each.

    • @edwardnewtonLA
      @edwardnewtonLA 5 лет назад +29

      All the money got spent building the time machine to go back to 1980 and get the microphones.

    • @Lukas-er4nd
      @Lukas-er4nd 5 лет назад +2

      Because it's not you paying :D

    • @Gnurklesquimp
      @Gnurklesquimp 4 года назад +1

      I watch a lot of music/audio and game talks, there is a noticeable difference in priorities.

  • @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?

  • @vozoca
    @vozoca 5 лет назад +10

    Thumbnail says “implementating”

    • @Gimp.The_Imp_Pimp
      @Gimp.The_Imp_Pimp 3 года назад +4

      What do you mean?
      That's a perfectly cromulent word. It embiggens the title and you can't misunderstimate it.

  • @davogotland
    @davogotland 3 года назад +1

    gets me thinking of that one time when the grammy awards cut off frank sinatra back in 1994.

  • @jaymalby
    @jaymalby 7 лет назад +4

    All I can think about while watching this are persistent data structures...

  • @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 лет назад +10

      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 лет назад +2

      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 лет назад +8

      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 лет назад +1

      Yes, totally agree!

  • @Haapavuo
    @Haapavuo 6 лет назад +29

    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?

  • @MEGA_TREE
    @MEGA_TREE 2 года назад

    I love it

  • @esotericVideos
    @esotericVideos 6 лет назад +9

    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

  • @immanuelkouldnt7601
    @immanuelkouldnt7601 2 года назад +1

    Not sure if I up vote because of jon, or down vote because of gross GDC cut/interruption.

  • @wubologist
    @wubologist 7 лет назад +10

    Implementating
    ...

  • @sidshekar
    @sidshekar 8 лет назад +13

    The video is still out of sync......

  • @MyriadColorsCM
    @MyriadColorsCM 9 месяцев назад

    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.

  • @DreanPetruza
    @DreanPetruza 8 месяцев назад

    I think it's Implementationationing

  • @anispinner
    @anispinner Год назад

    That said Windows XP had its charm

  • @guyewhite
    @guyewhite 6 лет назад +1

    Horrible to be cut off like that.

  • @m4rt_
    @m4rt_ Год назад

    Oooo that's Windows XP

  • @jack-d2e6i
    @jack-d2e6i 5 лет назад +2

    That cutoff was embarrassing. Screw your schedule, let him finish his talk.

  • @Merthalophor
    @Merthalophor 8 лет назад +5

    god why windows xp

    • @kristupasantanavicius9093
      @kristupasantanavicius9093 8 лет назад

      Because its the biggest PC platform for games.

    • @Merthalophor
      @Merthalophor 8 лет назад +2

      ***** 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 8 лет назад +1

      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 8 лет назад +3

      ***** well, to be honest, I _am_ one of these guys, but I understand people who use windows.

    • @sasuke2910
      @sasuke2910 8 лет назад +28

      You realize this talk was given in 2010 right?

  • @sanbox-irl
    @sanbox-irl 4 года назад +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.

  • @shariarpapaon5305
    @shariarpapaon5305 4 месяца назад

    thumbnail: "implementating", cmon guys u can do better

  • @odin3659
    @odin3659 7 лет назад +13

    can program complex logical systems, but powerpoint is too complex for the human race

    • @davidson2727what
      @davidson2727what 7 лет назад +9

      Kelda Hanson the capability to write programs does not imply the capability to use other programs.

    • @error.418
      @error.418 7 лет назад +20

      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 лет назад +1

    Should apply rewind to writing the title card, because "implementating" isn't a word.

  • @joonatansaarhelo6138
    @joonatansaarhelo6138 6 лет назад +3

    Instead of allocating heaps, he could have used a ring buffer.

    • @PabloGnesutta
      @PabloGnesutta 5 лет назад +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

  • @lilsol2724
    @lilsol2724 7 лет назад

    bada$$

  • @itsnotbloodborne1237
    @itsnotbloodborne1237 6 лет назад

    Umm can anyone translate this

  • @joepeters8746
    @joepeters8746 3 года назад +1

    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 года назад +11

      you're conflating cheating and bugs/exploits. one is absolutely the programmer's concern, while the other, although related, may not be.