Is Procedural Animation Worth it?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
my definition for procedural animation is animation that is non-traditional or programmatic in nature oh so you're talking about inverse kinematics right no well procedural animation encompasses more than just inverse kinematics oh inverse kinematics procedural animation it's just all the same thing right i don't want to sound gatekeepy but i've seen a lot of people who haven't implemented procedural animation or inverse kinematics and recommend the gdc procedural animation boot camp talk in this 2014 gdc talk david rossen explains how to use procedural animation even here in what is for many the bible of procedural animation the lines are blurred between what is traditional animation and what is programmatic that's why in my definition i like to cite the non-traditional nature of animation as procedural animation what david rawson does in this talk actually is predefined keyframes and then programmatically blend between them he also does a bit of ik and in some certain scenarios i imagine he programmatically places hands and feet as well i'd argue this talk is a little unfortunately named what he goes into in this talk isn't really a boot camp it's more like a battle plan a procedural animation boot camp would probably be something more like actually going into the math behind inverse kinematics or talking about gate systems algorithms for foot placement all three of these things are very time consuming and it shouldn't be underplayed that inverse kinematics foot placement and locomotion systems are all their own beasts i think it's a bit misleading to treat inverse kinematics as a black box the same goes for the other two for a lot of indies looking at this talk they will look at it as a sort of holy grail or some sort of ideal to achieve but by not going into the technicalities of inverse kinematics it can kind of make it seem like there aren't true struggles to be gone through when trying to implement the basics of procedural animation which i will admit the basics are inverse kinematics you need to start from inverse kinematics and build from there i recently made an intro to inverse kinematics video i probably could have done a better job of articulating myself and maybe i'll make another video in the future but i think i've outlined a pretty good approach to start off in a previous video i've also talked a lot about how i came to procedural animation and why i'm sort of obsessed with it and why i've learned a lot about it in general in this video i want to talk a lot more and be a lot more skeptical about why procedural animation could be a waste of your time it could be something that you're telling yourself you need but you really don't and is unproductive in that sense i'll argue in this video that for the vast majority of game devs it's not really worthwhile to implement inverse kinematics or a procedural animation system which by the way i'll continue to try to not inflate the two but i will give in occasionally just remember procedural animation is a lot of work and inverse kinematics is just one fraction of that [Music] when people talk about procedural animation they tend to gloss over the fact that procedural animation takes a lot of time to learn and in that time you're trying to learn procedural animation you could be working in blender and understanding better the traditional workflow and i'd argue that often the traditional animation will look just as good or better and it'll take less time to learn and it'll be faster to implement some people might disagree with me and sort of point to procedural animation as a good prototyping tool i think with procedural animation it's pretty important that you understand the concept yourself and in that case i might agree with them if you understand inverse kinematics and procedural animation and you have a good system that you can port across games and reuse code and stuff like that then i would say go ahead with that and furthermore if you have a really good math background you definitely should not be intimidated by inverse kinematics nonetheless even if you are really experienced in math you might have a lot of trouble finding good resources for implementing procedural animation inverse kinematics is pretty straightforward there are tons of studies on inverse kinematics partially because inverse kinematics is just such a big part of computer graphics every animation software uses inverse kinematic if you're working in 3d you're probably going to be using inverse kinematics inside a blender or whatever tool you're using on this channel i'll try in the future to try to be a bit more studious with regard to procedural animation and i'll try to outline some simple techniques for implementing locomotion or gate systems it seems right now like a lot of the procedural animation techniques outlined online rely a lot on linear interpolation between foot placement and stuff like that and i think that's kind of a quick and dirty way to implement procedural animation and animation in general that might be a lot faster than traditional animation but it's almost certainly going to look worse to just use linear interpolation and inverse kinematics for your animation [Music] for anyone who's interested in procedural animation and comes to me i will stress caution because inverse kinematics and procedural animation as i continue to conflate and use interchangeably are really bad opportunities for you to get super sidetracked from whatever you're doing in game development it's pretty obvious to me that a lot of people start out implementing some sort of procedural animation system and then rewrite their entire game around that system even if they didn't have that sort of game in mind when they set out i would encourage people to take a look at your game see if procedural animation is required and if it's not be careful about implementing it if you do experiment with it then try not to get sidetracked about it a really good example of this is the youtube channel codeir this guy is a unity dev and he does a lot of procedural animation oriented stuff the main way he uses procedural animation is his main character does a lot of climbing and so occasionally you'll bust out four legs and start climbing up walls this is really awesome and it's really cool especially visually like it just looks like something really awesome that you'd like to share on reddit or twitter or something like that something that could make a really good gif i would say in this case you'd have to be really careful and make sure you're implementing this not just because it looks nice for a gif but also because it serves some fundamental gameplay purpose and i could totally see if you're making a parkour game or a climbing game then procedural animation makes a lot of sense because traditional animation just won't look very good in that case it seems like kodier has been pretty smart about this he's been also making a lot of his enemies robots which is nice for procedural animation because if you screw up then you can always fall back on well it's a robot it doesn't have to look super lifelike it's probably very likely that kodier implemented procedural animation and then a lot about how his game has evolved has sort of stemmed from that key decision at the beginning i'd imagine codier has weighed that pretty well and he knows what he's making surely he knows if he's wasting his time or not i would just be careful if you're starting out make sure that you're implementing the system because it aligns with your game dev goals and what is meaningful to you certainly when i started out trying to learn procedural animation and i first got it working i sort of boasted to myself and felt really good about myself for getting it implemented but really you're not that much better of a game developer for having memorized this technique or learned how to implement it once ultimately when you get into these sort of features you're really messing about with potential scope creep be very careful and make sure you weigh the alternatives and make sure you're not wasting your time or alternatively if you have plenty of time to spare then don't be afraid to get started in inverse kinematics if anyone needs help with inverse kinematics or procedural animation in general and wants my input feel free to dm me on discord game development really isn't this competitive thing it absolutely is not a zero-sum game and i think it's important for us to cross-promote each other and help each other with each other's projects when necessary i wish anyone best of luck who is working on their own inverse kinematics or procedural animation system what's up yeah my next example of a project that used procedural animation is rainworld rainworld is a 2d artsy fartsy metroidvania game where you're like a white slug cat and you climb through holes and try to escape predators now the fundamental gameplay of this is really awesome george jacobson started this project from a really awesome prototype where he used procedural animation and people really liked the look of what he made and encouraged him to go on further however after that prototype it seems like he ran into a lot of trouble with finding a place for his game beyond it just being kind of a really cool tech demo i've struggled with this myself with my bird demo and i have an example coming up of another game which ran into a similar issue with its own tech demo in the end jor jacobson was able to hire a composer on the project with him who also helped him define some of the game's story elements i should emphasize that this project grew from a prototype and eventually he got it made into a game but if you kind of look at the reception of the game a lot of what people talk about not necessarily is the lifelike movements of the characters but more just the dynamics of them in general and the story of the game and the atmosphere of the game all the while during development george jacobson had to create new creatures that worked with his procedural animation system so he had to basically define a workflow for himself throughout the entire project and then he sort of had to bet and gamble on the fact that it would be worth it i think it totally was worth it in rainworld's case climbing is pretty awesome in this game also there's a super massive diversity of characters and procedural animation really just helps with that a lot however i'd be careful make sure in your game if you're implementing procedural animation because of climbing or because of some weird scenario between two characters interacting then be really careful and make sure what you're working on is not a novelty and actually an important part of your project or an important part of your game's story or general vibe although i guess just it being a cool vibe probably isn't a very good justification for implementing that and again it's not that you need to be justified in doing something as i keep saying just be careful a lot of procedural animation looks worse than traditional animation and in the end people might just not notice the difference i'll get into a situation where procedural animation is absolutely required this game totally needed procedural animation from the start and it's a key factor in the success of the game the game i'm talking about is the 2008 evolution simulation game spore spore really defined my current mission as a game developer and sparked this interest in procedural animation for me i'll talk about that more in a future video so if you haven't played spore spore is basically about making creatures and um well there's not really much more to it than that i guess you could say you evolve your creatures and you get your creature from a cell to a creature to a tribe guy to a civilization guy to a space guy but i'd be lying to you if i said that this was the defining aspect of this game really what made spore special was the creature creation system and the way they handled content pollination basically in spore you can share your creations to the sporepedia which is a multiplayer sort of database four ended up being this sort of set-piece game where you see other people's creations and that's cool and all but the final mental gameplay isn't very interesting or compelling what is really compelling about spore though is creating a creature and slapping parts on your creature and seeing your creature react and seeing how your creature moves around despite whether your creature has been carefully crafted or thrown together made to resemble some sort of phallus seeing your creature move around and spore is a really cool feedback loop which they definitely should have capitalized on more and then procedural animation was totally necessary for this game but also they blended a lot of elements of traditional animation maxis the game studio responsible for making sport started out with a very physics-based non-deterministic system for animating the creatures something more akin to what you would call procedural animation sports still used procedural animation but in the end they needed animators to work on the game so they made a tool basically to parameterize the animations so that they work to a bunch of different creatures while still allowing the animator to write predefined animations and as i've mentioned before the difference between procedural animation and traditional animation is really blurry you can say definitely on principle that procedural animation is non-traditional in nature but often what we call procedural animation is on a very rocky spectrum of to what degree your system is programmatic and what features you use from traditional animation and what features you blend in from the programmatic approach parkour games once again are a really good example of this because you probably haven't noticed when you played the games but surely games like assassin's creed use a ton of procedural animations to achieve parkour it's not all just pre-scripted stuff they have to do a lot of well i guess you could say fabric simulation is procedural animation but in general parkour is really tricky and climbing is really tricky and they have to blend procedural animation in with that and you could say that's non-traditional so therefore ubisoft is using procedural animation which doesn't really feel right but it's technically true going forward of course i'm gonna keep saying colloquially procedural animation traditional animation because it's just useful to talk that way when you really get into the dirt of this there's not really a difference between traditional and procedural animation not a clear difference anyways there are definitely parkour games that also use traditional animation they really just kind of have to rely on the first person camera approach pre-scripted animations look weird in 3d but not really from first person first person games and first person shooters are another example of the blend between traditional and procedural animation often these games use traditional animation and keyframes to define how you hold your gun and what your feet look like when you look down but under the hood they also use inverse kinematics for the arms to make sure that you're not bending arms in weird ways and also for placing the feet i'm pretty sure halo reach at the very least use some sort of inverse kinematics approach for how they use foot placement on the player models we should also remember in the category of games that use what we'd call procedural animation that also encompasses games like game beasts or gta 4 or xanama with its physics-based combat in the current time it's also really easy to use a traditional approach to animation and then if you're using something like the unreal engine later on use some sort of active ragdoll system on top of that so even if i disagree with david rosen's naming in general framing of his of his gdc talk i do recognize that for when it was made in 2017 we live in a different time now there's probably not nearly as big an obsession with procedural animation in 2017 as there is now and also david rosen was totally right about the fact that we should let code and animation work together a lot more fluidly and we've seen that play out in systems like unreal engines active ragdoll systems and basically any aaa game by default it being sort of expected for some sort of procedural animation approach to be implemented whether that be foot placement ik or as i've mentioned many times active ragdolling in a game like gta 5 gta 5 still has active ragdolling but uses a traditional animation approach for every other situation actually it's funny that i'm sort of criticizing david rosen's talk at all because i'm basically just listing off things that he mentioned in his talk in the category of why you should use procedural animation and where it would probably make a lot of sense to get invested in it is basically if you have a lot of time you think you want to do procedural animation because it would be more fun where it helped you engage with the project more i totally think that's valid and that's basically the reason why i am doing procedural animation and games that i work on i generally find that i'm not really a game designer at heart i sort of set out to make a game and learn to program and then in that process became more attached to the idea of programming than the idea of game design not to say like it's part of my identity but i just find it so much more fun i don't actually like making games i don't really get much enjoyment from finishing games as much as i do working on challenging systems and i in my personal life need to try to balance that so i can get what i find meaningful finished and also so i don't get super burnt out and hate whatever i'm working on if you like this video be sure to subscribe because in the future i will be talking more about spore and how that's had a big influence on me and sort of defined how i make games as well as i'll try to iterate on some of my ik videos sort of improving that video that i made and also just going a lot more deeper into procedural animation i'm doing a lot of research right now on animal gates animal locomotion and implementing a gate system which i've implemented sort of simple state machines for procedural animation but not really a good proper full-fledged gate system and if you're interested in that sort of thing i'd encourage you to stick around if you want to help me educate me think i've missed something or if you have questions relating to inverse kinematics or literally just programming in general feel free to join my discord and ask questions or interrogate me if that's what you'd like to do also i have a patreon set up if you like these videos you'd like to support me then consider subscribing there i crashed my car and i'm stuck at my house so throwing a couple shekels my way would be highly appreciated
Info
Channel: Benjamin Blodgett
Views: 65,517
Rating: undefined out of 5
Keywords: gaming, gamedev, procedural animation, spore, codeer, rainworld
Id: H70kLqA7LaU
Channel Id: undefined
Length: 19min 47sec (1187 seconds)
Published: Sun Feb 27 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.