TOWER DEFENSE GAME

Features are as follows:

Placeable Turrets - The user is now able to place 3 different turrets however, they cost “Cash”, which is the currency I used in my game. Every node is available however, once the node is taken up, the user can no longer place a turret in that node. When the user hovers over the node, it will either be green or red. If the node is green, the user has enough cash and can place their desired node. If the node is red, it usually indicates that the user does not have enough cash or a turret is already placed in that node. Each turret has its set range, its own attacking speed and cooldown, as well as its own effects when the turret attacks the enemy. Once the enemy is within range of the turret's attacking area, the turret will then attack the enemy. I made buttons for the user to choose from, indicating the separate turrets with each one of them having its own price point. All the turrets are prefabs as well as their effects that go along with them. The inputs would be from the buttons, which the user can choose 3 different turrets from, each having its own price point.

Animations:

Using unity animations, I basically made the “GAME OVER” screen fade in once the user loses all his lives or if they want to end the game themselves, the can simply just hit “e”. I did also change the animation states using the animation controller with the effects of the turret,(This effect is more noticeable with the launcher turret as it shoots a huge explosion.).


Camera Feature:

The user can easily move during the game with the “WASD” keys and as well as their mouse. Depending on where the mouse is placed, the camera moves within that direction.


Cash Feature:

The player starts off with $500 “Cash”, which is the currency I made for the game. Whenever the player destroys an enemy, they get $50 each time. The player also loses cash whenever they place down a turret. The first turret costs $170, the launcher turret costs $445, and the laser turret costs $800.

Turret Features :

Damage Feature:

Each turret has its own damage output, as well as its range and in some cases can slow down enemies or hit multiple at once.  The launcher turret has an explosion radius that can hit multiple enemies at once. The laser turret can slow down enemies. The laser turret has the most range with 30, the launch turret has a range of 25, and the standard turret has a range of 15.

Fire Rate Feature:

Each turret has its own fire rate, which outputs how fast the turret will shoot. The laser is a constant beam, the standard turret has a rate of fire of 8 and the launcher has a rate of fire of .8, being the slowest out of the turrets. This feature also determines the cooldown of the turrets attacking, which again the launcher has the slowest cooldown as the laser turret is a constant beam, which has no cooldown.

Special Effects:

This applies only to the launcher and laser turrets. Once the launcher shoots its missile and hits the target, the missile will have an explosion radius which hits multiple targets at the same time. I also implemented a particle system once the missile explodes, particles appear as well as a light which I add animation to. The laser turret actually slows down the targets once it hits the target.

Turn Speed Feature:

Each turret has its own turn speed, the launcher having the slowest turn speed and the laser turret having the fastest turning speed.


Canvas Feature:

On top of the map, it shows the amount of lives the user has, the time of which the next round will start, and will show the amount of cash the player has at the moment. I have four scripts in play to implement this. CashUI, shows the amount of cash the player has, LivesUI, shows the amount of lives the player has, Spawner, which shows the amount of time left until the next round, and the Stats script which is the overall stats of the player which is the cash and lives.