Setting Up Character Sockets for in Game Weapon and Shield Changes
Setting Up an AnimTree for the Orc Chieftain to Control Animation Blending
Setting Up Animation Time Notifications to Generate Perfectly Timed Footstep Sounds

Character Animation Control

I worked on the technical design and implementation of character animation control for The Warlock of Firetop Mountain. The designers decided the actions that were required I then had to design how they would physically work in the game and between us we requested the appropriate animation sequences from our character artist. I then designed and created an animtree to control the blending between animations inside the game. This was fundamentally done by having switches with several states the player could be in, which had the appropriate animation attached to them. Enemy characters are controlled in a very similar way but use their own animtree.

The code was then linked to the animtree and as the player state changes in the game, the code moves the switch in the animtree to the correct position and the current animation blends into the correct animation for the current state. The animation control code for the player is located in the FFPawn class, which is the visual representation of the player character.

View FFPawn Class Source Code

Character Sockets

We used character sockets which are marked positions on the skeletal mesh for the character where new components can be added. These were used for the player’s weapon and shield as it meant they could be modelled separately and so were changeable. The socket system that I implemented attaches a weapon and shield defined in the players properties at the game start but then if the player interacts with a special object in game the weapon or shield that is attached can be changed during gameplay. We used this as part of our progression as the player is able to find a better swords and shields during the adventure. I also implemented an additional socket system for the weapons and shields that allows particles to be attached to them in the properties. This feature was going to be used for special effects but unfortunately due to time constraints it hasn’t been used.