Tower Defense Custom Engine

This project was made in a custom created engine with a small group of people. Here I worked on the gameplay of the towerdefense. We used an Entity Component System for this project. We used the standard library and some custom implementations.


This project was made in 4 weeks total.

I have worked on the wave system, tower system and the camera system.


Wave system, 

I have created a wave system for the towerdefense, I used a map for this to store the enemies that I want to spawn for that wave. Data is created on start of the program and read when needed

Here are examples on how I have done the wavesystem. 

Tower system.

I have created several towers with unique attacks such as a sniper tower and a tower that shoots projectiles that bounces between enemies.

Some improvements I could have made was creating a struct with the data, or a lookup table just for the models.

I decided to keep track of the nearby enemies (enemies in the tower range) by storing them in an array, this array is used to check if they are in range or not.

This part with my current knowledge would be completely different.



Camera System.

I made the camera system have clamped values so you dont accidently spin upside down.

You can move the camera around with WASD keys, rotate with the right mouse button and zoom in and out using the scroll wheel.