Now we come to the drama that inspired all this hullaballoo.
In Wolfenstein, the player is able to walk 8 directions, while aiming his gun 8 directions.
In Vargenstone, the player is supposed to walk 8 directions, while aiming his gun 8 directions.
That is 64 versions of each animation involving the weapon. 64 walks. 64 idles. 64 attacks. Even keeping the framerate low, to 5 or 6 frames, and at the low quality where I spend 20 minutes on an animation, that’s… a bit of work. When you consider I have to make a separate version for when the dwarf is disguised and armored, it’s 192 versions of each animation.
Now it’s not quite that bad. One of those elements (aiming or walking) but not both can be mirrored for all the left- and right-facing animations. So that reduces us to 40 instead of 64, or 120 instead of 192 versions of each animation. But that’s still one full time week per animation per character. Except I need to spend more than 20 minutes per animation.
And if we set aside my complaining about work, that’s a lot of graphics data to try and store in a game that’s meant to run in your web browser.
Wolfenstein solves this by not solving this.
Your body can animate going four directions, but because of the low possible fidelity, they are almost indistinguishable. Your gun can point in, IIRC, 5 directions per hand, and be in either hand.
Enter the Gungeon solves this by animating your character in four-directions: the diagonals.
That reduces the number of character animations to 2 sets which can be flipped. Since both sets are facing to the side, they then attach your gun to the side, and rotate the gun sprite in code, giving them 180 degrees of rotation on each side.
Again, they are able to get away with this in part because of the look of their graphics. If I were to make Vargonstone work this way, I’d have to redesign the graphics from the ground up, and then get approval from the designer, who has already approved the concept work I did 4 years ago.
Now, I could probably get away with doing one of each animation in each direction. E.g. if you aim southwest and move north, the southwest walking animation plays. This kind of shenanigan is done in games all the time. Even in big-budget, AAA, 5 to 10 year dev cycle games.
But I’ve chosen to split the torso off from the legs because I’ve decided to make the work I had previously done work. Which brings us to where we are today.
Today, my goal is to draw a single frame of the upper torso aiming forward, for each of the five directions I need to animate in. Then rig it up in Unity in my little “art playground” scene so you can aim in 8 directions and walk in 8 directions.
The key will be the difference between the direction you aim and the direction you walk. I am convinced I can choose a rotation of up to 45° without it looking bad. So, if you are facing South, aiming south, southwest, or southeast are all acceptable to just play on the upper torso. I think a 90° twist that only manifests itself in the dwarf’s tiny, obscured gut is too unrealistic. My intended solution there is to turn his legs one notch toward his aim, so if he’s walking south and aiming east, the south east walking animation will be playing with the legs. And then for the remaining possibilities, I intend to play the walking animations backwards.
I’ve already got a folder full of crossbow reference renders.
Even made a test animation of the bow firing and reloading. Alas, in only one direction.
All I need right now is it pointing in each direction, though. We’ll worry about shoot animations after we solve the 64 combinations of directions problem.
Using the 3D reference renders is fine. I just need to crop them and shrink them down to the right size. Comically large in the hand of the dwarf, reasonably sized in the hands of the orcs. We want to reuse the crossbow in all cases.
Looking at it, the 3002 render is already a pretty decent scale for a comically large crossbow for my 802 draft animations. Which is weird and wrong, but don’t look a gift horse in the mouth.
I want it to be a little smaller, but not much. Say, 30%ish?
Having sorted through ’em, looks like I have five frames per direction.
Not sure I want to keep all of these as is. I’ll want to build animations along the lines of the sample one I made for shooting. For drawing, loading, and putting away, I don’t need 5 sets of animations; I can do two sets, like Enter the Gungeon, and have the dwarf angle his torso if he’s facing a cardinal direction. It’s only pointing and shooting that need to be directionally accurate. But to get the directions working, I only need pointing. So I can stow these references for later, and just add the directions themselves to the sprite folder.
Right. Time to make some torsoi.
That’ll do us for now. Now we need to make backwards walking leg animations, and aiming animations in Spriter, and then finally combine it in Unity somehow.
I’mma grab a bite, then dive in.
It took me 2 more hours than I had allotted, and I’m starving, but I don’t care. Because I did it. I freaking did it!
So, some notes:
- I’m going to have to separate the torso and head in the final animation, otherwise the crossbow won’t layer properly. I was going to do this anyway, as I have a slight breathing animation going in the idle stands, and it looks weird when you notice the head expands too. (Technically, I should also separate the arms to make it look right, but let’s not overdo it.)
- Except for the low quality of the art, this is a Minimum Viable Product of the Dwarf. I don’t need to make drawing/sheathing/shooting/reloading/getting hit animations. Players will accept a static crossbow that spits arrows. I want to make all of these animations, as well as a dying animation and winning. But they can wait until everything else in the game has MVP assets.
- You have no idea how stoked I am to have pulled this off.