Alien Defender is a tower defense game I've been developing as a visual effects and shader showcase. The goal is to prevent the aliens from reaching their space ship and escape when too many get aboard.
In addition to designing and programming the game itself, I created all of the models, shaders, and visual effects that you see in the game. I wanted to keep the usage of 3rd party assets to an absolute minimum.
Models
I created the models, textures, animations and rigs for every object you see in the game. I did this in Blender. I made sure to bake the textures of all of the models so they only use one material each and kept the polygon count to a minimum. This minimizes GPU impact and allows the game to have many instances of aliens and towers on screen at a time.
Shaders
I've created many shaders in Shader Graph for this project so far. You can click on each image below for an explanation of how they work. I love being creative with Shader Graph. Combining custom shaders with particle systems is where things get especially fun.
Visual Effects
Many of the effects, such as the explosions, the alien ship beam, and the enemy spawn, utilize custom shaders made in Shader Graph that are applied to meshes I made in Blender, which are then spawned and controlled with VFX Graph. However, VFX Graph is not currently compatible with WebGL, which is used to play Unity games in the browser. So, I re-created these effects in the standard Unity Particle System which does work in WebGL.
You can play Alien Defender in your browser in the embed below, or on Itch.io. The gameplay is still a work-in-progress.