[Music] so uh hi my name is ryan duffin as you can see i'm an animation lead at dice la i know this is a very competitive time slot excuse me sorry and i do appreciate you all you all choosing to be here this talk was officially named before it was written and it named off name drops as appropriate but as the talks started to coalesce i found this title more appropriate there are so many things that we don't do in games because we're so far from them being easy but we made our tools and systems so flexible that i ran out of excuses to not go crazy so this is going to be a story about my descent into perfectionist madness with a lot of video examples a little bit more about me i've been working in games since 2001 most notably worked on spider-man 2 kill zone 2 alan wake and a bunch of other stuff here green lantern movie that was i hope you all saw that one
i've been working at dice since battlefield 3 then on battlefield 4 most recently battlefield 1. i do a lot of different things at dice but first person has for the last six years been the most measurable output of my work i've spoken at gdc a few times before at the animation bootcamp since the beginning if you're going to go back and watch any of these i'd recommend the 2016 one because it's the shortest uh but i think it's also my most important message if i was a broken record this would be the thing that i say the most it's about caring about the details as much as the biggest fan of your game uh and not just necessarily as much as you do and it's very bright up here um that's an important frame to view this talk through because i'm going to show you a [ __ ] ton of details that you might have a hard time convincing some people the importance of i just decided to roll with the fact that i'm bad at naming talks and aspire to double down in the future until it just doesn't fit on the slide anymore so i'm not a technical animator but
maybe more of an animator technically that's always a fun conversation to me tech animation has become a word so broad that it's lost its meaning i'm not here to talk today about animating in the way that some of you might think uh anybody who knows me has probably heard me say this my belief is that a good gameplay animator animates in the engine not in the content creation tools and every year more and more of you seem to agree with me and i'm sure that came from me agreeing with somebody else before who is smarter than me this will be a talk about the advantages of data-driven systems creating forward-thinking solutions to specific problems and then the kind of crazy [ __ ] that your content creators will be able to do if you let them and when i put it in bullet points like this it does sound boring but this talk will be pretty much nothing but examples so i work on battlefield games as you know um but this is not a talk you don't have to care about guns or war or horses or even battlefield to get something out of this my examples are soldiers and weapons because i work on a war game
but you didn't need to care about this stuff specifically to get something out of this talk i'm going to try my best to not assume too much familiarity with the battlefield franchise in the process so you can all follow along uh this is the stuff that i care about and that i want you to care about and hopefully that this will inform the talk that said the examples that i'm going to show are in two sections one guns and one horses uh to set this up a little bit better daisola the studio where i've worked since its inception did uh that's not the right word but uh did three of the five expansions for battlefield four uh dysolay was involved in the last nine months of battlefield one including two of the six uh single-player stories and then some of the multiplayer weapons contrary to some perceptions dice la is not only a support studio we do have other things cooking this is just the part that i work on uh we have taken over the life service aspect of battlefield 4 and battlefield 1. so there's some unique challenges to building on the back of what's essentially someone else's game
being creative in this situation isn't as hard or as bad as you might think we had a lot of say in what we include and what we don't you can you don't necessarily chart the course but you can steer the ship on the technical side taking over a game can be tricky uh to put a crassly post launch can be a bit like dumpster diving the team that wrote this stuff uh that you need has already shipped and they're already on vacation or they're busy on the next project you often get stuck doing asset archaeology and trying to figure out the previous team's intent assuming good intent is always important in these situations you can curse lack of documentation like you can curse the weather but it doesn't take too many productions to understand how your confluence page gets out of date on top of that there's a small matter that whatever you ship is set in stone in the old ways of game development now your bugs or your pet features may linger forever as i can fix this in fact there are things in battlefield 1 that are now fixed in the live game because i found them
while putting together this talk balancing new content with fixing or tweaking the old is is always tricky so animators at dice work pretty technically with ant our proprietary animation software i can't show you that but uh the important thing is that it lets animators do a lot of crazy stuff without having to ask for code support we're very empowered in ea with our animation tools for animators that is not to downplay the awesome engineers who have our backs i had help through all this and i couldn't have done it without without them building the tools first but lots of the solutions i'm about to show were possible because i was empowered by my tools and i'm not talking about ant to brag about ea or frostbite i'm just suggesting that you push for tools that allow you to do more without asking for other people to support you most of what i'm about to show wouldn't have happened if i had to convince somebody else that it was important at every step of the way so let's get started with the actual examples dice la's history of repurposing things is most easily traced back to battlefield 4 with our shield and bow which i've talked about publicly and at
gdc in 2014 and the bow a bit at console in norway last year i actually had a whole segment on this but the talk was an hour and a half with that so i'm going to skip all that what we're really here to talk about is battlefield one so this isn't a first person talk or a gun talk but i want to frame the rest of this with a little more on my philosophy on the subject and why pushing the bar here matters the overwatch animators get to infuse character to their first person animations genji is genji mercy is mercy we unfortunately don't have that luxury our soldiers have to be pretty generic the kind of gun the gun kinda has to be the character uh thankfully for the era of battlefield one the guns themselves have an enormous amount of character and variety maybe more than any other time in history and uh as as militaries and weapon manufacturers tried to figure out what worked and what didn't we have several weapons in the game as far back as 1870 and maybe even earlier and we have other weapons that were used well in the 20th century and even into the 21st century there wasn't much consensus or standards
about different actions magazine types etc they hadn't even figured out yet if the bullets go in the top or the bottom this is maybe the only major war that every type of action of firearm was used there were guns that were tested by militaries and failed because they were too powerful uh the military's asked for changes and the answer from the engineer was no it's fine and they lost millions of potential sales in the process i'm sure there's more than a few game developers who can relate to that some of the guns have never been seen in a game before until now and some may never be seen in a game again in short my mentality towards these guns was portraiture basically it's it's selfie it's not self-expression but you're just trying to capture what's already there and a big shout out to ian mccollum of forgotten weapons who at least to me was the best instructor in this stuff so when la was asked to help finish battlefield 1 it made sense that we would help out on the guns our lead weapon artist chris is as
ocd about this stuff as i am about the models as i am about the animations we made somewhere around a third of the weapons in the main game and already there was some fun and interesting opportunities to do something different for example this handgun the m1912 loads with a stripper clip from the top like most rifles of the day but it also had a novel way of dumping your unused bullets so this eight round reload is correct for reloading the gun when it's empty which is what the manufacturer clearly intended but the game our game lets you reload whenever you want so we could have loaded any bullet count less than eight one bullet at a time like our shotguns work in previous battlefield games we have a system for that like i'm about to demonstrate but that'd be potentially slow and worse it'd be boring and kind of samey ian whose hands these are showed us this unique feature of the gun allowing you to eject all the ammo currently in it to make room for a new clip of eight and so we use that instead it's potentially slower than a start loop end depending on how deep into the magazine
you got but it's a little more unique so this animation is always ejecting its full payload of eight bullets up to eight bullets i hooked it up to compare the magazine size with its current ammo count and then i just hid the difference voila and i didn't have to convince a tech animator to support me on this i just did it uh the correct number of bullets always eject and now we're telling a story that only this gun has to tell despite the slow-ass reload some people love this gun and nobody's really complained about it if it's not worth it then we have many faster pistol options in the game there were other places where we got to have fun in an otherwise very hectic schedule this is the calibri pistol i swear when we got this we just all assumed it was going to be an easter egg it turned out it's just one of the guns that everybody gets credit where credit is due the concept of the calibri's stupid animations were my blocking but the full glory of this animation is the handiwork of one of our animators marvin rojas this was a hard gun not to keep for myself and an important lesson as a lead that sometimes you have to hand off the good stuff
shipping battlefield 1 was a hard project and like any production there was definitely a line to walk uh what was going to be good and what was going to be extra cool uh knowing that we'd be doing some of the dlc for this game i kept a list of all the things i felt were holding us back hoping that we'd be able to improve on an already solid foundation so in the name of the tsar was the first post-launch pack from the la studio we had a bit more time to muck around than usual after shipping battlefield 1 while the stockholm studio did the first dlc i wanted to start building up new features for the dlc weapons and i'll explain why i did mention how much character the weapons of the ear had and that is true sometimes we've definitely added some guns with a lot of character since the battlefield one launched with our three expansions and i'll talk about these soon enough but we're not just a game set in the early 20th century we're a world war one game and we had to include the standard infantry rifles uh a lot of which we weren't able to ship on launch the russians the italians the canadians
the japanese they all had very iconic rifles that that were in this war and just couldn't fit in the main game so we knew the three packs would include these six bolt action rifles here but the standard rifles of the day were very very standardized a lot more than some of the weirder guns that i've shown and i will be showing basically they all work like this with some small differences it's how they still work today the american springfield rifle that we that we had in the main game is so similar to the german mauser that the germans actually sued over it as a copyright thing so for the rest of this to make sense i need to explain a little more about the original system and a little more technical stuff about guns but i promise this is not a gun talk clip versus magazine so this is a system to talk not a gun talk but for to make complete sense we need to clarify the difference of a clip in a magazine and there are some other lessons of development here for for anybody the magazine is where the gun stores its bullets they can be external like most modern guns or internal like many older older guns uh clips are for grouping
bullets together for the purpose of loading into a usually internal magazine uh you'll hear me say the term stripper clip that is where you just strip it away afterwards that's how most of these rifles worked uh you might think this is pedantic but let me tell you how many places in our database that dates back to battlefield 3 references clips when it means magazines and then we started making a game with clips not to mention that our animation assets are also called clips so suddenly we have three different things that are all fighting with each other and we should have just named them right in the first place for our purposes magazine reloads are linear start to end animations and generally pretty easy to make work and this is why this matters clips are where things are going to get tricky most of these bolt action rifles use clips the core of our reload system for single shot weapons leading up to battlefield 1 is a simple start loop end like we've been using since at least battlefield 3 probably long before something all the game animators here are surely familiar with
you start you loop the correct number of bullets to load and then you end the animation it's really basic stuff for gameplay this is actually the first weapon i ever animated at dice on battlefield 3 and it sucks and i'm really sorry about that the difference in battlefield 1 is that we added the ability to to add a number of bullets at once to represent stripper clips oh it's supposed to be playing back um this is not my system these this was the talented team in stockholm clips also loop so you can load multiple clips even if most weapons we had didn't a few of the main battlefield 1 weapons work this way it's also important to note that this is a gross oversimplification of the concept it was actually really difficult to get this working and it's not an easy setup but it is important because it's the foundation of everything that we're going to go ape [ __ ] with from here on out i wanted to include this example from battlefield 4. it's one of my favorites and i probably talk about it too much
but i want you to see what a big magazine looks like without clips with the start loop end system it starts to get a little repetitive so yes i animated this it's 17 seconds to reload this entire gun and believe it or not the gun was very popular i like to argue with designers about this one so already battlefield 1's reload system is pretty solid and well ahead of some of our competitors but it is also pretty rigid for example once we commit to start loop end that's it that's the that's the logic of the gun regardless of how we're going to use it if we didn't make some changes to the existing system for these kind of guns our new weapons were going to have to look a lot like the old ones pretty much exactly so we made a bunch of changes but lists are boring so let's just cover these in examples you'll see this slide a lot don't worry about reading it first the easy stuff this is the gasser revolver from main game battlefield 1 which i animated it uses the start loop and logic minus any kind of clip regardless for the amount of bullets fired as you can see it starts to get a
little repetitive if you empty the whole thing we knew we were dealing with a similar problem to the bolt action rifles there was only one way to animate it switch hands open the gate loop the eject and load however many times close the gate and switch back we've already done this for three different guns on battlefield one and we don't want to do it again so when we decided to add another single gate loaded revolver with the m1895 and in the name of the czar i saw a couple opportunities for improvement first randomizing the individual loops to break the repetition this gun was animated by colin cromwell one of our other animators this is what the m8985 reload would look like without any new tech one eject in one load looped up to seven times that's boring so here's what it looks like with some loops added for variety or to demonstrate with the format that i've been using so far here's what's actually happening under the hood uh loop variants aren't anything novel to game animators but
i'm not sure that i've seen them applied to reload animations before so already we're looking better than we did before but it's still long and kind of repetitive a good option for variety that we'd wanted to do in battlefield one but didn't have the tech for was swapping the entire revolver cylinder out but that would be a change in the logic it's no longer start loop end but a magazine swap so our engineer randy stanton who is responsible for most of this stuff on the code side hooked us up so we can not only change the reload animations by bullet count but we can even change the reloading logic itself so for zero rounds left we've done a completely different animation that doesn't require starts and loops and ends but plays just like a regular magazine reload start to finish notice even the ammo count is updating right about the correct time this was major code work i've emphasized our data driven power but this would not have happened without lots of engineering time this was also probably the most animator enabling addition that we made to the
system of those six on my list our new weapon animations would be really boring without this more than anything so we took this same tech and applied it to one of our new light machine guns the parabellum mg1417 the parabellum mg1417 feeds a cloth belt through as it fires so i thought it'd be cool to have to reel all that belt back in when you reload there's a story that may or may not be true that the phrase the whole nine yards originates in world war one from the lengths of these class belts giving them the whole nine yards is meant to be unloading every last bullet nine yards is actually closer to what they used in the airplanes not in the infantry weapons in this case i don't i don't know if that story is true i want it to be in this case we didn't change the reload logic by ammo types but we did change the reload timers to match the five different reload animations for this game for this gun the longer you fire the more belt you have to reel back in until you start until you use the whole thing if you empty it then you would just rip the belt off on on the left and load a
new cylinder it winds up being actually faster this adds a fun design element to it knowing the longer that you fire without reloading the more you accumulate reload debt most of the parabolic animation set was done by james fiorella one of our animators then i built the four manual reloads starting with his empty speaking of the cloth belt that leverages another new piece of tech animation phase control now i'm here to talk about the cool stuff that la did to battlefield but this feature actually comes from stockholm who did this and they shall not pass i forgot about this when i was putting the slides together but we did actually do something even where a basic version of this in the main game for revolvers to procedurally clock the cylinder as we fire and as we reload but this is more complicated so they shall not pass as the first expansion that included a machine gun with a transparent or open magazine you would see the bullet count deplete and the magazine spring uh the follower pushed the bullets in
as it was fired transparent magazines had been something of a white whale for us on our weapon team for a long time and the animators on this pack totally nailed it so the magazine is controlled by what's called the phase animation mapping the length of the animation to the capacity of the magazine so basically this is a 20 frame animation on a magazine map to 20 rounds each frame is one round fired obviously in game we are hiding the bullets before they come out the top of the gun uh this is what i mean by phase animation the duration corresponds to a zero to one float value that in the case in the other cases i'll be showing here it corresponds to the whatever the magazine size is float zero when it's empty and one it's full with that explain back to the parabellum the cloth belt comes out the left side of the gun is a fake physics chain that's always on it's very basic and not even really worth explaining but using the phase control we could tag it up to hide based on on phase so the belt is always
there we're just unhiding it the first 10 or so rounds uh we also do the same thing with the bullets on the right side of the gun that are feeding in when it's almost empty for the last five or so phase control was also a crucial part of getting the different reload animations to play and and how we told our engine which which one to play when uh we could drive animation playback by bullet count essentially now phase control is a perfect example of asset dumpster diving that i mentioned earlier stockholm built this for one gun i made a system out of it and used it every chance i could this was a perfect fit for several of our weapons we added it to three of them in the name of the czar alone and one in battlefield 1 apocalypse the last dlc almost all of our weapon systems change almost all these changes that i'm showing here happened during in the name of the czar but i'm going to jump ahead to a weapon from the next expansion turning tides which didn't drive any of these new features but it almost clearly demonstrates the need for
the the justification for these so alt deploy is one of the ones we used here let me explain what that is without skipping the slide my laptop's very old this should be playing it's not i'll just explain it so deploy is is when you first bring out the gun and all deploys when you switch to this this is like an underbarrel shotgun from battlefield 4. so when you switch to a secondary weapon underneath the primary it's basically a change in logic to a piggyback weapon essentially we've had this since battlefield 3 battlefield 4. try to play it one more time there we go so the first one is the deploy the second one is the alt deploy we did use this system for rifle grenades in battlefield one
and it's a good system but it takes a lot more animation work both in first and third person and i'll explain why this matters momentarily so on the carcano which was also animated by james it's different than most of our sniper rifles because it uses an n-block magazine an n-block is most famous from the m1 grand it's a kind of clip that sits inside the gun's internal magazine and then is ejected at some point so for the m1 the enbloc is famously ejected with a loud ping when the last round is fired we also have a couple of main game rifles that use end blocks but we didn't have these systems yet so they aren't completely mechanically accurate and sorry twitter but we're not going back and changing them on the carcano the end block fail falls out the bottom when the last round is chambered it's basically the bullets are holding it in place and as soon as the last one is stripped away the magazine or the end block falls out usually we were able to do that by adding a one-off bolt action animation that plays on the second of the last round fired we don't
see it very well in first person but it's there and you can hear it this clears the way for a faster reload with one or two rounds left thanks to the different logic by ammo count we can also have the correct slower reload animation that removes the old block the old m block first and yes removing the end block contains the correct amount of bullets that you've that you have remaining uh i made a whole video of this that i that i put on my youtube channel showing the differences of the bullets out and bullets in especially when it gets low on on ammo that video apparently got recorded at like 240 p so thanks to uh battlefield streamer bloodhound hd for these videos because mine looked like [ __ ] so there is a problem here uh battlefield 1 added a sniper gadget called cablets they're basically armor piercing bullets that need to always be an option for the scout class which means all bolt action rifles have to have this cables is a different system than alt deploy which cleverly
repurposes bolt action and reload animations to to make a a different system altogether but it's pretty restrictive it needs a it restricts the way that reloads can work so it needs a bolt action animation which is easy enough but it also uses the same start clip loop and reload animations to load and reload a single new cablelit there wasn't really a way to give this swap its own animation under the k bullet system and there's more limitation for bolt actions that would mean animating them all the same way because it's always going to repurpose another part of the animation as you can probably guess the existing cable setup isn't going to work for the carcano because you just saw the two reloads and none of them load one single bullet so with a bit of code changes that enabled this this option for animators and designers we could use the alt deploy system for cable it's on the carcano or anywhere else that we wanted it just meant that we had to do a bit more animation for switching to and from the cable it's including removing and replacing the end block it also needed
its own reload animation to eject a single shell casing and load a new single cartridge this isn't something we wanted to do for every gun it's a lot of work it's just for special cases that wouldn't work with the old system but that leads me to the gun that initially drove a lot of these changes the mozindegan rifle uh this is back in in the name of the tsar mosin nagant is a gun that our fans probably knew better than than most of what was in battlefield one they made so many of these and they're very inexpensive it's not uncommon to talk to people who have fired these or fire one yourself it was one of the most used weapons in world war one and i wanted the first new sniper rifle to come out of dice la to be something special it'd be very different from the guns that came before it now a lot of our reload system involves ejecting perfectly good bullets that get magically re-added to your ammo pull-in i'm okay with some suspension to disbelief but for the standard russian infantry rifle wasting bullets seemed to be not okay
so i set up an arbitrary rule that you would never see a loaded cartridge eject from the mosin nagant that the player didn't catch obviously this made life more difficult but great things aren't born from easy lives so i believe creativity thrives within constraints so sometimes i make up constraints and hopefully some of this comes through this is the reload animation for the mosin the gun when you have one bullet left you'll see that he or in this case she catches it unlike previous rifles our new ability to change reload logic reload by logic allowed us to eject the last round of the of the rifle and just load a new clip of five instead of looping through four single bullet load animations which is not only faster but makes more sense already this is an improvement over the way the game shipped in this case it is a little slower and then it could be because she has to catch in the case of our russian scout the first female character in one of the uh battlefield multiplayer games uh she's going to waste a perfectly good bullet so she's going to catch that and
has to grab it before loading the new clip as you can probably guess from the clip from the text on this the this is a straight through animation playing a magazine type reload instead of anything around our start loop end system the reload from empty is pretty much the same except it's a little bit faster because now you're just ejecting the spent casing before loading a new clip once again straight through but then it gets interesting so this is the reload system for having fire just one shot and it does use our start loop end system because here it makes more sense so now we're all set up for reloading one bullet up to five bullets if i wasn't a masochist so this would be a good opportunity to throw in loop variations but it's only one to three rounds and of course we only see one round in our hand at a time because the animation has to loop but wouldn't it be cool to see the rounds in our hands so we haven't fully taken advantage of the clip system yet i'm just using the single bullet part of it
the clip system was intended to load a group of bullets at the same time but no one said it had to actually be a clip so this is the three round reload for the mose nagant we get to see more than one bullet in hand at a time and the animation's fast enough that it's not too weird for them to register in the in the magazine at the same time we see the looping group animation only once which is the two bullets going in followed by the single bullet loop only once and now we have a loaded rifle so as you can maybe guess that the two round reload animation looks like this only playing the group and not the single now i can't show you our ant interface but i can show you this expert recreation which explains how i set it up uh effectively we give the player five reload animations one for every possible ammo count of the gun for the price of just three it's all set up to loop and if we wanted to use this for the four or five four or five round reload it would plug right in
this also makes audio's life a little bit easier which they deserve after all the time that i spent making it harder now while i'm definitely trying to glamorize this and advocate smart workflows it's worth mentioning that this is still two guns worth of reload animations so that covers that let's touch briefly on how the m91 also required the use of the alt deploy changes remember cable it's and remember my rule about not wasting bullets so this would have worked with the stripper clip reload that we had for the one through three rounds but we couldn't waste bullets so the mozinhagan had to get the all-deployed treatment with one off changeover animations between regular bullets and armor piercing cablets without dropping them at the time that we implemented these the cable system wasn't quite ready for it and we did have some issues so these animations had to be really fast to minimize the problems overall this gun was a huge time sink
sorry and in comparison to any of the bolt actions in the main game but i thought of it as a flagship weapon not only an iconic weapon of the war but one that demanded new features that both liberated us creatively and would speed things up for future weapons there was a lot of pain up front both for me and randy our engineer but it paid off in spades with the other new weapons that followed with all this in our toolbox the second half of the bizarre weapons that we added and beyond could start following the paths paved by the first lot i didn't mention this earlier but at some point in production our weapon list for in the name of the czar went from six to 11 new guns and we probably wouldn't have gone so nuts with the new systems if we'd known that at the time but the new tools from the first six guns made all the following much easier and while still allowing us to preserve some of the unique character i just hit the windows button that's nice okay well mostly it allowed us to do that so this is the perino m1908 machine gun
it's another one of those weapons of the era with a great story they were still trying to figure out what worked best as far as military small arms go this had a water cooled barrel and a unique 120 round hopper of bullets there was 20 20 rounds in a tray stacked six high it had a major advantage over belt fed machine guns of the day and it could be continuously fired effectively forever by a single machine gunner as long as the water and the bullets were continually topped off i believe in testing this was fired for seven days straight the italian government decided this thing was so good they they deemed it top secret so it couldn't be copied but then world war broke out they didn't have time to to test and perfect the design because of it it's secret nature and so when the war broke out they they couldn't get into production fast enough and it lost out to another arguably inferior machine gun timing matters folks even when you have the superior product there's nothing stupid about this gun i was just being cheeky because for our game and the accuracy which i think our fans
expect of us this thing presents a lot of problems so our story of the perino is nearly as tragic the higher-ups really wanted a different gun but i was really sure i couldn't make that gun look good on our base animation sets the underlying third person movements and this is considering that we have dudes running around with 100 pound machine guns one of our animators did a bunch of test poses with that gun we it just didn't work it didn't look right so our designer had a compromise in mind with this gun when i saw the perino i saw that it had a way to hold it that would work with our animation set and i was just kind of tired of fighting about it so i was like okay yeah fine we can make that work and i probably should have looked closer before i agreed to this so as you can probably guess from the previous slide we're using phase control again but it wasn't even that wasn't straightforward the perino holds 120 rounds and six trays of 20 every 20 rounds one of those trays is ejected if we're using a phase animation we can't interrupt it
every 20 frames to play a regular animation even if it was additive you'd see all the bullets pause and wait for the eject before resuming so i split one phase into two the individual clip and the overall magazine the best way to demonstrate what this really means is to isolate the two by deleting the geometry of the other this is the pleno the perino with the clip geometry deleted so you can see the effect of just the phase animation this is the easy part 120 frames corresponding to 120 rounds regardless of anything else no big deal this is the trickier part uh the clip without the rest of the magazine notice the ammo counter here this is not one gif looping this is one video looping this is this is uh actually looping six times playing six times before it loops this is also why you can sometimes see a little visibility hitch with this gun i can't overlap the clip with myself with itself i hide it as soon as it's off screen and
fly it back over but i can't do that faster than the machine gun can fire this little bit could have been fixed with more complexity and more polygons but i haven't even gotten into the cup game of the reloads and our weapon modelers were already about to kill me over this thing so this slide is fun because it makes the artist cringe at my photoshop and the engineers cringe at my math but in terms of layers it looks like one big phase animation and it drives the entire 120 rounds another layer under it is driving the sub phase value the the phase is multiplied by six and then normalized so it hits one every 20 rounds instead of every 120 rounds when the sub phase hits one it triggers the clip eject animation the last frame of the clip eject animation is off screen and hidden so if you stop firing at an even number like 180 60 it will stay hidden uh the clip is invisible until you start firing again as soon as you fire it starts counting again and everything's fine now my head hurts thinking about this gun
but i haven't even gotten into the reload of this yet how do you reload a 120 round weapon that's a hybrid of a coffee grinder and a typewriter you use the separation of reload logic by ammo count sort of so we'll start with the easy one we need to reload we need reload to respond to user input for for the first 19 rounds but there's no room in the magazine so we set up a straight ahead animation for reloading 100 to 119 rounds where you would pull the clip out that's being fed through that makes room for one more during the actual pullout animation we don't actually reset the subframes the sub phase but we turn off the additive layer entirely it's not perfect because the clip animation is additive to the rest of the gun but we need to disable it exactly then so we never see it slide out on its own we ensure the right hand keeps the grip on it basically it gets turned off right here once you fire 21 rounds [ __ ] gets real the whole point of the perino is to be able to top it up as you fire uh that ability which
would uh that's that's what the gun was actually meant for but it only works when deployed on a tripod because it requires two hands and that was unfortunately beyond the scope of what we could do what we could do though is stack new clot new clips on top of the current magazine once there was room for at least one so to make that work as efficiently as possible as the gun as efficiently as the gun is meant to we meaning randy added a parameter to only allow us to load clips and no single bullets so what that means is that if you hit reload with 90 rounds left in the magazine you want you will do a quick one one clip in reload but now you've only got 110 of your full 120 rounds but you reload much faster if you want the whole the whole 120 rounds you can just hit reload again and you'll play the last animation but really what we've done is create an optimal strategy for the perino that matches its real-life design uh when you fired the optimal way to
reload this gun is when you fired 20 rounds over 20 rounds but less than 40. so this is systemically a start group end animation but that's and that's what the game engine thinks is happening here but that's not really the whole story we see the whole story when we real sorry when we reload the gun from 20 rounds less than 20 rounds because you can't loop the accumulation of bullets i had to create a sequential or straight ahead animation and disguise it as a loop so even though this this is one reload animation it's broken down in time kind of like loop variants except in order each clip is equal length and the more clips we load the earlier in the animation we start playing it because we're faking the loop to the engine you can see the ammo count is updating correctly so with another bad photoshop mockup we see what the animation assets actually look like this is just two different animation clips each gold arrow is a start point and we
start we started the same entry animation all the time and then we just enter based on how many rounds that you need to reload the deeper into the magazine you get the earlier in the reload animation that you start playing it since each segment is of 20 is evenly timed and we set it up with our existing clip logic the game sees a straight ahead animation like this uh we're playing a straight ahead animation like this the game is seeing the loops what's what's especially cool about this is by faking looping group animations we're actually loading 20 rounds with each clip drop making this animation interruptable without losing all your progress which is especially important for the long light machine gun reloads so we see this reload animation play straight through the magazine top up in the ammo count update as appropriate this is the reload from 60 to 80 round reload or should i say part of the reload just to make it totally clear what's happening when you when you empty the magazine
entirely we use a different reload start animation for that last clip uh the last clip that ejects out so we the the new reload start animation gets it back to one clip loaded and racked in the in the chamber and then we can use the same long reload animation before as before for the the next five clips we get tricky again this time by hiding the first loop in the longer start animation the first loop is actually after in the engine the first loop is actually playing after the first clip is loaded and happens during the charging the bolt that allows us to load the first clip and rack the bolt in the same in the start animation with the same time as a single clip loop since i assume there's a lot of animators here you're probably feeling pretty smart about noticing that one of these fake loops has a really shitty elbow animation and you're totally right i'd like to say i put it in there to make sure that you know it's not actually looping but i didn't it just slipped through or this any other game i'd just say that sucks but i've got the animation database right there when i'm putting these slides together so
i fixed it you can't find this in game anymore but i wasn't going to re-render my videos so sorry this is the joy and the agony of live service games anyway this is the straight through here we go uh six clip reload as demonstrated in maya with very bad playback all kinds of weird stuff happening here we hide in the engine so that's that's why you're seeing the eclipse fly all around so similar to the moza nagant we have the engine and the players seeing multiple reload animations for different conditions in this case seven different reloads six ammo counts and one out of ammo state but really we have one quick reload for the first 20 and one straight through 100 round reload with five different start points and then we have two different start reload animations now that explains the animations but it still doesn't solve for the re-accumulation of bullets obviously there's got to be some fakery here
basically we're keeping the phase set until the first new clip is dropped in the moment of impact after that the animation is dictating how full the hopper magazine is because the phase is driven by in engine ammo count we need to turn off the phase layer and drive it with animation to make sure we keep total control of it until we're done otherwise it's going to start updating whenever you see the ammo counter update once the gun has registered the updated ammo count it's safe to turn the phase the additive phase animation back on i'm sure there are elements i'm not explaining well enough here so let me just show you the whole thing what it looks like with the box deleted the ammo box so you can see all the gory details you can see the polygon savings that we were doing there this bounced back and forth quite a few times keep in mind that the box is shaped like a v so those those middle rows that have the outer pieces hidden that was just smart modeling let's move into the second shorter part
of the talk horses one of the most interesting things about world war one is the clash between the past and the present future one of the most iconic symbols of that the present is the presence of mounted cavalry in the battlefield stockholm has has some incredibly smart and talented animators and engineers and they got this working and looking fantastic and how they did that is beyond the scope of this talk and not really my story to tell but i'll be getting into a little bit of it for the purposes of explaining our changes so the main game horse is great but it's built for just two weapons a lever action rifle and a cavalry saber i wasn't part of this process for making the horse and i can't really talk about why it's just two weapons why it's just those two except that making others work and and look good in our third person camera would have been a whole lot more work on an already complicated system and besides this is essentially a vehicle in the game more weapons would be cool but it certainly wasn't necessary at launch but the reason that i'm going to talk about horses is because of the
in an all-new cavalry class that we decided to add in in the name of the czar the russian hussar and with that a complete new type of weapon the lance i have so i have shown some of this work in my talk at console last year so i'm going to focus on the part of the actual under the hood details for a system that had to be built around two weapons switching between each other this was going to require a serious bit of work even with the least ambitious of designs first i'm going to identify the trouble spots and then present the solutions a saber and a lance are both things that you hold in one hand and sometimes for people outside of animation that seems like that's good enough the thing that non-animators tend to miss is that it doesn't really mean much there are a lot of things that you can hold in one hand and not really share the animations for the sake of efficiency we had to share as much as we could we dug around we found four main areas that we needed to address running a marathon here uh horse locomotion this was easy
don't touch it uh i didn't touch it anyway randy our engineer did the bunch of physics and code improvements but they're all outside of the scope of this talk as well this is a new weapon uh not a new horse and that requires advocating to the rest of the team that that is going to be the truth of this situation the old horse is the framework that we needed to work within which in itself is one of the challenges of post-launch content there's always the temptation to redesign something that's that's already uh in and kind of working so there are four different gates or there are different gates for a horse thanks to the analog input and there's also a fifth sprint or all-out gallop that is binary at least as far as the player input is concerned there's a big range of speed between the canter the fast walk and the gallop the sprint but the player couldn't deliberately stay there it was just accelerating and decelerating at those speeds this will be important later ryder locomotion this is going to be trickier because when you think of somebody riding a horse with the lance you think
of this or this but probably both so the saber on the other hand could get away with some variation of this pose from standing to galloping so a simple speed dependent blend space was totally fine this isn't a video it's just an image when the whole system is blend driven this is going to look really bad for lance poses it's going to go up and down like a speedometer as you transition in and out of the gallop we could leave the lance always down but that'd be lame the the third point was attacks as anyone who's played dungeons and dragons can tell you a slashing weapon and a piercing weapon are very different and you're not going to be able to share that much the saber has different attacks at speed and they're not they're not dramatically different the lance is not only pointy but it has two different base poses so it's going to need some different attacks and lastly it only makes sense that if you have a lance you need to be able to charge and impale someone with it we already had bayonet charges and synchronized melee attacks but the horse is under the hood more of a vehicle than a character so that actually doesn't help us very
much at all so let's go back through that list and cover the solutions horse locomotion don't mess with it ryder locomotion well we had to mess with that we needed two stances the lance upright from standing to canter and then a lance down at full gallop that lets us base the rider locomotion sets on the saber instead of capturing a whole new set we did a mocap shoot for the hussar but it was mainly focused on the attacks the sword locomotion sets would be fine as long as we want modified the poses the second part was to add an override layer on top of everything else that the cavalry character is running it's a layer that's going to usually be off and dormant but can kick on to play a bespoke transition animation that's long enough to completely cover the ugly blend of the lance up oops sorry sorry microphone uh the lance up to the lance down with branch out window windows that allow it to be interrupted as needed this is not an additive layer additives were too unpredictable here i'm not trying to plus something
i'm trying to hide it this was mostly upper body animation part with partial hip influence that blends out sooner third aspect was the attacks based on the solution to the second problem uh we could start the attacks based on your current stance upright or lowered lance i'm sorry for the image quality on these i wasn't able to get higher quality ones standing through canter would swing the spear around which we learned was actually a valid technique thank you polish ceremonial cavalry this lets us use existing framework for the saber attacks basic combo animations galloping on the other hand would give a quick stab of the lance the lance override layers disabling is disabled during all attacks which we don't see so we don't see the lower or raised animation and the attack will blend out it into whichever stance is running underneath it so a change in speed beneath won't affect these the animations will finish into whatever the correct underlying poses the impale was the newest and craziest thing
charging is triggered like our bayonet charge by hitting the melee attack while already at speed we're using the same input for consistency but this is a very different system under the hood the horse is again a vehicle i would and often did argue that it's a dubious gameplay value because you could already run people over with your horse and it definitely well this definitely looks cooler and uh more badass for the trailers and the youtube videos this is not trailer fakery this is several weeks of mine randy and colin's life that we're never gonna get back but i have to admit it turned out pretty awesome and including a lance really does beg for this feature to enter the this whole new charge state of the horse we go back to that same override layer with a charge entry animation this but this time we're going to stay in the override layer and we'll stay in the state as long as you're charging the rest of the charge the rest of the charge states including the transitions in and out as well as the contact success condition of charging also happens here aiming the lance proved to be a fun
challenge aiming was really important because we knew we had to interpolate the lance and the victim upon a successful attack the better our lance anticipates that contact the less we have to move the victim we added a new camera state for the charge which is our weapon designer chad doing some of his magic again apologies for the video quality here aiming the lance for a long time was an additive upper body blend within the override layer which is not an override layer so uh there's there was so much going on in the different states and the different layers that we were seeing some glitches during the straight uh the state transitions there at the 11th hour andy kanichi one of our animators on another project using a newer code base found a way to aim the bones themselves into engine an in-engine look at constraint of sorts steve chow one of our animation engineers integrated this change into our older code base and they saved our asses from would have been not great looking aim system
now lance aiming could be completely procedural aiming both the lance and camera towards any valid target for impaling this is uh deprecating influence down from the spirit one down the arm spine now it can be totally procedural so when no one was in range it's just staying in the neutral aim as dictated by the animation and now let's talk about the poor bastard on the receiving end as far as the defender goes this is our regular melee system but only for the defender from a spectator view hopefully this yeah for a speculative view without the defender playing animation this is what's happening on the engine side the horses is scooping up the victim the player is on the receiving end of the player on the receiving end is getting attached to the end of the lance collision minus a little bit because they've just been impaled then it plays a melee defender except now the player collision and animation is in for lack of a better term horse space the exact distance of what constitutes a
success or failure here was an exposed value that took a lot of tuning to look and feel good for the attacker and not feel completely cheap for the defender the end result for a defending player looks something like this of course any gamedev knows that the road to success is far from straightforward i don't know this one's going to play i should have trimmed that one don't you hate it when people give gdc talks and make it look easy it wasn't so that was a lot of information and hopefully the images and videos made it digestible to recap and wrap this up we've covered how we added a full new weapon system on top of an established one building on a foundation to create something that is new and cool
but not reinvent the wheel completely we've also covered how we took a uh system and made it even more capable and and we've done justice to hopefully a whole lot of the fascinating real-life weapons that have never been seen before in a video game and may never be seen in one again so that was a bunch of technical gameplay animation stuff and hope hopefully nobody's feeling like i deceived them into an animation talk just because my job title is in the word uh this is gameplay animation i know i've pretty much just talked about guns and horses here but i don't think that should be the only takeaway i'd like to think this all makes a very these specific examples make a broader argument removing obstacles from your content creators is removing the excuse they have not to go nuts with their creativity and their attention to detail as much as i'd like to claim that this is all because of my incredible intention to detail or my technical savvy a lot of this wouldn't have happened a lot of this is possible because i either already had the tools or almost
had the tools to do what i needed without convincing anyone else of my vision this was gonna say pick your battles but we've already heard that to the point of meaningless meaninglessness i prefer think forward are you going to look back and see that all the effort was worth it i wasn't asking for code support to fix this gun or that i was asking for systems that i could use in the future these were specific guns that drove the features and paved the way but every feature i asked for and got had at least two potential use cases i didn't cover them all here and that means that there could potentially be more in the future and there often were honestly i'd love to spend the next year just making perfectly accurate recreations of impossibly complicated weapons because i'm pretty confident with the tools that we've built that my team could handle it it's also possible because i had a lot of freedom and a lot of the experience in the tool set i showed you the first animation i ever did for a battlefield game and it sucks since then i've shipped four of these things and as of may i'll have been working on the battlefield franchise
uh the through the gun experience for seven years and the thing that the things that i can do with the tools at my disposal now are not only a credit to our tools people but also to a credit to dice for being the kind of place that i wanted to keep working at so through through these examples i've demonstrated not only the value of data-driven systems but also that you can keep building the game springboarding off of what's already in there in new and interesting ways adds value for the players it breaks the monotony of long tail games and it adds it's a lot more satisfying as the developer to still be creative with what you add we are hiring of course the obligatory plug dice.sc jobs we have a whole bunch of positions in stockholm and los angeles again my name is ryan duffin i'm an animation leader at dysolay and this has been my talk
i guess we have five minutes for q a uh if if you have a question please come up to one of the microphones oh and sorry before and and that's microphones here and also please remember to fill out your uh your surveys i know this this was also a very competitive time slot so hopefully you all liked it sorry thank you for the talk i was just curious with all those weapons you keep constantly adding to the game do you guys or each weapon have separate anim sets or do you have any sharing animation to kind of save room i guess in the game there are a lot of the what you're seeing here in first person most of that is bespoke animations but there's a lot that gets shared by weapon type i i actually had a whole bit in my talk that broke down our system for that but it was an hour and a half so i had to cut it all out but basically like all of the most of the weapons are using uh like the same sprint animation additively and things like that we don't we don't do locomotion per weapon we don't do interaction per weapon melees are all it's a different it's a
different deploy altogether so uh first person is mostly bespoke you know deploy and reload and all that stuff third person most of our like a normal third-person weapon is seven animations it's not mid-seven animations it's three reload animations and four additive poses so yeah we share like crazy okay thank you we share where no one will notice i should say or where it doesn't matter do you ever use motion capture for the hand animations or is it just pure skill to do it i'm sorry do you ever use motion capture to do the hand animations no no we've never motion capture we use for um for the melee attacks basically the complex interactions are are done with two actors in mocap but for the weapons stuff we talked about this a little bit on twitch yesterday but what i've found is that even if you get like we've had access to navy seals in the suit but it doesn't necessarily look
right from the first person perspective we can put an actor in there and they don't necessarily know how to use the gun uh so it winds up there are probably some ways that we could start with motion capture and clean it up but it's it's just more efficient and gets us the results that we want better by by using by just keyframing everything anyone else all right cool thank you you
Auto-generated captions from YouTube — names and numbers may be misheard.
Game Developers Conference · 2026
Game Developers Conference · 2020
Comments