Animation Bootcamp: An Indie Approach to Procedural Animation

Поділитися
Вставка
  • Опубліковано 27 гру 2024

КОМЕНТАРІ • 649

  • @Zeawsomee
    @Zeawsomee 5 років тому +1675

    The clearest example of working smarter instead of harder

    • @TheGooGaming
      @TheGooGaming 5 років тому +16

      Seems genius but all these processes make the game run terrible on pretty much any hardware, which is honestly a shame

    • @phynx1756
      @phynx1756 5 років тому +10

      @@TheGooGaming It's more so optimization. Its a bit more taxing but still.

    • @TheMrTape
      @TheMrTape 4 роки тому +91

      @@TheGooGaming That's simply very far from true. Normal animation is probably more taxing (depending on engine) in that it still needs to grab data from ram and apply it for each frame. You could calculate hundreds of millions of interpolations a second, yet only need about 60 for each instance. I can't think of why it wouldn't take only one CPU instruction to calculate the interpolation value of any given instance.

    • @prooxy1234
      @prooxy1234 4 роки тому +1

      trolln

    • @TheMrTape
      @TheMrTape 4 роки тому +30

      @@BassRukarioGuerrero No not necessarily. An animation consists of a relatively large data set where each frame is dependent on keyframes and the previous frames, so all that data has to be worked on to calculate bone angles for each frame, rather than just interpolating between 2 values according to simple math via one or few instructions.

  • @StormySeb
    @StormySeb 4 роки тому +563

    The fact that I managed to understanding even 50% of this is a testament to how good he was at explaining everything.

    • @mishikokenkebashvili879
      @mishikokenkebashvili879 3 роки тому +9

      I watched this one year ago and didn't understand shit but i rewatched it now and I'm proud of myself for understanding it lol

    • @JungoFunko
      @JungoFunko Рік тому +1

      ​@@mishikokenkebashvili879me too lol

  • @JoshuaReyes
    @JoshuaReyes 7 років тому +2150

    This is a awesome talk, this guy needs to teach a course on this.

    • @simplyble
      @simplyble 7 років тому +89

      he would actually make some great courses if he did

    • @mikeluna2026
      @mikeluna2026 7 років тому +38

      Agreed, I'd really love to have the know how to do such good outstanding animation.

    • @EnriquePage91
      @EnriquePage91 7 років тому +17

      Yeah this would be a great course but it would certainly be at least 30-40 hours long - not a small topic and particularly when aimed at indies that more often than not do not come from programming backgrounds

    • @EnriquePage91
      @EnriquePage91 7 років тому +7

      I know I've been researching this topic for over a year at this point

    • @kuurozen1
      @kuurozen1 6 років тому +3

      Enrique Have you found any other good ones you can recall from your research?

  • @jonathanxdoe
    @jonathanxdoe 7 років тому +1365

    Incredible how solid it looks compared to a game like assassin's creed with hundreds of animations. The power of code

    • @magnusm4
      @magnusm4 7 років тому +203

      Fuck animation and graphics, hail gameplay and physics. Doesn't matter if it's not realistic as long as it looks plausible for a game and is fun and fluid

    • @Probable.Orange
      @Probable.Orange 6 років тому +18

      it looks lifeless tbh

    • @satellite964
      @satellite964 6 років тому +42

      Power of math.

    • @ryanmartin8060
      @ryanmartin8060 6 років тому +37

      I agree, the quality really isn't that far off from what we can see in some popular titles. NieR: Automata has super responsive controls, something I'm a huge fan of, and having that responsiveness and fluidity is more important to me now than having a more realistic movement system that drags more and sucks the fluidity out of the controls. Definitely going to try and implement some of the things he's talked about here. I've got a 3rd person game demo that I'm trying to do on my own, and implementing these principles would save soooo much time.

    • @jeffwells641
      @jeffwells641 6 років тому +34

      To be fair, often times what appears to be a simple, obvious solution is completely non-obvious until it is pointed out. EA would probably* not have spent tens of thousands of man-hours animating each movement of every character in Assassin's Creed (and don't ask me why AC keeps coming up in comparison to this video) if they had known they could get better results with a clever programming trick.
      There are certain realizations here that are pretty brilliant in their simplicity, and while I wouldn't say he's the only one who had such realizations, he's one of only a few. It's also worth noting that these tricks would have been completely unworkable in the Mario days - they require a certain amount of processing power to make them trivial operations that hasn't been around until relatively recently.
      *EA makes some pretty dumb decisions sometimes, so I can't just say they wouldn't go the brute force route even if they know there is a better way.

  • @michaelabildgaard646
    @michaelabildgaard646 6 років тому +1221

    Ubisoft - Spend 11 years, deitic amounts of money and international divisions developing a billion-dollar franchise around character movement
    David Rosen - "Look what I can do with 13 keyframes"
    I am in awe every time I come back to watch this

    • @BiosElement
      @BiosElement 6 років тому +30

      Only took em 9 years...

    • @jwadaow
      @jwadaow 5 років тому +73

      @@BiosElement A lone developer with limited funds.

    • @jeffwells641
      @jeffwells641 4 роки тому +45

      I still find Overgrowth's movement to be one of the most satisfying I've ever played. It's just damn fun to run around and jump around in that world. It's not exactly a deep game though, and the jump-kick is infinite cheese, which kind of spoils it after a while. Still, the movement was an absolute blast.

    • @talanock
      @talanock 4 роки тому +9

      the way this looks isn't realistic though. there is a cartoony nature to it which is not what you want when you wan realistic, viscual human like movmeent for osmething like assasins creed. This looks more like puppets flaing around, which works for this game, but it's foolish to think one method can fit all.

    • @m3rl1on
      @m3rl1on 4 роки тому +30

      @@talanock that's the thing, you can adjust the params for those dampener and animation transition to make it more realistic, and i think thats why this tech is very interesting.

  • @maya_gameworks
    @maya_gameworks 7 років тому +371

    Jesus what an INSANE talk! U can literally feel ur brain growing.

  • @animatrix1490
    @animatrix1490 4 роки тому +52

    I really love that basically every single time ragdoll footage plays people laugh. It's kind of adorable

  • @tahaelaradi5539
    @tahaelaradi5539 7 років тому +369

    Dear David, this talk has been by far one of the best GDC talks I've watched for years. Technical yet easy to understand, and your approach is just great. I wish you would have explained a little 'how' whenever you explained 'what' you did to accomplish such interesting results. Wishing you lots of success.

  • @Donotargue
    @Donotargue 7 років тому +263

    This is amazing. Didn’t know you could get such detailed movement/animations with so little keyframes.

    • @joroc
      @joroc 4 роки тому +10

      You and all game producers

  • @ClokworkGremlin
    @ClokworkGremlin 5 років тому +251

    17:24 most realistic "I've fallen, help!" ragdoll physics I've ever seen, and they're from a tech demo from 4-5 years ago.

    • @LeeAndersonMusic
      @LeeAndersonMusic 4 роки тому +18

      The first alphas came out in 2008, which already had pretty much exactly what you see here

    • @flubnub266
      @flubnub266 2 роки тому +1

      @@LeeAndersonMusic Can confirm, I was there!

    • @jakes-dev1337
      @jakes-dev1337 8 місяців тому

      10 years (since the demo, NOT even the game) and this is still my favorite GDC

  • @Twisted_Logic
    @Twisted_Logic 7 років тому +78

    I remember when he put this talk up on his own channel a couple years ago and it's still brilliant.
    And congratulations to Wolfire on finally bringing Overgrowth into full release!

  • @CubsYT
    @CubsYT 3 роки тому +9

    My favorite GDC talk. will never stop rewatching this

    • @80sJoel
      @80sJoel 3 місяці тому

      Guy is the Jesus of game dev programmers.

  • @Olina-Live2D
    @Olina-Live2D 4 роки тому +56

    FYI. After I finished reading 476 comments (=~ 95%), I figured out the speaker did this technique with his own engine. Some people who left the comments with the experimental of Unity, but not implement the entire animation set yet. One commenter executed it with webGL, he also showed the idea on his channel. I am an animator, not a coder, so... I am not sure I can understand. One commenter posted a github link, which seemed the implement code or result, but it's a fail link... For further research, I arranged some google key words from 476 comments:
    DamagedSplinter: skeletal animation [insert your preferred graphics api] tutorial
    SketchpunkLabs: implimented the idea with webGL
    ua-cam.com/video/txQauhLIi4E/v-deo.html
    ua-cam.com/video/ry6Bneu_EWA/v-deo.html

  • @speakingmia7298
    @speakingmia7298 5 років тому +15

    It’s a video back to 2014 and it still looks unbelievable in 2019.

  • @DoomRater
    @DoomRater 5 років тому +8

    Four minutes in and I can't look away. It's so beautiful. Every developer needs to see this.

  • @LeeAndersonMusic
    @LeeAndersonMusic 4 роки тому +3

    Man, I remember playing a very early version of Overgrowth many years ago, and especially then it blew my mind. Even with how simple it was I loved how alive the characters felt. Now over a decade later I find this video to explain why. I didn't know Receiver, another favourite, was made by the same developer. Great video

  • @BigFreakingCacodemon
    @BigFreakingCacodemon 6 років тому +80

    Well heck, two frames. Even I can do that. I don't need it to be super pretty, but animation felt like it would be a colossal barrier to game development, but this really breaks it down into a much easier, more understandable process. Really cool.

  • @alexmighty693
    @alexmighty693 5 років тому +5

    This guy is awesome at explaining stuff. You can tell that someone is really good at something when they make it look/sound easy.

  • @brianshannahan6983
    @brianshannahan6983 6 років тому +10

    I know I'm a year late to this, but... damn. This is literally some of the most impressive animation I've ever seen, and all explained in a straightforward, usable way. Awesome work.

    • @MaxRostas
      @MaxRostas 6 років тому +3

      Brian Shannahan seriously. It's funny how touted the euphoria engine is for gta, yet this guy's falling animations are loads more convincing using the simplest of methods.

  • @nmtkawb
    @nmtkawb 7 років тому +6

    This is definitely one of the best talks on GDC sessions. It was simple, informative, yet entertaining.

  • @Dahxelb
    @Dahxelb 6 років тому +4

    I am educating myself to become a game developer. I can't work with graphics much at all, but it's really, REALLY impressive to see how good these animations actually are with such little actual graphical work put into the animations. Just a couple of different key poses that you need for the rig, and run smooth transitions between them. This is great and very inspirational.

  • @zaeche
    @zaeche 7 років тому +235

    Really enjoyed this talk! I know he keeps saying key-frames, but essentially what David's doing is making strong poses, key-framing them sparsely, then using code/interpolation/what-have-you to make them sit nice, right?
    To me, It makes for reactive controls with pleasantly whippy animations, and what's clever about it is that the previous animation state ends up being the anticipation for the next animation state and so on. Good stuff.

    • @ThePhobiephozee2000
      @ThePhobiephozee2000 7 років тому +1

      Yes, I agree!

    • @rurzan
      @rurzan 7 років тому +8

      Yeah, I know little about animation, so was wondering if it boils down to making only the extreme poses (like standing pose and crouching pose), and interpolating in code, rather than creating the in-between poses manually, which would be the more traditional approach. Is that correct?

    • @zaeche
      @zaeche 7 років тому +16

      (Not an expert but) I believe that is correct! Especially since he's modelling the interpolation on springs (force, damping etc) you get some procedural ease-in and ease-out. I'm _also_ quite sure using material physics lumps on secondary motion. And so on and so forth.
      It really is fascinating--the more you think about it, the more ways you can optimise towards an efficient animation workflow (even if you go back in later with high fidelity animations during polish).

    • @MajkaSrajka
      @MajkaSrajka 7 років тому +3

      @ruzan
      Yeah I believe so. In the Q&A he gave example about making key-frames for holding large ball, small ball and interpolating between them ( 25:35 ).

    • @EnriquePage91
      @EnriquePage91 6 років тому +24

      Think of it In this way, I use blender and will explain it with this software but the idea is the same regardless of the software:
      Do your animation as you would in Blender/Maya/etc,
      If you're doing a run cycle...:
      you most probably have a few major poses, not just two. YOU CAN STILL DO THIS!!
      What he did was a very simplified illustration of the process, but ultimately he is just interpolating KEY POSES directly in his GAME ENGINE instead of doing it in Blender. This way he does not have to bake the information into a 250/X - frames animation, and then read all of that information in the Game Engine. He can simply use the KEY POSES to "recalculate" the interpolations necessary for the whole animation. Your 3D Animation software does this already, but it is more powerful if you do so directly on the Game Engine.
      When you animate in your software you define key frames which determine a specific pose of the skeleton in time. Whatever you don't manually "specify" gets "imagined" by the software and recreated by interpolating the positions of EVERY vertex on your mesh from one point in time to another.
      If you export your KEY POSES only, and then complement this by Interpolating in between them IN the GAME ENGINE, then you can control HOW these interpolations happen in realtime.
      If I use unity as an example, when you import a 250 frames animation, each frame has a specific instruction set of how the skeleton is posed, meaning you have 250 different sets of instructions on your animation data that Unity will read when playing the animation.
      Today, computers are so fast that we can do the interpolation in realtime, so we could instead only import an animation that is 7-8 frames long instead, which only contains the KEY POSES of our animation.
      Then in unity, utilizing animation curves, you can CODE how these animations interpolate based on the animation curve you added. These animation curves can then be easily edited in realtime, or in the editor. Ultimately this results offering a lot more controls to the devs on what they can do with animations, and besides that, it is also easier for animators themselves to work with. This way, your animations are shorter (and occupy a substantial amount less of SPACE on the game data side), and more "adjustable".

  • @muffinberg7960
    @muffinberg7960 3 роки тому +2

    this guy is a legend. I remember playing his first lugaro game as a demo from a pc magazine. This was at least 15 years ago maybe more when I was around 10.

  • @prettyskeasy
    @prettyskeasy 2 роки тому +1

    I have seen this a few weeks ago and keep remembering it. Its just amazing for me. If I would sit in the audience I couldnt stop cheering.

  • @tomascampo2283
    @tomascampo2283 9 місяців тому +2

    man, overgrowth is an amazing game, you did a fantastic job

  • @firehot006
    @firehot006 3 роки тому

    I bet when he was giving the talk he didn't think that hundreds of thousands of people would end up watching this. Amazing talk and incredible work!!

  • @wessmall7957
    @wessmall7957 4 роки тому +1

    The amount of information in this 26 minute talk is amazing.

  • @MikeCroswell
    @MikeCroswell 4 роки тому +1

    Still valid almost six years later. One of the best talks on procedural animation at GDC!

  • @Breadman-k6d
    @Breadman-k6d 4 роки тому +1

    Immediately recognized "Receiver", which I have played for 17 hours, and thought: oh how cool that he has taken inspiration from that game - until he moments later revealed that he was the creator of it. Mindblown

  • @huh_wtf
    @huh_wtf 2 роки тому

    This is simply brilliant. The movement looked so organic, specially the ragdoll is surreal. Incredible genius my man. In awe completely.

  • @kingenidjingeln
    @kingenidjingeln 5 років тому +5

    This guy is a great speaker, I was clued to the talk even though I'm not a game designer.

  • @Icewind007
    @Icewind007 4 роки тому +1

    Holy moly, I am a new game developer and this is going to directly affect how I am about to do a lot of things. I am so glad I watched this.

  • @kenneydude14
    @kenneydude14 4 роки тому

    i played the psychic bodyguard game many years back, and have been searching every now and then for years to find it and suddenly i see a gdc talk and there it is, presented by its creator. glorious

  • @TheSssarasss
    @TheSssarasss 3 роки тому

    he's an expert on this he worked on this game for many years I played the game is amazing and you can see how much love is put in this game, those people are pure artists

  • @mildpass
    @mildpass 5 років тому +4

    Great talk. Played an overgrowth alpha a while ago and recall being very impressed with its animations. Now I know why. Was really impressed with the usage of interpolation methods to animation.

  • @ClayMann
    @ClayMann 7 років тому +373

    Super super interesting. I love the methodical breaking down of what is at first glance a horrendously difficult thing to do in games.
    Now I wonder if this kind of approach could solve the armor problem where armor is getting more and more elaborate in games but the intersecting of different armor bits is getting worse and worse. I can't tell you how much it grates on me when I see a shoulder pad glitch straight through a characters head when they reach forward or watching hugely elaborate armors just go into intersecting madness not giving too shits about physics. I haven't seen anyone trying to solve it so it must be a tough cookie to take on. I think I know a guy that could help!

    • @fappylp2574
      @fappylp2574 7 років тому +58

      Realistically you'd need to inhibit a character's motion range depending on the armor worn. Perhaps one could define a set of maximum angular ranges for each piece of armor and then have the animation somehow be procedurally limited to these constraints. An immediate problem I see here is that for instance very cumbersome armor will lead to shorter maximum step sizes, which in turn needs to slow the actual forward movement of the character. This breaks the rule of the animation not affecting the actual motion, but maybe a compromise can be found.

    • @ZEGTHEFISH
      @ZEGTHEFISH 6 років тому +64

      You could actually turn the inhibiting factor into a gameplay mechanic for more clumsy armour being perhaps more protective but less motile

    • @philsburydoboy
      @philsburydoboy 6 років тому +19

      With this you could solve that pretty easily. Just like he said with the spear, for each new item you do a new set of keyframes. Because there are an extremely small number of keyframes to make, you can customize animations to any in-game item very easily.
      The only issue I could see is if you allow complex combinations of items, because then you would have to procedurally generate keyframes for the whole body based on what is worn/held on each part of the body.
      For example: I am wearing chainmail pants, a steel chest plate, a giant pointy helmet, carrying a spear, and have rigid boots.
      This would require his system plus some sort of procedural priority system to choose parts of the different animation sets. The helmet will VERY seriously affect rolling animations while the boots will affect all animations, and the spear will have even more effects on rolling, jumping, and anything close to a wall.
      Very doable, but this changes from a few months for his sustem to almost a year, maybe more, for a procedural version

    • @spartanwar1185
      @spartanwar1185 6 років тому +27

      Either inhibit movement or make a good PRACTICAL armor design

    • @tiagodarkpeasant
      @tiagodarkpeasant 6 років тому +10

      yeah make most armor practical, and if there is an impractical one, it is a full set, so all motions are limited, like a power armor, it restrain you movements but increase the strenght a lot, and only makes sense to use full armor

  • @cloudshaifr
    @cloudshaifr 3 роки тому +1

    a game i dont see mentioned enough that had a very great animation system was [prototype] while i assume it was adapted from a combination of hulk and spiderman, it still had a very unique way of animating the character, and i would endlessely play just to see the various animations that existed, such as how he handled maneuvering over cars and one big thing I enjoyed that no longer exists even in the miles morales game(latest spiderman i played) is the feeling of building momentum and maintaining it while the animations kept up.
    very insightful video and a like and subscribe as well for all designers wanting insight into the beauty of animations.

  • @Marcos10PT
    @Marcos10PT 3 роки тому

    I am grateful to witness such a manifestation of ingenuity. This guy is in his own league, one of the greats among us. Much to learn from him!!

  • @randomrandom450
    @randomrandom450 5 років тому +46

    Really cool and interesting. I used to work in AAA companies for about 12 years, as a gameplay programmer and animation programmer. The procedural animations I was making was always to make something precises, like foot IK, spine tracking, head tracking, ropes and tentacles. But 2 years ago, I made the leap to indie, we are very few and everybody lacks time, so I started to use procedural animation to save animators time. Not because our animators are lazy, but we have multiple characters, so making something a blend of like 8 animations, instead of being procedural, might mean that we just wont do it, since it means 8 animations times the number of characters, while procedural animation can be applied "automatically" to all characters.
    It might be just a bias because I know about it, but like the speaker said, it is not that hard, it's just a bit of math and I feel the best way to learn anything, including math, is doing something cool with it. I first though it was scary, now I love making procedural animation.

    • @LuisCassih
      @LuisCassih 4 роки тому +1

      but how does affect on the perfomance to do these calculations for multiple characters? are the differences huge enough to not be worthy?

    • @-BRODEN
      @-BRODEN 3 роки тому +4

      ​@@LuisCassih I am not an expert, or incredibly experienced, but what I do know is that modern computers are incredibly fast, and can process an INSANE amount of data. Interpolation and blending is fairly simple for a computer to do, as it is just simple math (adding/subtracting and multiplying/dividing). Keyframed animation still has an edge over procedural in terms of performance, but not by a lot. For the modern machine, procedural shouldn't be a problem.
      If you'd like a deeper dive into the subject, I found an article called "Comparing Traditional Key Frame Animation Approach and Hybrid Animation Approach of Humanoid Characters". It goes into performance about 22 pages in.

  • @RazaButt94
    @RazaButt94 6 років тому +2

    To see this talk is from 2014, it simply blows my mind just how much he would have progressed since then! :D

  • @kerynadcock2226
    @kerynadcock2226 4 роки тому +2

    Dare I say: You're a genius young man! Thank you for sharing your innovative approaches.

  • @Lyno_0-q4e
    @Lyno_0-q4e Рік тому +2

    Been looking for a video like this for a whole time, this is truly inspiring and cool to watch. I always wanted to learn more about making a character controller like this.

  • @gimmemovieth
    @gimmemovieth 3 роки тому +1

    This is the most inspiring GDC talk I have ever watched.

  • @Bloodywasher
    @Bloodywasher 3 роки тому +2

    I have admired overgrowth for years and been waiting for it to be complete. It's soooo good and inspires me to meet my goal of a 1 man dev team. I know i'm gonna have to cut a lot of corners while mastering the basics but, it's working so far especially with people like this fine genlteman out there.

    • @Bloodywasher
      @Bloodywasher 3 роки тому

      Physics and mechanics in games have always inspired awe in me

  • @soooooooph
    @soooooooph 5 років тому +2

    Character animation always seems so daunting to me, but this was so clear and so enlightening, it blew my mind.

  • @Cedar77
    @Cedar77 6 років тому +1

    You can see how excited he is about his work and the work of others!
    He got a passion! :)

  • @MrSonny6155
    @MrSonny6155 5 років тому +1

    I saw when this game first became a hit and played the demo right away. It was legit epic, super fun. Now that I understand all of this magic, I'm somehow even more impressed

  • @TheAmbientWarrior
    @TheAmbientWarrior 5 років тому +2

    Wow I think this just became my favorite GDC talk.

  • @_fudgepop01
    @_fudgepop01 4 роки тому +2

    hearing that this guy starting humble bundle is like hearing the guy who started patreon say he's the guy that started this small project called patreon. That alone is awesome!

  • @puetsuaworkshop
    @puetsuaworkshop 3 роки тому

    I like how he basically know how animation works, so he knows how to program those and make it looks fluid and interesting.

  • @LouSaydus
    @LouSaydus 6 років тому +3

    I've done a lot of work in CSS animations and transition curve have been absolutely essential, and awesome, to getting clean looking animations. I've always wondered why games use complex animations with tons of data in them instead of relying more on transitional curves. Now I know that not everyone is taking that classical approach. I hope more developers pick up on this and start using these techniques, they produce excellent results when only a single person is working on them who has no professional experience or teaching on the subject. Imagine what would be possible if you had experienced, professional artists doing this kinda work.

  • @Chris-pv2my
    @Chris-pv2my 6 років тому +3

    I watch a lot of Game Dev videos, from what's new in a game engine to the animation process, to coding but I don't necessarily grasp everything the person/teacher/video maker is saying (sadly more often then not). This guy makes complete sense and I understood every word he said. Maybe it was how he presented his information, maybe his brain just works similarly to mine in reasoning, I dunno. BUT it was excellent video and I enjoyed the talk and presentation on animation very much.

  • @xthe_nojx5820
    @xthe_nojx5820 4 роки тому

    This is absolutely fascinating. I don't understand much beyond the most basic principles of animation and almost _all_ the math goes over my head, but it's cool af. I'll gladly give my money in support of this.

  • @Codethe_Road
    @Codethe_Road 5 років тому +6

    I miss Dave's voice from his updates. Haha. Brings me back to the good ole days.

  • @FrancoSciaraffia
    @FrancoSciaraffia 7 років тому +43

    Oh man, i need to rethink my entire life now... Loved this talk!

    • @CherPsKy
      @CherPsKy 6 років тому +4

      Sargas Evigmae How did it go?

    • @Gurem
      @Gurem 5 років тому +6

      Seems he's still rethinking.

    • @catinwall4256
      @catinwall4256 4 роки тому +1

      @@Gurem I hope he has a rethinked life now.

  • @James-wd9ib
    @James-wd9ib 4 роки тому

    I've been following Overgrowth on and off, and this is the first time I've seen the developer and the backend.

  • @LouisHong97
    @LouisHong97 7 років тому +72

    what a great talk. extremely engaging throughout

  • @Dezomm
    @Dezomm 4 роки тому

    Wow. Incredible, and very humbling. Just when I think I know a thing or two about gamedev this absolute god comes down and puts me back in my place. But this is so fascinating! This is definitely the next thing I want to learn. Seems like you can get some fantastic looking results from just one person working with the animating.

  • @rumfordc
    @rumfordc 7 років тому +12

    this is one of the most helpful videos i've watched

  • @spartanwar1185
    @spartanwar1185 6 років тому

    This is why Overgrowth has such fantastic movement
    And i've never played it
    But i can feel how the game would move from seeing the lively-ness AND responsiveness of the animation

  • @strum007
    @strum007 6 років тому +1

    My favourite talk on GDC so far.

  • @nicocorrao6593
    @nicocorrao6593 7 років тому

    Every animator that wants to get into games should watch this.

  • @MondoMurderface
    @MondoMurderface 6 років тому +4

    Its amazing but also very simple when you think about it. Traditional animating software uses blends, IKs, Poles, and constraints all the time between key frames. Hes basically built a basic animation assistant into the game engine and simplified the animations into keyframes. Something more engines should have built in for artists and animators in time.

  • @dblackout1107
    @dblackout1107 3 роки тому

    I remember I used to mess around in the demo for this. Loved the physics.

  • @SantinoDeluxe
    @SantinoDeluxe 3 роки тому

    i only understood some of this but its obviously superior to layer simplicity as a way of creating complexity than to actually plan the complexity. allow things to happen instead of forcing them, this is profound work.

  • @markemerson98
    @markemerson98 6 років тому +2

    love simple systems that give complex looking results - bravo

  • @falxie_
    @falxie_ 4 роки тому

    I love how much applause he got for this, well deserved

  • @A1exVance
    @A1exVance 3 роки тому

    I saw this speech and I got really inspired to give a go to game development!
    I also tried his game, too bad it's still unfinished but I can see where he was going.

  • @Oxmond
    @Oxmond 4 роки тому +1

    Wow! Great video! Really, really cool animation examples! David Rosen is a TRUE animation artist! 👍🤓

  • @demetresaghliani9048
    @demetresaghliani9048 6 років тому +46

    As a beginner, how would I go about doing this? Do I need to create keyframes in, say, Blender, and then import those into, say, Unity, and interpolate between the keyframes however necessary within the game engine, or do I create the animation inside Blender and then choose which frame to scroll to in Unity?

    • @Ertie
      @Ertie 6 років тому +44

      Keyframes in blender, then logic and physics and math and stuff in the engine

    • @arthurfacredyn
      @arthurfacredyn 4 роки тому +6

      I say, contact the dude, his info is at the end of the vid

  • @CloudlessStudio
    @CloudlessStudio 3 місяці тому +1

    If you are making a platformer this is a must watch

  • @neolynxer
    @neolynxer 7 років тому +415

    Better animation flow then assassin's creed. In 13 keyframes. (yeah-yeah, and, like, 15 years of development, but still)

    • @neolynxer
      @neolynxer 7 років тому +15

      MTRredux, IMO, not something to praise: you should save time to make as good a game as you can. This is not 97. It's like writing your own browser to make a website. I'm sorry to say, but Owergrowth, as a game, was not worth this amount of time in development. Yes, animation system is awesome in it's simplicity and system design and works for anthropomorphic rabbits. No one knows how that would look on a realistic human.

    • @scottcourtney8581
      @scottcourtney8581 7 років тому +58

      +Lynx Lynxov, I hear what you're saying, but that assertion depends on whether his goal was making a game, or making great technology as a source of personal fulfillment. Ars gratia artis, or art as a product for sale? I make virtual things on a computer, or real things in wood and metal, that I could have purchased, because what I really want is not always the result. Sometimes the real goal is the joy and learning of the craft process.

    • @Twitch375
      @Twitch375 7 років тому +31

      Markus Glanzer
      I'm not sure but it was one guy working probably less hours than a part time job over 15 years. At 20 hours a week that's 15,600 hours. Even if assassins creed was made with 100 people working full time for one year it come out to 208,000 hours. I can almost guarantee more people are involved for longer than a single year and a good portion will do overtime. But that's comparing the games in total. Knowing how many hours spent on the animation system for either game is kind of impossible.

    • @rafaelr6792
      @rafaelr6792 6 років тому +3

      Just a question,so am i able to do the same in unity?

    • @alxl.929
      @alxl.929 6 років тому

      EXACTLLY

  • @Roxor128
    @Roxor128 7 років тому +31

    Hmm... Interesting! You can go from essentially Wolfenstein 3D type framerates to pretty smooth so quickly, just by being smart about using interpolation.

  • @radioactivegorgon2307
    @radioactivegorgon2307 3 роки тому +1

    Conclusion reminds me of the old game "Die by the Sword" which removed the need for attack animations by sorta letting you extend and swing on your own. Was honestly pretty fun and I remember spending hours upon hours in arena mode.

    • @blarghblargh
      @blarghblargh 3 роки тому

      Check out "Exanima". Sounds similar!

  • @jtsiomb
    @jtsiomb 7 років тому +10

    Brilliant idea. I'll definitely try this approach next time.

  • @deliciousfewd
    @deliciousfewd 3 роки тому

    I am so sad he didn't get more time to answer questions. I need more of this. It's so fascinating.

  • @MiRoDevYT
    @MiRoDevYT 6 років тому +35

    Is there a way to learn this technic? Any courses maybe or articles explaining this in more detail it’s very fascinating, and could really use it to speed up my workflow

  • @MiniMatthias
    @MiniMatthias 5 років тому +1

    Can't wait to apply this to my animations! I always wondered how to get that good rotation jitter without hand animating the entire thing.

  • @Akshaizo
    @Akshaizo 6 років тому +3

    Excellent talk, David. It's always interesting to look into animation and the various choices that go into animation.

  • @KEEYBLADE
    @KEEYBLADE 6 років тому

    It actually blew my mind, that you need so few keyframes for a more or less good working animation set.

  • @seraaron
    @seraaron 3 роки тому +2

    Wait, this guy *made* Humble Bundle! Oh wow, that's kinda crazy to think about :0

  • @SYBIOTE
    @SYBIOTE 3 роки тому

    im in awe of the power of programming to create convincing artificial life and characters , game dev is the best

  • @QuietSnake-xs5vx
    @QuietSnake-xs5vx 7 років тому +143

    Fkin genius...breakthrough man

  • @chesusjrist9733
    @chesusjrist9733 4 роки тому +2

    This is a fascinating presentation, and well executed to boot.

  • @EnRandomSten
    @EnRandomSten 3 роки тому +4

    that could actually be a pretty nifty fighting mechanic. have the character go more and more "into active ragdoll" when taking damage or after preforming heavy attacks as an opportunity for the opponent to punish greedy attacks

  • @flyboypuoi
    @flyboypuoi 6 років тому

    Recognised David's voice instantly, big fan of Overgrowth!

  • @pawpotsRS
    @pawpotsRS 5 років тому

    I never thought of just two key frames will work using linear interpolation wow. btw I'm really new to rig+anims. he is amazing!!!

  • @WestyFilms
    @WestyFilms 2 роки тому

    Five years old and still a great talk.

  • @Perkustin
    @Perkustin 6 років тому

    Really inspiring and a bit of a morale boost to see that you can get half decent (and in Rosen's case, full decent) animations with very few keyframes. It's more about tweaking the curves and leveraging physics tech. I'd followed tutorials in UE4 which did similar; adding character to animations by plugging in physics, IK, etc, but they were always using pre-made professional animation cycles. I didn't even think you could do so with just a handful of keyframes and smartly tweaking curves and physics/bone variables. I'd been having some success animating sprites but always thought 3d was just too taunting but this talk suggests it is in some ways even easier. You need at least 8 (or 16+ for things like rolling/attack animations) hand drawn keyframes to get good looking spritework but can get great results with only 2 in 3D. This also bypasses things like Mocap, which is often touted as the ONLY means to 'cheaply' get great animation, which would of course be beyond any indies' means, unless you're VC funded/industry experts like Ninja Theory.

  • @ProblemBears
    @ProblemBears 7 років тому +120

    Wow this is great!

  • @travisshaffer6623
    @travisshaffer6623 4 роки тому +1

    I love Overgrowth it's so cool and fun to make levels in.

  • @82Catfish
    @82Catfish 11 місяців тому

    I wish overgrowth got greater support. It was amazing to play and Ive loved it for years. One of the main things that got me interested in making games.

  • @AlienXtream1
    @AlienXtream1 4 роки тому

    i learned SO much watching this. plenty of good approaches for all animation forms, not just games engines :D

  • @DeliberateConfusion
    @DeliberateConfusion 4 роки тому

    This is nothing short of absolutely genius

  • @anthonytonev1357
    @anthonytonev1357 5 років тому

    My all time favorite gdc talk.

  • @SketchpunkLabs
    @SketchpunkLabs 5 років тому +4

    At the 6:49 mark, he talks about Linear Interpolation and has 4 points connected. How is that curve applied on the poses? I dont get how the curve can animate two poses. In my testing, I generate 4 keyframes out of the two poses and I can easily lerp between the frames to start making the animation but I still don't get how to use his curve in the animation. It can't be the curve used between each frame. Is that the curve set for the whole animation? Like how much time is spent moving from one frame to another? Thats the only part of this system I'm having a hard time trying to figure out.

    • @porglezomp7235
      @porglezomp7235 3 роки тому

      I know this is two years later so it's not necessarily helpful anymore, but I think those specific points are just purely illustrative. Nonetheless, there *are* actually 4 points in the animation despite only having 2 poses, because those two poses are also used mirrored in the animation cycle.

    • @SketchpunkLabs
      @SketchpunkLabs 3 роки тому

      @@porglezomp7235 The pose thing I already figured out, my question was how "curves" handle interpolation between poses really. The 2 poses holding 4 points of animation is kinda right. The idea is like compressing animation data down, so for the two poses the leg animation has 4 points for one cycle. To get the complete cycle of one leg, you have to merge all 4 leg positions in the two poses then mirror two so it works right with one leg, then you can mirror that good set of leg poses to animate the other leg with a 50% cycle offset :)
      I figured out my answer by learning a few different Hermite curves work. The trick was to create the idea of a closed loop Hermite curve, where the first frame reaches to the last as its tangent value and vice versa. This means any sort of hermite-like curve can be used to interpolate any animation loop to smooth out the transitions between frames. I posted the code way back when I got it working. Been meaning to do a tutorial on it but haven't had time.
      sketchpunk.bitbucket.io/src/fungi_v5/008_overgrowth_cubic.html

    • @SketchpunkLabs
      @SketchpunkLabs 3 роки тому

      @@porglezomp7235 The one thing I haven't fully grasped is how they used a wheel to control the stride? I get that the arc length can help you determine how much distance to travel, but not sure how the wheel can make the legs move further out or closer together depending on how big the wheel is. If it was an Inverse Kinematics thing, then I think I might get how it works but the video had no reference to IK, so I'm still baffled on that part of their system.

    • @porglezomp7235
      @porglezomp7235 3 роки тому

      @@SketchpunkLabs I think that's just based on a blend between the run poses and the walk poses.

    • @SketchpunkLabs
      @SketchpunkLabs 3 роки тому

      @@porglezomp7235 Rewatching that section and I now see that he isn't really controlling the stride. Its really two sets of poses, one for walk another for run. I spent alot of time thinking about controlling stride and did it using IK while dynamically changing a curved path.
      Incase your interested. fungi.sketchpunk.com/demo/ik/stride_test.html

  • @isaiaslafon9329
    @isaiaslafon9329 4 роки тому

    I thing GTA IC V RDR are the most in the other side in responsivness! I love this talk, I'll rewatch it time to time

  • @Nekich12
    @Nekich12 7 років тому +11

    Great talk! Can anyone point me in the direction of some tutorials or guides on how to implement the transitions that David is talking about in this video? Thank you very much.

  • @VinWeasel113
    @VinWeasel113 6 років тому +4

    This is so good!
    I can't stop watching this egg become a flipping wall running humanoid rabbit.

  • @jasonargo4459
    @jasonargo4459 3 роки тому +1

    I've been struggling with how to incorporate this procedural animation approach to 3D assets rendered as pixel art (similar to Dead Cells approach). My best guess so far is that the asset generation is done in something like Blender (which is what I use) but rigging, animation, and rendering are done all in Unity, as opposed to having all of those tasks done in Blender and the animations imported into Unity 1:1. The reason? Parts of the pixel art assets won't translate well into 3D perspective. Take the eyes for instance. It seems no matter how you shape them across the asset's face, there will be camera perspectives that render the eyes with one pixel hanging off one side. To fix that, I'm thinking that I'll need a fixed perspective camera so that no matter what perspective the player has facing the character, their eyes (and other problematic parts) will look as close as possible to a stylized pixel art look.