↑Get the game here on Itch.io↑

Unreal Engine 5 | Blueprints
Solo Project | 10 Week Production Time

The generative AI: Suno (version 4) by Suno, Inc. was used to generate the music used within this game and trailer.

Pixel Art & Implementation using Paper ZD

I self taught how to import sprites, create animation graphs, state machines and integration with the character blueprint using the Paper 2D and Paper ZD plugins.

Occlusion Mask

Through support from my partner I developed and implemented an occlusion mask that allowed the player character to be viewed while behind objects and walls. I then further developed it by making it ignore objects with an X axis greater than the player.

Interaction System

As delivery mechanism for story I implemented a interaction mechanic that allows the player to receive dialogue from NPCs.

Player Combat

I created three attacks for the player character: melee that regenerated magic for the spells, fireball and lightning.

Fireball

The fireball spell was the hardest to create as a typical UE5 top down ranged attack would use the direction the character was facing as a target vector, however due to the character being 2D that I had to find an alternative, the method I found was the place an arrow on top of the character that would point at the mouse’s click location and the projectile would use the arrow and the clicked point to create a line trace that the fireball would follow.

Lightning

The lightning attack uses a similar system to the fireball except it was designed as a of an instantaneous attack rather than needing to be aimed and timed with the fireball. When running play tests I found that players found the lightning too easy to use compared to the fireball, making the later weak in comparison. To remedy this I decreased the power of the spell and increased its cost.

Melee

I introduced a magic resource for the fireball and lightning spells that would balance them against the enemies, however I found this led to the player running out of the magic resource. A friend suggested that I add a melee attack to allow the player to defend themselves when they had exhausted their resources and to have the melee recover magic on hit to encourage its use.

Power ups

Enemy AI

I self taught how to use AI controllers after struggling with Pawn Sensing and the 2D characters, Blackboards, Behaviour Trees and how to create functions for the behaviour tree to run, creating smooth AI that followed their set routines.

Boss Battle

I created Boss Battle, with two phases and three attacks that increased with intensity for the second phase. These attack were chosen by random integer selection. The attacks were:

Fireballs

The fireball attack works similarly to the fireball that the player has. However, instead of the arrow targeting where the player clicks the four arrows spin around the head of the boss so when the fireball attack is triggered they spray in a spiral pattern

Lightning

The lightning was the simplest attack to create as it tracked the player at the start and middle of the animation of the boss casting the attack, these tracked player positions would be where two lightning bolts would strike. it was designed so if the player kept moving they would be able to avoid it. The attack was again based on the player version with greater area of effect and damage.

Shockwave

This attack had an exception to the random integer selection where if the player was within a small radius of the boss the switch on integer would be skipped and it would jump to the shockwave attack. The attack itself was simple as when triggered a sphere trace would check for the player and damage them based on the distance from the boss. The attack also knocked the player back towards the edge of the platform of the boss arena.

Phase two

All the attacks had a phase two version. The fireballs would have eight arrows making them harder to avoid. The phase two lightning added a third lightning bolt which was larger and dealt more damage. With the Shockwave phase two it was changed the most. Instead of one wave it became three waves increasing in size, the first smaller that the original, the second the same as the original and then the third bigger that the original. I scaled down the damage for it however as it was unbalanced but I increased the knockback to compensate and increase the danger.

Forest Atmosphere

Scaling Levels

The levels are designed to be played linearly as the diffcultiy increases from level to level

Walkthrough

Mechanics of the Game


I acknowledge the use of the generative AI: Suno (version 4) by Suno, Inc. in this work to generate the music used within this game