The clearest example of working smarter instead of harder
@TheGooGaming4 жыл бұрын
Seems genius but all these processes make the game run terrible on pretty much any hardware, which is honestly a shame
@phynx17564 жыл бұрын
@@TheGooGaming It's more so optimization. Its a bit more taxing but still.
@TheMrTape4 жыл бұрын
@@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.
@prooxy12344 жыл бұрын
trolln
@TheMrTape4 жыл бұрын
@@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.
@speakingmia72985 жыл бұрын
It’s a video back to 2014 and it still looks unbelievable in 2019.
@Icewind0074 жыл бұрын
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.
@TheSssarasss3 жыл бұрын
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
@Marcos10PT3 жыл бұрын
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!!
@falxie_3 жыл бұрын
I love how much applause he got for this, well deserved
@isaiaslafon93294 жыл бұрын
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
@pajeetsingh5 жыл бұрын
He has done more programming than entire Bethesda staff
@pedor59654 жыл бұрын
tbh that isn't saying much
@BuranStrannik4 жыл бұрын
It is future of game animations here.
@awashmicrobe6 жыл бұрын
and I'm here learning block breaker
@Noyssu3 жыл бұрын
this is gold thankyuuuuuu
@slmjkdbtl4 жыл бұрын
madly useful
@amanzar85157 жыл бұрын
Excellent!
@GusLapchatiy4 жыл бұрын
16:53 maaaaan, i'm so stoned, this shit is good!
@johnvoidman66163 жыл бұрын
How does it really work with two frames? Shouldn't it be multiplied by 2, each pair for a foot.
@StormySeb4 жыл бұрын
The fact that I managed to understanding even 50% of this is a testament to how good he was at explaining everything.
@mishikokenkebashvili8793 жыл бұрын
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 Жыл бұрын
@@mishikokenkebashvili879me too lol
@JoshuaReyes7 жыл бұрын
This is a awesome talk, this guy needs to teach a course on this.
@simplyble7 жыл бұрын
he would actually make some great courses if he did
@mikeluna20267 жыл бұрын
Agreed, I'd really love to have the know how to do such good outstanding animation.
@EnriquePage916 жыл бұрын
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
@EnriquePage916 жыл бұрын
I know I've been researching this topic for over a year at this point
@kuurozen16 жыл бұрын
Enrique Have you found any other good ones you can recall from your research?
@jonathanxdoe7 жыл бұрын
Incredible how solid it looks compared to a game like assassin's creed with hundreds of animations. The power of code
@magnusm46 жыл бұрын
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.Orange6 жыл бұрын
it looks lifeless tbh
@satellite9646 жыл бұрын
Power of math.
@ryanmartin80606 жыл бұрын
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.
@jeffwells6416 жыл бұрын
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.
@michaelabildgaard6465 жыл бұрын
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
@BiosElement5 жыл бұрын
Only took em 9 years...
@jwadaow4 жыл бұрын
@@BiosElement A lone developer with limited funds.
@jeffwells6414 жыл бұрын
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.
@talanock4 жыл бұрын
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.
@m3rl1on4 жыл бұрын
@@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.
@tahaelaradi55397 жыл бұрын
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.
@OlinaChang4 жыл бұрын
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 kzbin.info/www/bejne/qqm0kqiega6caqc kzbin.info/www/bejne/qKqZc6GbqsR4jaM
@Donotargue7 жыл бұрын
This is amazing. Didn’t know you could get such detailed movement/animations with so little keyframes.
@joroc4 жыл бұрын
You and all game producers
@maya_gameworks6 жыл бұрын
Jesus what an INSANE talk! U can literally feel ur brain growing.
@ClokworkGremlin4 жыл бұрын
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.
@LeeAndersonMusic4 жыл бұрын
The first alphas came out in 2008, which already had pretty much exactly what you see here
@flubnub2662 жыл бұрын
@@LeeAndersonMusic Can confirm, I was there!
@jakes-dev13375 ай бұрын
10 years (since the demo, NOT even the game) and this is still my favorite GDC
@SnackZaddy Жыл бұрын
First do no harm to gameplay is why I'm done with rock Star games. They are mechanically not fun to move around in. Having to wait a full second for a turn around animation looks incredible and realistic, but when you're just trying to run out of gun fire it is really tiresome. Not to mention things like when your character literally just trips and falls when you clip some random geometry.
@animatrix14904 жыл бұрын
I really love that basically every single time ragdoll footage plays people laugh. It's kind of adorable
@Twisted_Logic7 жыл бұрын
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!
@ClayMann7 жыл бұрын
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!
@fappylp25747 жыл бұрын
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.
@ZEGTHEFISH6 жыл бұрын
You could actually turn the inhibiting factor into a gameplay mechanic for more clumsy armour being perhaps more protective but less motile
@philsburydoboy6 жыл бұрын
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
@spartanwar11856 жыл бұрын
Either inhibit movement or make a good PRACTICAL armor design
@tiagodarkpeasant6 жыл бұрын
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
@zaeche7 жыл бұрын
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.
@ThePhobiephozee20007 жыл бұрын
Yes, I agree!
@rurzan7 жыл бұрын
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?
@zaeche7 жыл бұрын
(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).
@MajkaSrajka7 жыл бұрын
@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 ).
@EnriquePage916 жыл бұрын
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".
@BigFreakingCacodemon6 жыл бұрын
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.
@QuietSnake-xs5vx7 жыл бұрын
Fkin genius...breakthrough man
@MiRoDevYT6 жыл бұрын
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
@ProblemBears7 жыл бұрын
Wow this is great!
@neolynxer7 жыл бұрын
Better animation flow then assassin's creed. In 13 keyframes. (yeah-yeah, and, like, 15 years of development, but still)
@neolynxer7 жыл бұрын
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.
@scottcourtney85817 жыл бұрын
+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.
@Twitch3757 жыл бұрын
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.
@rafaelr67926 жыл бұрын
Just a question,so am i able to do the same in unity?
@alxl.9296 жыл бұрын
EXACTLLY
@LouisHong977 жыл бұрын
what a great talk. extremely engaging throughout
@demetresaghliani90486 жыл бұрын
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?
@Ertie5 жыл бұрын
Keyframes in blender, then logic and physics and math and stuff in the engine
@arthurfacredyn4 жыл бұрын
I say, contact the dude, his info is at the end of the vid
@seraaron3 жыл бұрын
Wait, this guy *made* Humble Bundle! Oh wow, that's kinda crazy to think about :0
@CubsYT3 жыл бұрын
My favorite GDC talk. will never stop rewatching this
@80sJoel25 күн бұрын
Guy is the Jesus of game dev programmers.
@bigalkool28973 жыл бұрын
what a massive CHAD!!!
@yasserarguelles42457 жыл бұрын
"Pretty simple trigonometry"
@bignasty3897 жыл бұрын
We teach trigonometry to teenagers. Any eighteen year old with a public school education should be familiar with the concepts enough to apply them with a little bit of study.
@DarienCaldwell7 жыл бұрын
yeah if it was simple, everyone would be doing it.
@bignasty3897 жыл бұрын
That isn't true. There's still a large amount of work that goes into effectively applying these principles. Most people aren't learning the technology and spending the hours necessary to create procedural animations because it's a niche skill. However, if you're working with computer graphics, then you are "doing it". If you've used OpenGL you're working with simple trigonometry and linear algebra. Just because the principles are simple doesn't mean building the system to use it, or coming up with the idea independently is simple. Let's stop mystifying math. Trigonometry is one grade after algebra.
@DarienCaldwell7 жыл бұрын
This isn't about Trigonometry. Yes that's simple as a principle. it's about what he's doing, making a whole animation system replacement without any real animations. that *Isn't* simple and is what people are talking about. It's not simple to do, no matter how much Trig you know. Nobody is 'mystifying' math. Math isn't even part of the discussion. But you know, since you brought up the discussion of "Mystifying" math, Here's a gripe to ponder. Pick any math subject, for random example, Verlet Integration, and look it up: en.wikipedia.org/wiki/Verlet_integration Now tell me, why do they only present it in 'secret mathematician's code' instead of layman's terms? Or better yet, as simple to understand computer code? The page even has a warning about how it's too technical to be understood. If you want to 'demystify' math, stop using coded language to present it. It's designed to keep people from clearly understanding it. I don't see anyone working to improve this type of thing. /rant.
@bignasty3897 жыл бұрын
I'm over here trying to find the exact moment this quote was from, because when I responded I thought it was within the context of a response to a specific technique but I couldn't find it in the few minutes I have to search and respond. So, if it was more of our narrator's humble oversimplification of his creative approach then I'm sorry for being so combative when you were just being cheeky. I do agree with everything else you've said. Ideas aren't valuable wrapped up in layers of notation being used as some shibboleth useful only to the people who already know it. I think we all have a tendency to reflect ourselves upon others and those with knowledge can forget that our brains reference data much more easily than they write it. The ways that something makes sense are as important as the ways that it doesn't and we need to understand both to be effective communicators.
@randomrandom4504 жыл бұрын
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.
@LuisCassih4 жыл бұрын
but how does affect on the perfomance to do these calculations for multiple characters? are the differences huge enough to not be worthy?
@-BRODEN3 жыл бұрын
@@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.
@MicrowaveHateMachine7 жыл бұрын
Arma needs this so bad lol
@Roxor1287 жыл бұрын
Hmm... Interesting! You can go from essentially Wolfenstein 3D type framerates to pretty smooth so quickly, just by being smart about using interpolation.
@Marcos10PT4 жыл бұрын
Now I just need a tutorial on doing this in Unity :D
@gegen_den_strom4 жыл бұрын
or ue4^^
@FranciscoSciaraffia7 жыл бұрын
Oh man, i need to rethink my entire life now... Loved this talk!
@CherPsKy6 жыл бұрын
Sargas Evigmae How did it go?
@Gurem4 жыл бұрын
Seems he's still rethinking.
@catinwall42564 жыл бұрын
@@Gurem I hope he has a rethinked life now.
@DoomRater4 жыл бұрын
Four minutes in and I can't look away. It's so beautiful. Every developer needs to see this.
@Nekich127 жыл бұрын
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.
@brianshannahan69836 жыл бұрын
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.
@MaxRostas6 жыл бұрын
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.
@490o2 жыл бұрын
I always found the movement in most 3D games super awkward. Maybe I should check out this game
@tomascampo22836 ай бұрын
man, overgrowth is an amazing game, you did a fantastic job
@alexmighty6934 жыл бұрын
This guy is awesome at explaining stuff. You can tell that someone is really good at something when they make it look/sound easy.
@sarthakvinchurkar5 жыл бұрын
But can anyone explain how exactly can I use interpolation and basically blend two animations smoothly in Unity? is there an option in the animator window or something? or what? (I've recently begun learning Unity and haven't gone much into animation yet as this is what I was afraid of, that I'd have to create loads of keyframes manually, without mo-cap. But now with interpolation it seems easy, but idk how. like after I create the basic keyframes, what/how do I do it?
@soliderarmatang56643 жыл бұрын
When this guy was born he taught GPUs how to run his game.
@LittleMikeStarCraft4 жыл бұрын
I miss Dave's voice from his updates. Haha. Brings me back to the good ole days.
@jtsiomb7 жыл бұрын
Brilliant idea. I'll definitely try this approach next time.
@Dahxelb5 жыл бұрын
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.
@EnRandomSten3 жыл бұрын
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
@MondoMurderface6 жыл бұрын
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.
@rumfordc7 жыл бұрын
this is one of the most helpful videos i've watched
@nmtkawb7 жыл бұрын
This is definitely one of the best talks on GDC sessions. It was simple, informative, yet entertaining.
@gaia353 жыл бұрын
crazy how the questions asked weren't about what he was presenting. Animators can do whatever they want, the demonstration shown had 2 animation frames, this is the simplest example he could have presented the "technique" on.
@blarghblargh3 жыл бұрын
"animators" didn't exist on his team. that's what the whole presentation is about - doing as much as possible in procedural animation instead of with manually authored animation.
@kingenidjingeln4 жыл бұрын
This guy is a great speaker, I was clued to the talk even though I'm not a game designer.
@BudLeiser4 жыл бұрын
This guy is like a quiet humble genius. Oh wait is that why it's called Humble Bundle?
@SaltedMallows4 жыл бұрын
Man OVERGROWTH IS OLD AS HELL How does it Still look this way if its still beong worked on??? When will its big full release happen?
@Notius4 жыл бұрын
It was released in 2017, this talk is from 2014.
@SaltedMallows4 жыл бұрын
@@Notius Still After all these years and all this talk of production This game just doesnt look impressive to me after all this time. It looked cool back in the day because the fluid combat with dynamic reactions was a little bit unseen at tye time but alot of developers have stepped their game up. Overgrowth just doesnt seem thave evolved into anything greater or at least I cant see it
@_fudgepop014 жыл бұрын
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!
@mildpass4 жыл бұрын
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.
@kadir6411 Жыл бұрын
Inspiring!
@LeeAndersonMusic4 жыл бұрын
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
@porthothedev24533 жыл бұрын
Me: Well, it sounded easy! I will try it! Me after 3 days: It its not easy! And i probably didnt understand not even half of it!
@Chris-pv2my6 жыл бұрын
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.
@superdepressif60477 жыл бұрын
Where can I find more information about stride wheel in animation ? Nice talk.
@SketchpunkLabs6 жыл бұрын
trying to implement this myself and couldn't find any information. For the stride or probably call it he radius of our wheel. I'm thinking about the distance from center to the furthest the foot touches the floor or calc the the overall distance the foot travels from back to front which can become the radius. So if we can get the overall radius of a circle, we can form a wheel. Now the part i'm hung up on, if I rotate a wheel, how do I determine how much distance is covered by one full rotation of a wheel. So if I know the distance traveled per rotation, I can then divide that distance by 360 degrees. So from there, if I have a rotate speed of 10 degrees per second, I can then say something like 10 / 360 * RotationDistance which in theory should give you the correct speed to move at. So I might be wrong but thats my plan of action. If I ever get it to work I'll probably reply to this thread.
@SketchpunkLabs6 жыл бұрын
Learned that using the circumference equation of a circle will give you the length in whatever units. C = PI * Radius * 2. So we just need to figure out the stride length which would be the radius of the wheel, from there you can then calc speed based on rotation. Something like like CurrentRotationIncrement / PI * C = Forward Movement.
@SketchpunkLabs6 жыл бұрын
So got some things working. So for the stide wheel, its just a wheel who's radius is the length of of the stride. Decided to go one step further and try using the ideas with a sphere and created an online tutorial and code on how to move a circle/sphere and based on the increment of rotation, you can determine how much to move it. kzbin.info/www/bejne/qqm0kqiega6caqc Then I went a step further and decided not to try this stride wheel idea and try tracking feet position and it actually worked out. I can move an armature purely by tracking the feet and when it touches the ground, you start moving based on the current foot velocity in reverse. Add a lil friction and a constant update of velocity and I can make things move based on where the feet is taking the character. This is probably a much better solution since you can just use any animation and not have to build a wheel to determine speed So another vid and code samples for this idea. kzbin.info/www/bejne/qKqZc6GbqsR4jaM
@itsnass42689 ай бұрын
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.
@mehdisaffar6 жыл бұрын
Can someone please help me with the bicubic interpolation part? I don't know how to adapt the blend tree in Unity3D to use bicubic instead of whatever internal interpolation method it uses
@LouSaydus6 жыл бұрын
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.
@VinWeasel1136 жыл бұрын
This is so good! I can't stop watching this egg become a flipping wall running humanoid rabbit.
@samsibbens81646 жыл бұрын
That shit is hard, I'm trying to make a 2D running animation using inverse kinematics and so far it looks like a chicken.
@Oxmond4 жыл бұрын
Wow! Great video! Really, really cool animation examples! David Rosen is a TRUE animation artist! 👍🤓
@mentoleh Жыл бұрын
hello, i started doing my own little game and i wanted to knwo how to do the "weel" thing with the key frames on unity, if any one know or knows a vid, it 'd be cool.
@jakes-dev13375 ай бұрын
Make a circle. Rotate it. When its up and down vectors touch the ground, play left foot forward. When the left and right vectors touch the ground, play the right foot forward.
@joseph.cotter4 жыл бұрын
So that whole "have to keep center of gravity over feet" is the major bugaboo I hear related to animation over and over. It is not correct in any way. Walking is an act of falling forward (or backward or sideways depending on direction of motion.) any motion is in fact off center in the direction of travel until we come to a rest state. The faster the motion in a given direction, the more one will in fact be off center of gravity. The act of walking is slow enough that this is subtle (but if not taken into account we get a very stilted walk cycle.) Then we transition into the image of a gymnast doing flips in the air right after this statement where the feet are flying in an ark around the body. How much more contrary to that statement can we get? This is so basic I really have a hard time with the fact that the center of gravity over feet when referring to motion is still so often said. Having said that, the rest of the presentation was very interesting.
@alexcinos37567 жыл бұрын
Amazing, just amazing work
@Akshaizo6 жыл бұрын
Excellent talk, David. It's always interesting to look into animation and the various choices that go into animation.
@muffinberg79603 жыл бұрын
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.
@jadefae3 жыл бұрын
Wow that's really smart
@TheAmbientWarrior5 жыл бұрын
Wow I think this just became my favorite GDC talk.
@skywalker7786 жыл бұрын
Well, it's my second year in making games in my spare time..
@dunravin2 күн бұрын
She's accelerating at 9.81m/s^2 downwards even when she's on the ground. Otherwise she would weigh nothing while touching the floor and would not be able to exploit friction to run and jump.
@TalDSruler4 жыл бұрын
I would really, really love a full break down on how to make something like this.
@thomasrosebrough90624 жыл бұрын
The same guy who made receiver also started Humble Bundle??
@Bloodywasher3 жыл бұрын
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.
@Bloodywasher3 жыл бұрын
Physics and mechanics in games have always inspired awe in me
@cloudshaifr3 жыл бұрын
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.
@Oxmond4 жыл бұрын
Wow! Great video! Really, really cool animation examples! David Rosen is a TRUE animation artist! 👍🤓
@grixxy_6662 жыл бұрын
4 years later and I'm still looking for a more indepth talk about his process
@vrhyrsh2 жыл бұрын
you could just refer to the source code for extra details - the game was open sourced recently.
@grixxy_6662 жыл бұрын
@@vrhyrsh thanks I didn't know that!
@SketchpunkLabs5 жыл бұрын
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.
@porglezomp72353 жыл бұрын
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.
@SketchpunkLabs3 жыл бұрын
@@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
@SketchpunkLabs3 жыл бұрын
@@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.
@porglezomp72353 жыл бұрын
@@SketchpunkLabs I think that's just based on a blend between the run poses and the walk poses.
@SketchpunkLabs3 жыл бұрын
@@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
@kerynadcock22264 жыл бұрын
Dare I say: You're a genius young man! Thank you for sharing your innovative approaches.
@hi_its_jerry2 жыл бұрын
i regret not watching this sooner.
@ashleywhite88884 жыл бұрын
Line of action > "Center of mass" I'll take dynamic over realistic, thank you.
@yadav-r2 жыл бұрын
Damn, this is gold stuff.
@jasonalen74596 жыл бұрын
16:18 How that one friend plops onto the couch next to you when you say "pizza party"
@cheekymeeper5 жыл бұрын
Please forgive the potentially simple questions, my background isn't in game development, but I'm incredibly interested. Firstly, is he using any particular engine, or is it all something he's made? I understand many engines support frame interpolation, but some don't give much control over interpolation methods. I'm guessing he also does the sensing of obstacles using some kind of collision sphere surrounding the character which when something enters triggers the interpolation to the safety keyframe/s. Also, I've always wondered, how do games do foot placement for animations? As in, placing a foot correctly on the terrain below, changing step height and even body position dependent on surface. Thanks for any answers :)
@CloudlessStudio12 күн бұрын
If you are making a platformer this is a must watch