Starfall is a third person action shooter wherein the player must survive waves of increasingly difficult inter-dimensional adversaries using Kuze’s machine pistol, daggers, clone, and dash. I programmed a robust character controller in C# that enabled smooth movement on angled and moving surfaces, movement displacement abilities, input mirroring via the clone ability, and controlled a layer-based, IK equipped animation system.

I served as team lead for a team of 20 talented developers who created Starfall, conceptualizing the vision for the game and managing its development from start to finish. I oversaw pipelines for programming, design, and art, planning milestones and deliverables in accordance with Agile-Scrum requirements. Working across teams, and facilitating communication between them, allowed me to utilize and reinforce my skills as a T-shaped developer.

I programmed and designed all the enemy AI in the game with behavior trees, including four unique enemy types. Because all characters in the game used a custom character controller, I hand coded all path following logic. Flying enemies presented unique navmesh challenges, but using a combination of intelligent variable altitude and capsule casts allowed for their realization. I tweaked enemy aggression, damage values, accuracy, and ability cooldowns to facilitate a suitably fast-paced and high octane experience.

Starfall’s unique visual style hinges upon music visualization shaders, which use a combination of vertex resolution, vertex displacement, and noise driven heat diffusion to pulse and vibrate in sync to designated frequency bands of a song. I created these shaders in Unity Shader Graph and programmed the system that discretized audio into eight frequency bands, along with the system that would change shader parameters accordingly. I hand-tweaked levels of sensitivity, in editor, to cement the style.

After technically designing and programming an extendable, designer-friendly, scriptable object-based weapon system, I designed the player weapon and all enemy weapons. Gaussian distribution algorithms were leveraged to enable variable bullet spread for both hitscan and projectile-based weapons. A diverse and exciting array of weapons were created for enemy use, spanning rockets, burst rifles, and heal rays.

I conceptualized and coded the player character’s abilities, including an array of heat seeking, rebounding daggers and a clone that, once summoned, will mirror the player’s inputs and fire at the player’s target. These abilities were extended from, and integrated into, another programmer’s ability architecture, necessitating communication and collaboration.

Date: Fall 2022
Team Lead: Benjamin Lock
Music & Sound by: Joseph Knight
Lead Programmers: Benjamin Lock & Michelle Lee
Lead Artists: Benjamin Lock & Vu Nguyen
Lead Designer: Benjamin Lock