Portobelly Production Journal #33


Today I wanted to focus on the AI implementation for the spiral spore.

Fig 1 - Initial glide attempt for the spiral spore

Fig 2 - Spiral spore behaviour tree

This behaviour tree works similarly to the previous enemy behaviours trees in the fact that they use two different enumerations, one for the inactive states and one for the active states. The service at the top of the behaviour tree checks if the spiral spore should be activated or not. I will probably change this service so that it only activates once so that once the spiral spore has been triggered it will stay active even if the player moves away from the enemy.

Fig 3 - Glide blueprint task

Fig 4 - Spiral spore character blueprint

Getting the glide to work as I intended caused me a lot of issue because Unreal doesn’t not support AI navigation while the player is flying or falling. To combat this I had to take a different approach to how the character will move. I used a projectile node to launch the enemy at the player with a reduced velocity. I also reduced the gravity scale when the enemy reaches the apex of the jump. To notify the apex of the jump I had to bind a custom event to the apex of the jump within the character blueprint. The character blueprint controls the active states of the spiral spore much like the systems used with the other enemies.

Fig 5 - Landing sound cue setup

Since the sound designer on the team had created some landing/bounce sound effects I decided to implement them into the game to add some more “game feel“ to Belly’s movement. When setting up the sound cue for the I used a randomise node so that I could input several sound effects at random so that the player won’t receive the same sound effect often. Doing this will add some variety to the landing sound effect and prevent it form becoming repetitive.

Fig 6 - Bounce sound blueprint attached to OnLanded event

I wanted the sound effect to be played at a different pitch depending on the size of Belly. For example, when the player is small a higher pitch sound will be played than if the player was larger.


Figures List

  1. Rees, O (2019). Initial glide attempt for the spiral spore. [offline]. [Accessed 07/03/2019].

  2. Rees, O (2019). Spiral spore behaviour tree. [offline]. [Accessed 07/03/2019].

  3. Rees, O (2019). Glide blueprint task. [offline]. [Accessed 07/03/2019].

  4. Rees, O (2019). Spiral spore character blueprint. [offline]. [Accessed 07/03/2019].

  5. Rees, O (2019). Landing sound cue setup. [offline]. [Accessed 07/03/2019].

  6. Rees, O (2019). Bounce sound blueprint attached to OnLanded event. [offline]. [Accessed 07/03/2019].