[Music] here we go hello everyone my name is Marco Renzo welcome to our presentation the admission pipeline of America's rabbit Kingdom battle I'm the animation director atavism Ilana and I'm here today with a mother/son Queenie our animation technical director ITV's of Milan and it's amazing to have you hold here today we are super super excited to be able to show you some of the tools who have been working on in the past few years and talk a bit about the reason now why they've been necessary in the first place but before we start let me show you a quick trailer for those of you who do not know the game [Music]
and [Music] [Music] [Music] [Applause] [Music] so what kind of game is exactly Mario Plus rabbits kingdom battle well it's a
Nintendo switch exclusive turn-based tactical adventurers during Ubisoft rabbits and of course Mario and his friends the project has been developed in the last four years by use of Milan and duties of Paris in collaboration with Nintendo and the gameplay is composed by two main parts there's an exploration where the player is free to move around assault puzzles find coins and collect items such as new weapons artworks and music drugs and a tactical combat phase and here the player can plan the strategy - in the bottles you can use different characters choose different moving and tech abilities different kind of weapons and fight various kind of enemies and unlock and upgrade skills that will help you progress through the game and beat increasingly higher fights so here's a
quick overview of what we will discuss today the talk will be split into parts and the first one I'll show you how this project came to life and what kind of goals and constraints we had to taking to consider when planning our pipeline this would be key to understand how these factors translated into our tools in the second part in fact starting from these requirements tomorrow we'll discuss the technical implementation of some of them showing the functionalities that made this project possible so what did we start we started from here paper prototype and then digital one me with the unity 3d and a pipeline based on mushroom Miller and I still remember how surreal at the moment I was told we were going to work with Mario was a gay movie Mario and the rabbits it just sounded insane but as crazy as it sounded we sure didn't want to mess it up I mean you don't get every day the chance to animate Mario let alone to
present a prototype staring him too in itself that's why we wanted to be as a respectful as possible with both brands Nintendo and Ubisoft appears so we started meticulously previous games looking for references and going through them frame by frame and try to learn as much as we could as the fastest oh good because the plan was to show something playable in just a few weeks so we managed to pack a prototype and present it to Miyamoto son and his reaction was great he did not expect something playable and he was actually surprised by the amount of detail we put into it but he also added something that during that meeting something that would completely change our approach to the game he literally told us making Mario game that has never been done before meaning it to be innovative proposing something new fresh somewhat unique and
unusual and receiving this feedback we realized that he was encouraging us to fully express ourselves to get out of our comfort zone and try the unexpected and we deeply thought about his advices and defined what became the core pillars of our game based on our passions as game makers of course but also as gamers so first one which shows an unexplored the genre for both the mario and the rabbit ip's and as you can imagine this decision brought challenges first of all it's a general usually considered as complex and for a very specific public of dedicated players secondly it involves many new mechanics and interactions between characters now from an admission point of view this is a huge huge deal suddenly not only we had to bring to life probably the most iconic character of the whole industry
but also making perform actions he had never performed before and make it look believable and acceptable by defense now add the rabbits to the equation and it was challenging once we decided to Shara we focused on the mood we wanted for the bottles and have you ever played with water guns in a hot summer afternoon or maybe witness troubles during the winter that's the kind of mood we wanted to convey you wanted to be colorful we wanted to be playful joyful and the video here shows the very first proof of concept of our color system it should give you an idea of the tone we set for the whole combat system of the game and then Carters our goal was to communicate their personalities and let them feel well grounded into the world and as I said earlier having maternal Carter's performing new actions
was a challenge by itself but at least their personality is well defined with tons of reference to study and analyze the rabbits however historically always had a generic personality and the challenge we set for ourselves was to make each one of them feel unique we did not want them to simply cosplay as the very intended counterpart we want them to have a unique personality thought process and acting choices which is basically a dream for an animator okay so we didn't divide our core pillars that acara hide-and-seek moon unique carter's it was time to implement them into the game and focus on the mechanics on our side on the animation side though to be able to achieve these goals we had first and foremost answer is simple yet complex question how do we mix imbalance characters so different I mean just look
at that and let's be honest here I guess the reaction most people have when they hear for the first time about a game it's in the Mario universe and the rabbits is at the very least surprise maybe confusion so it was obvious that wheat was of the utmost importance for us to find a way to mix these two worlds in a way Felton even fresh but also believable and the way we approach this problem was letting the two brands they mutually influence each other for example from Mario like I said earlier the rabbits gained a strong personality and unique personality every rabbit here is a parody or an exaggerated version of the Nintendo counterpart but we didn't stop there of course in fact the usual clarity of Nintendo characters posing has been applied to the also two rabbits strong line of actions clear silhouette great relativity the concept of posing as a mean to communicate gameplay rules although are all state of the art elements in Mario games and these
elements have been key for us because they made made the actions to read clearly from the gameplay camera which in our case is quite far away and communicating mechanics without overloading the player with the information from the UI here's some examples with the rabbits and their shapes are challenging a huge head very short legs and to push her poses we focus on the line of action of the two main masters hadn't also and use the years to strengthen the line like in the poses here of a rabbit Luigi and the rabbit yoshi for example all to create a rhythm with s-curves going through their bodies like in the case of rugby pitch and Robin Mario the timing and spacing have been affected by this mix as well and in most cases it has been they've been inspired by Mario for example cycles damaged animations locomotion speed have all been set and tuned using Mario as the reference that since it's always present in party as a result
rabbits are now more organic and way less snappy compared to the Past because Jerry speaking their animations less longer here's an example two walks and if you look at the rabbit peach you can notice how her walk is as much as lower compared to the typical generic walker of the past and one of the reasons we made it this way it that it just felt more natural when coupled with Mario he's not like example with the damaged animation and it's interesting to notice how the emissions last exactly the same number of frames but the Ziggy on the right which is one of our enemy archetypes it's much more exaggerated in terms of deformations and spacing moreover we realize that the cartridge should not look in pain and therefore in our game they are not suffering and they do not die our heroes are just knocked out and enemies are set free from a malicious influence on the other hand you rabbits
they have introduced their humor and their craziness to Mario's world it was key for us because it created the contrast and that to push the personality of the characters we wanted to develop a new take on a Mushroom Kingdom keeping its familiar tone yet feeling fresh at the same time we try to push the humor both on gameplay and cinematics now here's a couple of examples from gameplay and we look for every opportunity to add some humor like damages bosses just love Rubicon yes awesome simple runs or losing animations and as you can see here on the left Robbie peach really hates losing and here are
some more examples from this is our cinematics as you can see here we had the fun playing around a bit with the personalities and relationships between the Carters so which one be peach rabbits and vici [Applause] Robbie peach Mario picks and here's the sequence which I believe is perfect together all these elements [Music]
turning down that big power despite is clumsy buddy duh why screaming man amia believe me clay and cream or what the speech [Music] and I truly believe these are examples of interactions that have been possible for us to make solely because thanks to the rabbits and their innate ability to break the rules and get any culture out of their comfort zone obviously we had to mix the cartoony style of both a peas but we wanted to push forward exploring new directions in order to do this we exaggerated the deformation so especially through squash and stretch to
achieve a more organic feeling wigs have been built to support these kind of animations and deformations so here are some a couple of examples with a rabbit conga and as you can see generator has really a lot of freedom in the way they can adjust and change in the shapes of the Carter sometimes too much probably and you can also see how specific each one of them is due to huge differences in terms of the design and size between all the Carters hears and enemies an example of deformations is the use of a smear flames and the rabbits usually feature full-body extreme deformations while for the nintendo cutter they are limited only to the extremities and use
very sparingly so here's an for example rugby pitch or what rub it and here you can see how the whole masses is changing it's the forming while for luigi has limited only to his feet and hopefully you won't notice it in real time so we had higher goals set on a specific style it was time to focus on the actual implementation of some of the core mechanics and we first started from the locomotion we actually have two types of locomotion in combat and during exploration phase and each one of them has its own set of specific animations they're both code driven in order to achieve a classic arcade feeling and plus it allowed the designers to tune it as much as they wanted without having a strong dependency on our work and the same is true for special movement abilities like the dash or the team jump
and here you can see an example of tempo of luigi chain these actions - Incan animism and jumping on top of a rabbit Luigi and going back to cover speaking of which our cover system is actually an animation driven this allowed the animators sir to push as much as possible interactions between the cutters and the environment and it is especially true during the combat phase as the cutters interact a lot with covers here for example rabbit Ouija leaning out off of enough Hoover we have a total of several positions between low and high ones and as you can see in the video each position is based different idle also having unique Carter's means that each one of them needs a different way of the in cover and the transitions which have
been for us equally important we spent a lot of time and attention to make sure that each one of them stayed true to their Carter they are not simply a bridge between state aliens at B but there are key to convey the personality if you look at a video that we rabbit the ocean rabbit Mario's which side of the cover tells a lot about the Carter and here's another example of one of our enemies playing different animations so depending on the starting and ending position so I left right front back also back right to left front and so on and another area that's worth mentioning is a targeting mechanic and from a gameplay point of view its goal is to easily communicate to the player if the targeted if the target will be hit or not if the character is hiding it means no chance of success and also you can see here the line of action of Robbie's
mark being pushed and the characters of course add their own personality so they react accordingly so here's an example with one of animism and the reaction is also based on the position of the attacker so if Mara is in front of him he will have a low reaction but if he's in on his side he will react differently and of course again in different heroes different reactions or rabbit Yoshi will probably act differently compared to Robbie Mario we love Italian act English's what we create aliens so we can so another tiny detail that might be hard to notice but when you are talking in the cutter and another Cartesian anyway the one in the middle will duck to VDD if he's actually trying to get
himself out of the way so Marty is trying to dodge the bullet here and props of course have been used to better define the Carters so what's interesting is the fact that it happened quite a few times and that we added props that were not included in the original car designer of the car to support specific animations that were crucial to push his or her personality for example the moustache the toothpick the manly in the pizza of a rabbit model be introduced very very late in the development cycle to bring his personality on par with the other heroes and again of course to convey humor and parody so everything you seen so far hopefully has shed some light on some of the artistic challenges that we had to overcome but I guess that no project comes without its own amount of technical challenges and this one was no different in fact first of all we had to switch to a game a new game engine and
the snowdrop is the latest use of proprietary engine it has been chosen for its self expedite scalability and of course rendering quality but it was built with a division in mind which was which is a totally different game compared to our project we also had to develop for a new console and probably only me you'll know what it means right we all said to handle the two important IPS which meant that not only the artists said to learn how to walk with the carters learning their psychology and mechanics to the point of knowing them by heart but we also added to learn how to handle the feedback received which will come at any time during the process and we also started with a fairly small animation team in fact we started with just four animators one pipeline TD and one Carter winner so to
sum up we developed on a new engine a new console we had to prepare to activate feedback we'd never see before with a small team that was working on a Nintendo TV for the very first time so how how did we avoid all the mistakes we were leading into actually we didn't what we did was planning for mistakes we quickly realized that there were just too many variables and a body mistake would have been him simply possible therefore we focused on planning and the inevitable mistakes giving our animators ways to explore experiment prototype new ideas and above anything else learning while doing so we set the time for them to prototype an experiment or simply play with the Carters and this gave birth to some of the coolest ideas that we ended up implementing in the game so here you can see some example of this process and
if you look at the admission in the bottom row for example they've been used in some way or the other in the game and our tools and pipeline have been developed to simplify and increase the speed of the iteration process to give the artist this kind of space to in order to let them express themselves in and iterate on their animations even at an advanced stage of the production and tomorrow we now show you some of these tools which have been key to the success of the project hello everyone it's such great to be here it's now time to go a little bit more technical as you can imagine after all the consideration that Marco has made so far we were heading for a huge amount of keyframe animation data and as our technical department we wanted to
make sure that the iteration on this amount of data wasn't frustrating for the artist so we try to keep being focusing on these two main concept for the development of the pipeline freedom to explore in order to let the animators easily manipulate such amount of data and fast a duration in our case in special that especially in order to react quickly to the feedbacks that could arrive from both APIs any time at any stage of the production the first step was to find a logical way to rationalize and organize such an amount of animation data if we could arrange multiple clips in the same file it is easier for the animators to iterate and compare on related animation clips there are different ways of achieving this if you are on MotionBuilder you could take advantage of the text system but our pipeline is on Maya and we don't have a
native tech system we try to arrange clips on the timeline one after the other we try to use the trucks editor but in the end we decided to go for animation layers as at first glance it looked at like to be the answer to our question however for the animators working with the animation layer wasn't really intuitive if you have to move one clip or the other you have to turn on the corresponding animation layer turn off the others adjust the timeline and so on so collecting all the feedbacks we receive it from the animators we came up with our text system in Maya it is basically animation layers rapid with the additional functionalities something very simple but very effective from a very simple interface the animators handle the different eggs present in the currency and for each one of them you can still have additive animation layers
let's see the tool in action the animator can select the controls he wants funny mate from the text pane you can create a new take and assign a nice name for it and adjust the timeline as you can see when the timelines changes the new frame range is a record that inside the take pane and then the animator can keep working as usual after a while what you get of course is a single animation on a take and any time the animator can right click and create a new take or just adjust the time now the time range rename the take of course and even assign a nice color as you
would see in the next slide we took advantage of the color coding a lot in our pipeline since we have a lot of animation using color coding it's very effective to have a quick feedback on the really created animations after a while and what you get is a single Maya file with different clips and you can see how it is reactive for the animator to just click on a specific take and activate the corresponding click the frame range is adjusted the timeline is color-coded to reflect the current active take and we we took advantage of metadata's and attributes so something very simple like re ordaining takes it's very quick compared to reordering reordering animation layers we stressed the text system and the animation layers to the max and it resorted to be so
reliable and so effective and so intuitive for the animators that that we started to build upon of this simple so we integrated the TIC system with our exporter on the left and our possess library on right but we didn't stop there of course even if our team fights are under version control we may wanted to save in the same Amaya file different versions of the same animation clip so we created the tech version system in a way that the animator can realize such functionality let's see it in action the animator can right click on a specific take and create a new version for that take it can be an empty version or a duplicate of the current version and we can animate the one version or the other
as you can see here the animator can right click and activate a specific version for the take as the different version belonged to the same take in export it will result as a single clip and this is very nice too it is very effective to keep very nice and clean files in exports but let's suppose that you have a specific version that you like so much and you want to have like a separate separate take and create version upon on that anytime the animator can right click on a take and extract the current version and this will become a separate take this is a very simple and quick since I said before we use metadata and not networks to create such metal structure on the takes and of course we have the opposite
function you can set a specific take to be a subversion of another take and dye markets for each take we also added the possibility to set specific time markers this is Allah allow the animators to visually mark specific areas of the timeline as you can see here the animator can select a specific area of the time range of the timeline and mark this area in this case as an intro phase then it keeps working by selecting another area and marking is an eye draw as a idle phase and just like
said before you can assign a specific color coding for that area it may sound like something very simple but the cool thing here is that the animator can frame any time the specific area of the timeline this is very effective for for instance for framing the idle face and making sure that the looping animation is working properly and also the emitter has the possibility to export the markers separately or as a wall I don't know if you how many of you have played the game how many of you played the game yeah cool very cool and yeah that we have this this kind of gameplay cinematics where we have balloons that you have to confirm and this tool has been a crucial for us to make sure that during the idle animations during the
balloon being visible the idle was working properly as you can see all the tools are very relative to our domain but our focus was always to design for the animators as you saw earlier the transitions play a key role in our game and we made this very simple tool for automating the creation of the takes for these transitions from this interface the animator can freeze different poses and the tool takes care of generating the possible transitions between these poses and a nice color coding is automatically assigned then we have some other little extra features like the ability to mark specific takes to the to be in your let's suppose you use takes for just
storing poses or whatever you want and you don't want these to be exported and then we have the ability to mirror specific takes see here rabbit which going from that from left to right and the tool creates the opposite clip having rabbit which going from right to left the same way we can create our rivers of the current ich we have rabbit which going from cover left to back and we can reverse the animation and having take going from back to cover left it's not it's now time to see how we took advantage of the take system here you can see a typical file structure of one of our arrows as you can see it's very nice and clean all that light blue files
are our my scenes and on the right you can see a an example with the rabbit Mario starting from 192 Maya scenes the animators generated 592 takes and in export there was just 530 exports Korea could you imagine iterating on 530 my effects separately probably it's a nightmare and here you can see one of the heaviest scenes just to give you a quick feedback in terms of performance on the left you can see the stand of the my animation layers on the right our tech system every time the animator clicks on a specific take the corresponding animation layer is activated the time arranged is adjusted the markers are are made visible and so on again handling such amount of
animation layers manually it would have been a nightmare for the animator let's talk about horses now we are seen with Marco how important our poses for us in order to convey the personality of the character and to give feedbacks in terms of the gameplay status of the character in our case adding poses under version control and shared wasn't enough we had to find out our way to be as reactive as possible to the feedbacks here you can see a typical feedback that our animators received during the production and they had a very short time to address such kind of feedbacks for these reasons we needed to track where and how the posts are being used and eventually
update them automatically so we created the a post system the post system is made of a classic post library a post stop showing the process used in the current take and the timeline where you can see where the post has been used let's see it in action every time the animator apply a post from the library the poses market on the timeline and on the posts tab since we might have posts for the body poses for the face or any other different limbs or props the post system source not only the which pose has been applied and where but also how the poses are being as applied in terms of controls for instance so we could have different
poses applied on the same frame yeah you can see here after a while or the process applied and from the posts tab you can click on a specific pose that it will act pretty much like a bookmark to go straight to that framework the pose has been applied and also you can check the synchronization status of the pose let's have a look at how we update opposed to react to a feedback when a feedback arrives the animator can right-click on that specific post choose edit and tweak the pose as required by the feedback once everyone is happy with the new post the post can be submitted of course to our rationing system and share to the others if we open the previous scene and
go to the posts tab we can see that the post results to be out of date the animator can just right-click on that specific post and choose reapply and the post will be updated like the text system also the poses rely on Sherrod library so we can easily scrape to the update of the different poses or check the status on different scenes all in batch and also we my all we also have the ability to fade the poses with the current animation in a way that we can have nice planning transitions let's talk a bit about data management as you can imagine the text system and the post system is at the animators work but on the technical side they introduced a lot of additional data to be managed in fact now for a single Maya sim file we have
Greeks that may be updated anytime we have different takes stored inside the scene and for each one of them we have different poses we have explicit dependencies like the ribs but the poses and takes are implicit so how we could make sure that everything is nice and in sync we created an overseer tool that basically is the answer to this question here you can see basically the same dependency graph you have seen before on the left that the animator can load different sim files and quickly check what is the synchronization status of the pose of the scene file on the right you can get information about the takes contain it inside the scene file and poses synchronization status and text log of what is the synchronization status let's see how it works in action
we can load specific folder with all its own subfolders and container scene files the tool loads in background the dependency the dependencies of the scene file and checks for the synchronization status from here you can get the version status the takes the synchronization the poses and the file owner if you click on a specific machine you can see I said before they takes continued there and check if everything is in sync and of course the dependency graph
moreover the over cylinders the Bosch update process of the poses and the exports in the engine when we load the different SIM files you can see that only specific scene fights are checkered this corresponds to the Maya fight that needs to be updated it may sound like something very simple but if you think about scaling such amount of data with all the takes exporting everything every time it's just a lot time-consuming and risky as you can see here the batch exporter is selected not only the specifics in files but also the takes that needs to be updated we have a lighter version of the overseer for the cinematics on the Left we have the cinema the different cinematics and on the right we have the different shots that belong to the cinematics like
before just watching at the icon so you can get visual feedback on what is out of date and you can see up playblast of the specific shot or the whole sequence every time the animator updates a specific shot the whole sequence preview is automatically regenerated on server side let's go a bit deeper on how we realize that the dependency tracking to track the myosin content we used the sidecar technique basically we have adjust on the script or describing what's inside a specific Maya file in terms of vertex markers poses and reads if for some reason the scene is modified outside of our pipeline a ghost process takes care of regenerating this descriptor by scaffolding the sim file -
checking the synchronisation status of the takes we use a dirty B technique every time the animator updates a curve Maya callback triggers are said dirty meadow on the current take in a way that the animator can just watch D takes and if the current egg has been updated it will be marketed with a star to check the synchronization status of the poses we use both the dirty bit technique as before and the time stamp technique in fact the pauses are just files so we could easily check the last time the pose has been updated with the last time the pose has been applied on the specific take for the exporter things are a little bit simpler since the exports are just Maya Phi sorry FBX file that are an image that is the animation
data that we feed to the out to our engine so we could just check the latest update of the FBX with the latest time the current the corresponding take has been updated now the future we already have in mind some very cool ideas to extend the functional use of our tools but of course for us the priority is still to improve the overall performance and usability of the tools Maya introduces the full-time editor in the latest version it is very useful to do nonlinear editing of different Clips and we aim to integrate our text system with this time editor and at last we are working for having at either Maya engine
workflow in a way that we can short the time from Maya to the engine and the transfer metadata from the map from Maya to the engine so this concludes our talk I just want to thank you all for being here in behalf of the cubes of Milan and use of our studios this project was really made by heart by every person in the studio and of course we had a lot of fun working with that so thank you and this hour these are our contacts feel free to contact us for questions or just get in contact and I guess we have time for Q&A thank you yeah does this work I can also
just shout out there we go hi hi I'm Alex I work at Ryde first of all thanks for the game that's awesome it really enjoyed it and I think the Opera our scene is probably one of the funniest moments I had in games ever it's amazing can you guys talk a little bit about how you hook up animations within the game is there an HSM running or is it literally just one sequential animation after the other how are you guys blending between animations during runtime all right it depends but usually we will you have a our animation system with which are in property to love so trope and they're usually connected to States so it they're pretty sequentially but it supports also the use of layers if you want so it depends on the future okay thank you I was just curious about
how you give you feedback back to your animators because you have like a little sketch now for the like what's your system do you have like an in-house tool not really usually the feedback is based mostly on recording in engine and we do use a drovers if you needed but we have several steps of validation actually we have a very first one a very very very soon to get the overall approval by brands and other people involved them together if the idea is right and then the more we move forward it moves into polishing details so for those usually itself we have actually have a tool that generates playblast of animation from several
camera angles to speed up this process and it's what we usually do for example to get approvals from the rabbits brand of or from a Nintendo it's just easy process and then it's just we have to get the feedback from the whole team thanks I was wondering if are you able to get real-time playback with all that info and the Maya scenes are your rigs pretty light that you're able to do that well we we started three years and a half ago we started with Maya 2014 at the moment we are migrating to the latest versions and of course we will improve our rigs to me to take advantage of all the new features like GPU caching anything else the parallel evolution of course and there was a nice torque on yesterday about forward-facing rigs and it was very sparring for us it totally
blew my mind on yesterday so I for sure I'll start from with that ideas yeah it's one of the area will focus on the most moving forward to add real-time feedback in our scene I think there's the latest version of Maya there's a beta right now that they're working on it - no - no - to remove the needed to to make playblast at all so that's just super cool it's it's it's a good frame rate but for gameplay animations so it's a real-time but for the cinematics with still out there and that's what we aim before also kami I was able to get real time on this project deep I'm sorry so the gameplay the takes were able to get real-time playback yeah those yes yes yeah it was mostly issues over mostly on some sequences that were heavy very heavy
with many characters and environment and so on yeah I can tell you that what we did for having that is more efficient animation layers part of the handling of the animation layers of Amaya has been rewrote in a way that could be more efficient I can give you maybe a deeper inside if you think about the corresponding curve is belonging animation curves belonging to the same take to the same animation layers the Maya standard the way of enabling of disabling this layer is to turn on and off the lock of these curves what we do really is just deferral the further sorry doing that the further devaluation of the lock and unlock curves in a way that Maya doesn't have to wait to change the lock status of all the curves it just basically delays this after the Maya goes in idle I don't know if that's
clear my English we have an additional layer as Italians convert and also another nice tip for everyone for the cinematics we use it a lot to the GPU cache William for the environment and that dramatically improved the framerate of the cinematics good talk I'd appreciate that you talked more about how you decided where to split the scene it looked like you had multiple Maya files per character and how you decided to split this Maya scene has these takes and this other Maya scene as these takes and go more into how you were decided to split it up it's mainly based on the features and he usually try to gather the the animation clips that you'll probably
have to iterate on the most one like for for example the locomotion ones we tend to keep them together because there's a lot of alliteration on those you know just one maybe you have to fix the alarm and offer examples for the attacks and all the variations like all this other lady the kids that are logically connected in some way we try to keep them in the same file if they're just split separated and it's we will probably keep down different files or if in we have usually 20 meters so working on the cart at any given time so if they're working on two features like damages and acting for example we could try to keep those separated so they can work on the same time thank you hi thanks for the talk sorry the animators have to fight sort
of the animation compression that might happen when they move the because I noticed you were able to get some very specific smear frames with some of the animations was that ever an issue and did the animators have to learn to work around it or was it the other way around we had some generally speaking no it's we got most of the time one on one match between Maya and the engine but there are some cases were there I don't know some props down on DD hierarchy down the chain and we are profit has to stay in some place or there's the island in the character section menu or the there's a in places where there are specific contacts and we do detailed animations you can probably notice a slightly some some glitches there but it's it's good enough right
yeah hopefully we could tell you where but we will not so my favorite part of the game was walking through the game world and seeing the Rabbids on the side like slapping each other and and doing all those different animations and so I was wondering from a creative standpoint how you went about figuring out what those would be and sort of divvying out the tasks alright we actually have a one amazing animator that works working on those a lot of experience with the rabbit she's worked with I think on all the games that ever created so she's a master at that and the you usually work is she brainstorms idea and she creates these sequences and and then we try to fit them in the world where it makes sense
or sometimes it's the the other way around we just look at the environment and see if there's anything that sparks a cool idea and we just try and then we try to understand where it's probably best to put them in a way that it doesn't annoy the player but it can make a me notice you know they are there to give their life to the world and I mean the rabbits must be doing something right okay thanks I was amazed by the amount of unique animation thanks for that talk your implementations on letting animators quickly iterate over several hundreds and hundreds of files blew my mind and how well your tool was connected to source control that was amazing my question was you have so much of
animation content that's being pumped out on the runtime side does the tool help the runtime in loading these animation assets separately or do you does the tool employ any strategies in deciding okay this batch of animation get content gets loaded first and then this other batch gets loaded conditionally does the tool allow any content author to specify that this batch of content needs to be loaded all the time and this batch of content can be loaded at some other time can you reform with the question maybe I just I just lost the last part I don't know if you were telling us if you can separate the takes in different scene files or something like that I actually was talking more about conditional loading of these animation assets on or runtime side did the tool have any strategies to suggest that certain animation content should be loaded all the time and social
content only call on you mean on engine side right my question was did the tool make any improvements on the metadata layer okay so the way the engine works right now is the the clips are loaded for any kind of entities and gameplay but for example for cinematics to avoid the load of usually to avoid loading usual usual useless animations what we usually do is that we have specific characters image for that so in for those those are basically don't load anything so to not overload the game okay and I also really appreciated the dependency graph that you showed that that helped you know visualize where things are going and what's dependent on what else so as part of that was there any visualization tool that you used that showed how animations were being
shared across multiple characters for example and were there any challenges that you face in sharing animation content among several characters that have different skeletons and different rigs for example yeah sharing was an issue fact most of the missions are specific but we can it happen that we share this stuff between the rabbits for example as a starting point at least and I don't think we don't we don't have that kind of way of visualizing if how the dependencies are used we have the database that we can query using standard queries to check the dependencies but it's something separate from my basically it works on the data that is vacant inside the engine to check the dependencies and the fact of sharing it was a challenge for
us mostly because the the difference in terms of proportions of the characters but also in terms of creative intentions even the rabbits as you as you saw they have to convey different personalities so it was also a creative choice to don't share everything maybe we just start from the same file but after they they go for their own way and of course it has a cost in terms of iterations so that's why we missed all this structure to make iteration easier cool thank you thank you I I'm trying to apply those old Looney Tunes techniques of squash and stretch and silhouette to my the game I'm working on so I studied this game like a textbook because I really can't think of a better example and watching that rabid Kong deform and all those crazy ways was pretty exciting so do you have any secrets you're willing to share about how to get that sort of crazy deformation without breaking the
mesh and breaking the rig you mean on the technical side or on the artistic side or both or both okay I'll try to reply on the technical side it is it is challenging we used some part of the rig are automated some parts are handli crafted crafted and that was the secret to make that kind of freedom we are going on the rigs but it was challenging because you have everything basically on joint bases and at some point of the production we introduced at the kind of blend shape based on vertex shader we created a tool for automating all this stuff and that gave us a little bit more freedom in terms of deformations but the challenge for us was to let everything work we have time we just joined and yeah that's it yeah the advice is of course it's my friends and information have to be felt
but not really seen so the focus should be in keeping the volumes and try to get it to avoid getting it out or out of out of its design but what we usually do we go prod we exaggerated and then if it's not able if it if it just doesn't work we scale it back it's better than go up little by little thank you welcome all right I think okay and if he anyone has any question more we will be able to show some of these tools at the ubisoft lounge this afternoon would be there to answer any question so if you want to drop by and say hello hue there so thank you on thank you [Applause]
you
Auto-generated captions from YouTube — names and numbers may be misheard.
Distilling the key insights…
Game Developers Conference · 2026
Game Developers Conference · 2023
Comments