This was made in the Unity Game Engine using C#.
These videos helped me when creating this project
for the enemy spawning in WaveSpawner.cs
for the camera shake when firing in CameraShake.cs
for the action of firing in Shoot.cs
for enemies following the player in Enemy.cs