tag:blogger.com,1999:blog-3064325214589649535.post3742352071589666722..comments2024-03-28T06:52:15.545+01:00Comments on Joost's Dev Blog: The character animation workflow for AwesomenautsJoost van Dongenhttp://www.blogger.com/profile/00569566310604620045noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-3064325214589649535.post-34801090685236933222015-06-06T07:32:17.495+02:002015-06-06T07:32:17.495+02:00This comment has been removed by the author.Anonymoushttps://www.blogger.com/profile/14130246427702845405noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-63360379252727728322013-03-11T06:29:49.160+01:002013-03-11T06:29:49.160+01:00Well, currently we are using a very simple rule si...Well, currently we are using a very simple rule since we are still targeting devices from the "iPhone 3GS" era and since mobile devices use unified memory architecture: stay below 90 mb for all memory allocations. Textures may take up to 75%, 15% - audio, 10% - gameplay structures.pachangahttps://www.blogger.com/profile/12434709367397997534noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-85406823886013773992013-03-10T21:54:29.559+01:002013-03-10T21:54:29.559+01:00We don't plan video memory all that early: we ...We don't plan video memory all that early: we first start making the first assets and gameplay to see what the game is actually going to look and play like. Once we have a bunch of 'final' art, I analyse what is there and how that is going to multiply for the final game, to see whether there are going to be any problems.<br /><br />However, in practice we basically just plan very little and fix whatever problems arise, which is a lot easier on console/PC than on mobile: there is just a lot of video memory. In Awesomenauts we used too much for PS3, so at some point I had our artists optimise their art and they optimised away 50mb in just a week! I also added texture streaming on character textures to reduce what is in memory at any given moment, and by that point texture usage was good enough for release.<br /><br />So not too much planning, not like what I imagine you must be doing on mobile to make it fit. How DO you plan that?Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-71476221297704379662013-03-10T19:55:54.461+01:002013-03-10T19:55:54.461+01:00Thanks a lot for the detailed answer!
We are tar...Thanks a lot for the detailed answer! <br /><br />We are targeting mobile platforms and for this reason video memory budgets are quite low. We simply had no choice but to use the approach I described above. We have no problems with the amount of render calls (it's basically the same as in your approach since the render state doesn't change between limbs). As for fillrate, it is probably an issue however not so serious as in parallax backgrounds...<br /><br />BTW, could you please share how you are planning your video memory budget?pachangahttps://www.blogger.com/profile/12434709367397997534noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-47674502157718593672013-03-10T14:08:55.635+01:002013-03-10T14:08:55.635+01:00Exporting limbs separately would definitely be pos...Exporting limbs separately would definitely be possible. Scripting in After Effects is pretty nice and we have several of our own scripts running on Adobe projects already.<br /><br />However, I really wouldn't want to do that:<br /><br />-It would reduce texture space, but would greatly increase the number of objects I am rendering each frame. In general, my performance problems are usually in the number of render calls and the fillrate. Splitting characters into overlapping pieces that are animated separately would be pretty bad for that.<br /><br />-Our artists use a pretty complex feature set from After Effects that I wouldn't want to replicate in code. Just deforming parts is easy enough. It gets a little bit more complicated but still doable because parts are sometimes swapped mid-animation for frame-to-frame like animation. It gets really complex when we get to puppet pins, though. Deformation like that is more complex than what standard bones can achieve and having a real-time implementation of that would cost me a lot more performance and an immense amount of work to get exactly the same as in After Effects.<br /><br />-Our artists generate an outline around the entire character in After Effects. This outline is not around the individual parts, but around the whole, so doing that in real-time would require quite a complex post-process or rendering characters to a rendertexture first, something like that. Doable, but again, a lot of work to implement and eats a lot of real-time performance.<br /><br />-As for Maya: I am a 3dsmax person, so I considered that, but 3D engines just don't have a very smooth workflow when you try to do 2D art in them. After Effects is great and 2D and is thus way better for that in every way.Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-54792433249154144502013-03-10T13:27:03.376+01:002013-03-10T13:27:03.376+01:00I wonder if After Effects allows some internal scr...I wonder if After Effects allows some internal scripting so instead of producing large sprite sheets it could be possible to export only images of separate limbs with transforms for each animation. This is what we actually do with Flash. However we are not satisfied with Flash: it's slow, crashes to often, etc. So we are thinking of migrating to a more professional tool. May give After Effects a try after this blog post :) BTW, did you consider Maya as well? pachangahttps://www.blogger.com/profile/12434709367397997534noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-21662674819659856642013-03-10T07:33:19.281+01:002013-03-10T07:33:19.281+01:00I see. Didn't realise there were that many sep...I see. Didn't realise there were that many seperate pieces on a character. Thanks for the answer.Anonymoushttps://www.blogger.com/profile/00000494893803878150noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-28564131364857889132013-03-09T23:38:11.905+01:002013-03-09T23:38:11.905+01:00This is an Awesome editor. I've never seen suc...This is an Awesome editor. I've never seen such a complex editor before. When the AI editor appeared, I was simply mindblown.<br />Good job!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-89256920895045659982013-03-09T18:42:12.568+01:002013-03-09T18:42:12.568+01:00That is why you fail.That is why you fail.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-15701924346888702412013-03-09T18:40:11.491+01:002013-03-09T18:40:11.491+01:00Wow Joost, this is truly amazing. Makes me look up...Wow Joost, this is truly amazing. Makes me look up to you guys even more!Yuri van Geffenhttp://www.yurivangeffen.comnoreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-88414494111355910032013-03-09T18:11:44.656+01:002013-03-09T18:11:44.656+01:00Amazing! :OAmazing! :OMaxim Schoemakerhttp://www.monogongames.com/noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-14511145002533751062013-03-09T17:59:48.411+01:002013-03-09T17:59:48.411+01:00Oi a little bit of respect for someone putting wor...Oi a little bit of respect for someone putting work into this.!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-71572165574582191872013-03-09T17:46:07.680+01:002013-03-09T17:46:07.680+01:00Since the tools are so fast, that part is indeed n...Since the tools are so fast, that part is indeed not a lot of work. But tweaking a level until it is really fun and has some unique twist still takes a lot of time and playtesting. Also, AI paths and triggers need to be added, and the graphics need to be made. The graphics are the most work, just like at how much handwork there is in the scheme in this post: http://joostdevblog.blogspot.nl/2012/03/how-we-made-awesomenauts-level-art.html<br /><br />In general, in games, making SOMETHING is pretty quick, but making something GOOD is an enormous amount of work.Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-22870104798106946292013-03-09T17:43:27.205+01:002013-03-09T17:43:27.205+01:00Most editors are in-game and thus written in C++, ...Most editors are in-game and thus written in C++, since they are part of the game project. The AI editor is external and is also C++. The Settings editor is also external and is C#.Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-69215807706731962112013-03-09T17:42:39.181+01:002013-03-09T17:42:39.181+01:00Well, we need to render out the frames to textures...Well, we need to render out the frames to textures in some way. The benefit of using a sprite sheet is that it is one file instead of 200 separate files per character. This also helps a lot because we stream character textures in and out depending on who is in the match, so we only need to stream in 1 texture instead of 200.Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-44468952664101551902013-03-09T17:01:23.716+01:002013-03-09T17:01:23.716+01:00WOW this has got to be the best editor ive ever se...WOW this has got to be the best editor ive ever seen. However if you can edit that fast why not make new maps.<br />I mean theirs only 3. Minus the balanceing plus animation artwork you should be albe to build maps quit quickly. I expect many new things to come and im not rushing anybody im just saying instead of balancing try to focus on variaty. yours truly Roman!!!Romanmaster1noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-56096208808519872442013-03-09T16:12:12.838+01:002013-03-09T16:12:12.838+01:00Amazing! Honestly I had no idea that you could use...Amazing! Honestly I had no idea that you could use after effects for feats like this. <br /><br />In other topic, which language did you use to make your in-house editor? It looks pretty nice!Jose Contrerashttps://www.blogger.com/profile/04853502863046063683noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-33302575948321339582013-03-09T15:27:05.294+01:002013-03-09T15:27:05.294+01:00Very nice explanation and actually nothing too sur...Very nice explanation and actually nothing too surprising. Although, are there some major benefits from baking the animations to sprite-sheets?Anonymoushttps://www.blogger.com/profile/00000494893803878150noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-67414039278703691332013-03-09T14:34:24.645+01:002013-03-09T14:34:24.645+01:00For 3D, After Effects is known to be extremely bas...For 3D, After Effects is known to be extremely basic. If you want to do 3D animation, you are better of using something like 3dsmax, Maya or Blender.Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-8823780500172472782013-03-09T14:23:38.979+01:002013-03-09T14:23:38.979+01:00This is some very interesting stuff. Thank you for...This is some very interesting stuff. Thank you for sharing! It's nice to know what makes this awesome game be what it is.Edward Stone (Darkly)https://www.blogger.com/profile/17679169339496984774noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-87405443441226969362013-03-09T14:12:20.603+01:002013-03-09T14:12:20.603+01:00Very interesting! Thanks for the information. It r...Very interesting! Thanks for the information. It really helps me as a student to learn about real company's workflow! I'm going to try out After Effects for animating a 3D car, Ill look around for doing some 2D animations as well!Anonymoushttps://www.blogger.com/profile/03934222209192204149noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-28045381679431094502013-03-09T14:09:28.172+01:002013-03-09T14:09:28.172+01:00This is really interesting!
I haven't found an...This is really interesting!<br />I haven't found any other games companies that use After Effects for in game animations of anything.<br />Thanks for sharing :)Anonymoushttps://www.blogger.com/profile/12672330524053892179noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-45112820440681639022013-03-09T14:08:09.119+01:002013-03-09T14:08:09.119+01:00Too short, wanted more :P A really interesting rea...Too short, wanted more :P A really interesting read into how you make such amazingly animated characters. Thank you for taking the time to write it! :DAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-25103672686185778442013-03-09T13:45:43.455+01:002013-03-09T13:45:43.455+01:00TL:DRTL:DRWhipznoreply@blogger.com