Overview

The future of competitive space shooters is in early development. Breach enemy defenses with battle craft in TPP, board capital ships and take objectives inside in FPS combat. Project genesis was an awesome project and really helped me solidify some of my technical skills.

Thrusters


Gatling Gun


Destruction


Explosions

Lasers


Shields


Ion Cannons


Missiles


About the Shields

The shields I created for the capital ships were definitely one of the coolest and most difficult challenges I have ever faced as a developer. I needed the bullets of each shot to tell the shield system where it had been hit then play an effect that was attached to the same shield material. After digging and looking for some way to pull this off, I came across the idea of using sphere masks to show the damage location of the effect. I could place a sphere mask next to the shield and mask out that part of the material. Now I needed to be able to detect when the bullet hit the shield. So, I opened the shield blueprint and on component hit I was able to trigger a timeline that would increase the size of the sphere mask from 0 to 1 to 0. Now to move the location of the sphere mask. I was able to get the hit location but I had no idea how to pass that vector 3 location to a material. I did some digging and came across material parameter collections. I found you could change those values in a blueprint and they would update the vector parameters globally. Since there was a Gatling gun ability I needed to have about nine different sphere masks operating at the same time getting new locations sequentially every time that a projectile hit the shield. I created nine sphere masks in the material all with the same effects on them and added them all together. I then in the blueprint did a switch on int and increment it up one after each shield impact. In each of those switches, I told the hit location to update the corresponding material parameter collection values to the location of that specific hit bringing the shield to life. This process took me a couple of weeks to wrap my head around and get it functioning properly but it was one of the coolest and satisfying effects I was able to complete.