Spellbound Sentinels

February 2024 – Present

This project is a third-person tower defense built in Unreal Engine 5.3.

Responsibilities

  • Player Skills
  • Building System
  • Wisp (Upgrade) System
  • Skill Trees
  • User Interface
  • Menus
  • Audio and Animation Systems
  • Niagara effects

Player Skills

To create the player skills in Spellbound Sentinels, I have a “Caster” class that holds reference to a “Spell” class. The Caster will create the Spell and will activate on release if the button has been held for the specified duration. The spells themselves have a list of enemies that are inside their sphere component that will be damaged on command. All spells inherit from the Spell class so new spells can be created easily.

Building System

The building system works very similarly to the player skills. The difference is that the player has a Building Manager Component that will spawn a building when the build mode button is toggled. The building starts in a “preview” mode that appears either blue (if the building can be built) or red (if the building cannot be built) and slightly transparent. When the build button is clicked, the preview mesh is disabled and the actual mesh for the building is then enabled. This action also turns on the AI controller for the building.

Wisp System

The wisps themselves are actors that have no mesh attached and hold on to the stats that they boost. I have created a Wisp Storage Component that actors can have that will hold on to their wisps. The storage component is responsible for altering the stats of the actor, as well as turning on/off the Niagara effect of the floating skull.

Skill Trees

The skill trees work in conjunction with the Save Game class created by Unreal. The save game has each base stat for the player and the skill tree widget increases those stats every time the Apply button is pressed. The Reset button saves the number of Gems collected by the player, deletes the save file, creates a new save file, and adds the appropriate amount of gems back to the player. During a match, the player grabs the base stats from the loaded Save Game file before applying any bonuses that are acquired while playing.