Galactic Escape
Role
Gameplay Programmer
Description
You wake up to find yourself all alone in a dark spaceship. You come to a sudden realization that your weapons are gone. Will you be able to escape?
Play on a spaceship as you fight enemies for your freedom. This 3D action-adventure game includes cool enemies, bosses, abilities, and more!
Contributions
As my largest solo project, Galactic Escape holds a special place in my heart.
Player Abilities
I created a system for managing player abilities using delegates. From this, I made a dash ability, a special attack ability, and a time freeze ability.
Enemy AI
I engineered all the enemies and their behavior using a finite state machine.
The first enemy that I created was a soldier that simply stands in place, looks at you, and shoots. When it gets hit, it uses a ShaderGraph material to dissolve out, respawn somewhere nearby, and dissolve back in.

The second enemy that I created was a crab enemy that walks towards you and attacks with its arms.
The final enemy that I created was the final boss of the game, who had a much larger moveset. You first see him at the start of the game where he throws and taunts the player. Once you make your way through the map, the final fight starts off with him giving some dialogue, and after that he goes into a "Poison Explode" attack. This attack has him jump up and slam into the ground, causing poison to explode across the ground, and the only way to avoid it is by jumping.
He has a "Black Hole" attack (at least that's what I called it originally), which spawns a red, concentrated ball of energy that travels towards the player. This ball can't be outrun, so you must block it with your swords.
Finally, my personal favorite attack, the Ice Attack. He pulls multiple icebergs out from the ground that goes towards you.
To get close to you, he walks towards you, and sometimes flies towards you. Once he is close enough he will try to punch you, but if that doesn't work he will do his push attack that sends you flying back.
Custom Camera Collision and Occlusion
I made a custom third-person camera that updates its real-time position to maintain an unobstructed view of the player. I was aware that Unity already had Cinemachine, but I thought doing it from scratch was interesting.


