top of page
67c9ab847463b51b0ff6c75c_xolo .png

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​

Screenshot 2025-11-26 191421.png

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.​

bottom of page