SUNSET HALL ALLIANCE
A chaotic third person tower defence game; influenced by games like the 'Orcs Must Die! series'. Battle against hordes of enemies using interesting & creative traps. Can you hold them off or will darkness reign over the Sunset Hall Alliance?
Team / Duration: 3 / 7 Weeks
Genre: Tower Defence
Focus: Create a short vertical slice for a "tower defence" game
My Role: Games Designer / Systems Designer
Engine: Unreal Engine 5
Purpose: MA Final Project (2022)
Software Used: Unreal Engine 5 / Adobe Illustrator / Git Hub (Source Control)
Design & Mechanics
This project required multiple systems to be created. As I was the games designer / tech designer, I was tasked with creating these systems. I wanted to possibly open this game to be multiplayer in the future, therefore I wanted to create the blueprints in a way that allows for this to be possible, by using interfaces & event dispatchers.
SYSTEMS CREATED:
-
Customisable wave systems (using Structures & Data Tables)
-
Varied enemy types, traps & status effects (using Blueprints, Behaviour Trees & Navmeshes)
-
Implementing UI & Menu's (using the Widget System)
-
Ability System (using Unreal Gameplay Ability System)
Dynamic Collision box
Shoots out a linecast to calculate required length of the collision box
Using the 'returned' linecast length with preset width and length values. The collision box height value is set to the linecast length and the collision box is automatically sized to the appropriate size
Shoots out a linecast to calculate required length of the collision box
Custom AI MoveTo
Task is called by the AI's Behaviour Tree
The Task calculates the AI's path and checks if the path to the objective is blocked. If it is the enemy will perform another Task.
Task is called by the AI's Behaviour Tree
Wave Spawner
Created a Data Table using Structures (Structures include an array for character types, an array for amount of each type to spawn for a wave & an array for which spawnpoints to use for each wave - any value over the maximum amount of spawnpoints causes the spawner to decide enemy spawnpoint at random)
Includes information for enemy types and how many of that type to spawn (This information is for 1 wave & can have multiple enemy types in 1 wave)
Contains an array of structure 1 (1 element = 1 wave) and an array for where each wave should spawn. THIS IS THE STRUCTURE USED IN THE DATA TABLE
Created a Data Table using Structures (Structures include an array for character types, an array for amount of each type to spawn for a wave & an array for which spawnpoints to use for each wave - any value over the maximum amount of spawnpoints causes the spawner to decide enemy spawnpoint at random)
Building Functionality
Create perpendicular lines to create squares
Create multiple lines to create the grid patterns
Different Trap Types the player can buy
Create perpendicular lines to create squares