Zero Gravity is flying space based third person shooter prototype that was made by me and five other developers in five weeks. It primarily tests our movement, ability, and enemy systems. Please read the troubleshooting tips below if you have any issues
Some Troubleshooting tips for the browser version:
• To pause the game, you will likely have to press escape multiple times (it's a webGL issue unfortunately)
• If the game isn't letting you turn completely click the screen (happens when exiting the game player in webGL)
• If aiming feels laggy, reduce the sensitivity. This happens at low frame rates with high sens
• If the game has low frame rates, try a different browser like OperaGX
• Download the windows version if you are experiencing too many issues in the web version
My Contributions
Designed a unique flying controller for the player
I handled the player systems design and for this I developed two different movement modes. One being the default "floating" movement and the other being the "flying" movement.

Floating Movement

Dashing
Floating Movement
The floating movement was meant to be more standardized WASD movement to help the player get used to the game. The movement was intentionally designed to feel floaty to help sell the idea of space. I also added a dash to it to give the player more options for dodging attacks. Lastly, it features a unique vertical movement for player to move anywhere.

Speed up/Slow down + Strafing

Flying Gameplay
Flying Movement
Flying movement is meant to be the primary traversal method. It features the player quickly being able to move in any direction. In this mode the player can press W/S to speed up/slow down (respectively speaking) and they also can strafe by A/D to strafe. The biggest design challenges with this were getting the camera controls to feel right.
Developed an abilities system involving sci-fi themes
While designing these abilities the biggest challenges was ensuring that they worked properly in both the floating and flying movement states. During development, I focused most of my time on the rock ability because it was the most unique and involved of the three. I made aim assist for grabbing and throwing asteroids plus it has an indicator to show players which rocks they are grabbing. The EMP ability was fairly simplistic and was essentially just a bullet that disables turrets it hits. Lastly, the shield was a defensive ability that blocks all damage.

Rock throwing

EMP

Shield
Scripted shaders for enemies, shields, and more
Using Unity's Shader Graph, I created fresnel effects for the enemies (with the option of recoloring to help differentiate enemies), the outer-barrier & player shields, and the healing station.

Healing station

Shields
Enemy Fresnels
Created a gun with an overheat mechanic
I felt that ammo in a futuristic and flying game would feel weird. Instead I opted to go with an overheat mechanic so players wouldn't need to reload while still forcing them to use abilities such as rock throwing during its downtime. To show this to player, I created a circle sprite that fills based on its overheat amount.

Shooting

Cooldown
Implemented a rekey-binding feature
Early on in our playtests, I realized that we had too many controls to make all users happy with our key-binds. To solve this I devoted time to implemented a rekey-binding feature. It listens to the players input key and then overrides the current key-binding. The player also can reset to the original key-binds if desired.