Portobelly Production Journal #37


Last week I set myself the goal of completing all of the AI behaviours so that I can begin to blockout the end section of the game. I feel I have exceeded this goal as I was able to complete the AI behaviours for the spiral spore which allowed me to refine some of Belly’s abilities, such as adding sound effects and squash and stretch to Belly’s movement.

This week I plan to refine the enemies by adding animations to all of their states and implementing the animations with state machines. I also plan on adding the enemies into the level so that I can finish the blockout of the level.

Fig 1 - Problems with the skin weights for the legs of the BFF

Fig 2 - Updated skin weights for the BFF

Due to the limitation of being unable to connect to Perforce at university, I decided this was a good time to work on the animations for the BFF. When creating the first animation I realised that there was issues with the skin weights around the legs of the BFF which was causing undesired results. After some time editing these skin weights I painted the skin weights in a way which would allow the legs to bend correctly. The finished result can be seen on the right.

Fig 3 - BFF idle animation

Fig 4 - BFF walk animation

Fig 5 - BFF blend space between idle and walk animations

To create a blend space for the walk cycle I needed to create an idle and walk animations so that the walk would work at different speeds. When creating the walk animation I wanted to exaggerate the movement as much as possible as the BFF is a very heavy and sluggish character. Adding exaggerated animations would allow the animation to be noticed from a distance which is what we need since the camera in Portobelly is quite far from the player.

Fig 6 - BFF fire start animation

Fig 7 - BFF fire loop animation

Fig 8 - BFF fire end animation

When creating the firing animation I broke it up into three sections, the start, loop and end so that the BFF could fire multiple projectiles without having to come out of the animation loop after firing each projectile.

Fig 9 - Animation state machine

Although it’s not implemented yet, I wanted to include a fire end state on the state machine so that the enemy can end the firing animation and return to the walk cycle.

Fig 10 - Adding a firing event to activate the firing montage

I had to add a firing blueprint task to the AI behaviour tree so that the enemy would be notified to start playing the firing animation as there was no way of the enemy knowing when to play the firing animation. This task can also be setup to end the firing animation which I will need to include when I implement that feature.

Fig 11 - BFF animation implementation

One issue with BFF at the moment is that it does not face the player when it’s firing and the fact that once it starts shooting it does not stop.


Figures List

  1. Rees, O (2019). Problems with the skin weights for the legs of the BFF. [offline]. [Accessed 13/03/2019].

  2. Rees, O (2019). Updated skin weights for the BFF. [offline]. [Accessed 13/03/2019].

  3. Rees, O (2019). BFF idle animation. [offline]. [Accessed 13/03/2019].

  4. Rees, O (2019). BFF walk animation. [offline]. [Accessed 13/03/2019].

  5. Rees, O (2019). BFF blend space between idle and walk animations. [offline]. [Accessed 13/03/2019].

  6. Rees, O (2019). BFF fire start animation. [offline]. [Accessed 13/03/2019].

  7. Rees, O (2019). BFF fire loop animation. [offline]. [Accessed 13/03/2019].

  8. Rees, O (2019). BFF fire end animation. [offline]. [Accessed 13/03/2019].

  9. Rees, O (2019). Animation state machine. [offline]. [Accessed 13/03/2019].

  10. Rees, O (2019). Adding a firing event to activate the firing montage. [offline]. [Accessed 13/03/2019].

  11. Rees, O (2019). BFF animation implementation. [offline]. [Accessed 13/03/2019].