top of page

Documentation

Balance Sheet

In order to balance all the towers and their effectiveness on the enemy, I created a balance spreadsheet. The spreadsheet calculates how strong a tower is against each unit. The enemy and tower values can be easily adjusted to see the effect it would have in game. Once the towers were balanced in the sheet, the values would be copied over to the data table in the engine for testing.

Features Implemented

Tower Placement Grid

​​I created a grid system that allows for the player to place of tower around the map.
 

The grid has adjustable values that make it easy to create different types of grids. The tower placement is done by converting the selected tile coordinate to a world location which is then used to spawn the towers at their position

​

​

Tower Placement Examples

Towers

I created the towers for players to place around the map to combat the hordes of enemies.

​

I made a base for the towers that can be easily adjusted to change their look. The tower receive data from a data table. This data is then used to set stats like rate of fire, range and attack. The data table provides a clear oversight of the stats of all towers and allows for quick adjustments. Towers can be sold to allow the player to change their tactics for a small price.

Tower Examples

Enemies

I created the enemies to challenge the player and without them the game would just be a tower builder.

​

I made a base for the enemies that can be easily adjusted to change their look. The enemies receive their data from a data table. This data is then used to set stats like health, movement speed and armor. The data table provides a clear oversight of the stats of all the units and allows for quick adjustments. When enemies die, the player receives resources that can be used to build more towers.

Enemy Examples

Enemy Spawner

I created the enemy spawner to challenge the player in waves composed of different types of enemies

​

The wave spawner is a simple actor of which multiple can be placed in the level. A spawner receives the wave composition from a data table that is assigned to it. These data tables can be easily adjusted to change the flow of enemies.

Enemy Spawner Example

Resource Management

I created the resources to challenge the player into creating a plan and build their defenses in a map with a finite amount of resources.

​

The player has to manage their resources during play. These resources come in the form of building resources and lives. Building resources are used to construct the towers on the map. Lives are used to determine the amount of enemies that are allowed to reach the end of the map. The amount of resources and lives gained at the start of the match is determined by data table. 

Resource Management Example

Levels

I created the levels to teach the player about the mechanics of the game and to test their skills with these mechanics

​

At the current time of writing, there are four levels within the game. The first three introduce the towers that are currently present in the game. The final level is more focused on teaching the player about mazing the enemies and using all the towers together.

Level Examples

User Interface

The user interface is one of the few things that was created in blueprints instead of C++.

​

The user interface to allow the player to interact with the game world through placing towers and displays information about the state of the game. This information comes in the form of the amount of resources currently available, the amount of lives of the player and what wave they are currently on.

User Interface Examples

bottom of page