TL;DR #7: A primer on animating Solasta

1 week ago (edited)

Hello there folks! We're back with... TL;DR? What is this nonsense? Well, we thought that having two different type of articles named "Dev Diary" and "Dev Update" might be a little confusing, so we decided to rename "Dev Diary" into "TL;DR". As a reminder, "Dev Update" articles present the work we do on Solasta on a bi-weekly basis, while "Dev Diary / TL;DR" focus on a particular topic - like Game Design, or in today's article, Animation. 

If I had to name one person as a reliable source of entertainment in our studio, it would be Grégoire - our Lead Animator - for he truly is a mystery. On one hand, he is a one-man army who constantly produces high quality, buttery smooth animations at an incredible speed. On the other, he regularly unleashes cosmic horrors upon the rest of the team for his own amusement (...and ours too, let's not lie about it). Just check the gif at the end of the article, you'll see what I mean. 

Now that's a face you wouldn't want to see in a dark alley.

I, therefore, decided to sit down and have a chat with him to learn more about his secrets. What does an Animator do at Tactical Adventures? TL;DR (Too Long; Didn't Read) at the bottom. Note: I am by no means an expert in animation, so this is a simplified look - there are tons of tasks he's taking care of, we will be focusing on the most common ones.


Rigging

In order to make a character in Solasta, you usually go through several major steps: Concept Art (2D), High-Poly Model (3D), Low-Poly Model (3D)... But that's not the focus of today's article. Point is, when our 3D Artist provides a complete 3D Character Model to our Lead Animator, there is still a lot to be done. Unless you plan on having this character be stuck in a T-pose somewhere and not moving - ever - you will need to do some rigging.

Wow, imagine all the microtransactions we could sell with those sweet moves (that was a joke, put down the pitchforks).

To put it simply, rigging would be like creating the skeleton of the character. For example, if you have bones for the arms but not the hands, you character will never be able to form a fist or open his hand. Some rigs can be quite basic, like rigging a bow so that the bowstring can be pulled to let the arrow fly - while others can be extremely complex, like a character's face in cinematic games with facial motion capture (such as in Detroit: Become Human). Rule of thumb is, if it's animated, it was rigged beforehand - no matter if it's a character or an object.

Thankfully, these bows don't break - otherwise I'm pretty sure we'd be ordering a replacement as we speak.

A proper rig is key in order to achieve smooth and complex animations, so it's a very important step. On top of that, one has to keep in mind all the technical constraints that come with the game - are we running a pre-rendered scene, in which case we can have very elaborate rigs because performance is much less of an issue? Is it real time rendering, in which case how many characters are shown on the screen at all times? 

These are but a few questions from a long list that will impose restrictions on the number of bones allowed in a single rig (again, think skeleton). Going back to our previous example, maybe that character doesn't really need bones for his hands. Maybe he's a brawler who will always appear on screen with his fists clenched, ready to fight. On the other hand, creating very different rigs for each character can also be very time consuming - so even if he doesn't need his hands animated, he might still have a rig with hand bones included. There's a very delicate balance between the time needed to create custom rigs, the quality of animation we want to achieve, and optimizing the game so it doesn't run like a wizard who rolled a 1 on Athletics. 


Animating

So we've got our Character all rigged up! Now let's start churning out animations. 3D Animation shares a lot of similarity with 2D Animation: you focus on creating keyframes - in this case, the most important moments that define your animation - and the software does the inbetweens to smooth it out (although in traditional 2D animation, inbetweens would often be drawn by hand by more junior animators). 

1st pass (Keyframes only) - Rough intentions

3rd pass (Keyframes only) - Additional keyframes to improve the animation

The quality of the animation will heavily depend on the keyframes - their quality, but also their quantity. Having too few keyframes will often lead to some very strange looking (or even completely absurd) animations. 

1st pass - Animation with inbetweens. It looks very floaty and wrong because there are too few keyframes.

3rd pass - Animation with inbetweens. The spider now looks much more threatening and energetic.

On the other hand, creating too many keyframes means you're spending a lot of time on a single animation set. Is it really THAT important to open a chest with style, when you know there's a ton of work to be done? Climbing, walking, flying, jumping, talking, sitting, attacking with a spear, attacking with a sword, dagger, bow, crossbow, axe, etc etc... Turns out you really need A LOT of animations to make a game. But wait a moment, you think. Wouldn't it be cool to add a special animation for critical hits? That's just one more animation in the middle of so many, right? 

Come on and slam, and welcome to the jam!

This is when you have to start thinking about time - how many animations can we possibly make without putting our release date at risk? That cool "crit" animation wouldn't work the same on every weapon, so you would need to add as many variants as there are weapons... In a game like Solasta where there is a large choice of weaponry, that small "cool idea" suddenly becomes a large timesink. Not that I'm saying we won't have cool ideas - our backlog is full of it. You can bet that we'll do our best to bring you an immersive and beautiful game! 

"What are you gonna do, stab me?" - Dead character after failing his Intimidation Roll

Integrating

The last part is integrating all of these into the game. Integration both means that you add the character in-game so that others may use it (like the game designer who needs to put monsters for an encounter, or an NPC for a quest...), and plugging the different "gameplay actions" to the animations (so that clicking on attack while you hold a sword activates the sword attack animation).

Here you can see that the running animation changes depending on speed and inclination (stairs)

This last part can often lead to fairly entertaining results when mistakes are made, such as having the rogue smashing his dagger on someone's head as if he held a hammer, tiny spiders jumping to climb stairs instead of crawling up, or Violet using an orc's face rig. Except that last one was on purpose, and it was less entertaining and more terrifying.

And that's why every party needs a Cleric. To keep these abominations away.

Et voilà! I hope you enjoyed reading this week's article on animation, and if you did go @Halfling on our Discord Server to shower him with love. And do tell us in the comments, what animation are you most interested in seeing? We'll share it on our Social Media when we have it ready!

Article's over, time to head out. It's beer o'clock. 

TL;DR: Animator puts bones in 3D model, like skeleton. Makes it move. Tells game to show correct move when player clicks button. Makes funny gif otherwise.

Read our previous articles here:

Article by Tactical Myzzrym & Halfling