Programming/Game Design Porfolio


Xolo and the Forgotten Gods
Xolo and the Forgotten Gods is a Mesoamerican action-metroidvania that was created for SCAD's Senior Studio program. So far, it the largest project I've ever worked on, it was my first taste of what actual game development in a team is like.
​
Since I was lead programmer, I had my hands on many different aspects of the game and was responsible for a large majority of the foundational code, which is what this page aims to demonstrate.
Project Type: Senior Capstone
Role: Lead Programmer
Game Engine: Unreal Engine 5
Language: Unreal Blueprints
[Heads up: I recommend pressing the full screen buttons if you want to look at the code in any level of detail]
Wishlist the game on Steam!
Player Mechanics: Melee System
This is the code for the melee hitboxes, it gets activated by anim notifies in the melee animation
The code for the melee combo system.
The anim montage for the melee combo, with anim notifies for trigger SFX/VFX/hitboxes
The melee system in action
​
Player Mechanics: Heavy Melee
This is the code for processing the melee inputs. Simply pressing the button will perform the melee combo,. while holding it for 0.5 seconds and then releasing it will trigger a stronger "tackle" attack.
The anim montage for the heavy melee, as well as a demonstration of how it works.
The montage uses anim notifies for the attack hitbox and to give the player i-frames during the attack, as well as disable certain inputs. The hitbox notify uses the same code as the normal melee combo, just with more damage and knockback.
Player Mechanics: Spin Dash
The code for the spin dash/special attack. Specifically this is the player's part of the interaction where they dash in the inputted direction
The 2nd part of the spin dash interaction. This is the code that runs on the enemy's end, so they get dragged along with the dash and launched at the end
A video demonstrating the dash
Player Mechanics: Dodge Roll
The code for the dodge roll mechanic
Video showing the dodge roll + how the anim montage handles the i-frames
​
Player Mechanics: Taking Damage and Healing
All the code related to the player taking damage​
​
Code for the healing ability. Works a lot like Hollow Knight, where the player has to channel an animation for a bit before consuming a limited healing resource.
​
Video demonstrating the healing mechanic
​
Player Mechanics: Snake Grapple
The code for the player grapple
The code for the grapple point detection code, which runs on tick
​
The code on the grapple point that updates its appearance when a player is near
A video demonstrating the grapple mechanic as well as the grapple detection system
Player Mechanics: Ground Pound
All code related to the ground pound
A video demonstrating the ground pound mechanic
Level Mechanics: Enemy Arenas
The code for the enemy arena volume, handles level triggers, spawning waves, etc.
The code on the enemy spawn points​

Level designers can easily design waves in the editor
An example of how an arena might function
​
Technical Animation: Squash-n-Stretch Through Additive Curves
We wanted make heavy use of body distortion/squash-n-stretch when animating the player character, both for stylistic reasons and because it could help sell the large melee hitboxes (which were implemented for game feel) despite being both a small character and a dog (which aren't exactly known for reaching far ahead of them). Because our animators didn't know how to pull this off in Maya, I did it myself in Unreal, using the built-in additive curve system to layer additional keyframes on top of the pre-existing animation. You can see the difference in this video.
​
Post Launch UI Overhaul
After we published to Steam we received feedback from Steam which mentioned that the game's UI didn't have an options menu, and none of the UI was compatible with controllers. This led me to perform a complete overhaul of the game's menus.​