Tower Defense

Tower Defence

Project Type: Solo

Technology Stack: Unity

Role: Game Designer, Level Designer, Programmer

GitHub: Tower Defense


Short Description

This project goal was to make a game design document and create a game prototype with a new level, enemy and tower while working with the pre-existing codebase. One of the requirements was that each new element should have unique mechanics. Moreover, the game design document should contain other developers feedback as well as an example of feedback provided.

Descriptive Detail

After initial element planning, I have analyzed each using a game design. Following game design principles were applied:

  • MDA
  • Iterative Model Design
  • Flow Theory
  • Core Gameplay Loops
  • Interesting choices
  • Fairness

First, was the new tower design. As I did not want to copy from existing solutions, after a small analysis I found that support towers are rarely used in games. Then I created a prototype that gave some “fire rate” boost and playtested, but it was not enough and it did not create any dynamic in-game. To fix this issue I introduced “in-game trade” while a player gets a “fire rate” increase, enemies get a “movement” boost. This created not only additional challenges but enforced tactic aspects of the game.

Then it was time for enemy design. As I wanted to bring some innovative gameplay I thought about interaction with the economic system. After creating few prototypes and playtesting them I stopped on an option where the enemy reduce the amount of “energy”(in-game currency). To balance the game, first I made a reward for killing a new type of enemy equal deducted amount. To make the game even fairer, I introduce the enemy by spawning it in the non-critical moment, but with level progression, timings and balance management become more critical.

Last, was the most interesting part for me – level design. After different games analyses, I have found that most of the tower defence levels have the same design pattern. Each level has blind roads or spots, there are loops and usually, in the end, there is a “split road” element.

After creating the level layout, to enforce visual aesthetics I have added some environment assets and simulated water using a shader graph.