
What is it?
A single-player, narrative-driven beat 'em up. An ancient magic has broken free, spreading chaos across the city. Explore two distinct districts, confront the Absent, and step into your role as the only one who can stop these beings from tearing the world apart. Engage in dynamic combat that blends melee and ranged abilities, face powerful bosses, and unlock new skills that reward strategy and precision as you fight to restore balance.
Project Overview
Team Size - Core: 13 Teammates (Originally 7 Members) - 4 Contractors
Roles: Lead Programmer, Build Master
Project Time Frame: 8 Months (August 2024 - April 2025)
My Work
Destructible Environment Aspects
Destructible Objects Showcase
After initially learning Unreal Engine's Blueprint system and creating the base class for our destructible objects during the first semester of development, I transitioned the class into C++ during the second semester, with a more defined focus on inheritance and polymorphism. This shift allowed for a more flexible, faster, and easily optimized system that Blueprint-based child classes could inherit from, enabling other developers, such as our combat systems designers, to add unique behaviors and events for the wide variety of destructible objects introduced into the game.
User Interfaces
Player HUD Demo
Throughout the development cycle, I collaborated with Drew Lounsbury, the team's UI Designer, to create a modular, player-focused HUD system. We designed the HUD around user widgets, allowing distinct and freely transferable UI elements that corresponded to essential gameplay systems, including Mana Charge, Ability Icons (which dynamically swapped based on the player's current combat Stance), and Tutorial Prompts for guiding the player through the game's mechanics. I also implemented widgets from Unreal's Common UI plugin to allow for UI elements, such as Input Bindings, to dynamically update during gameplay based on the user's current controller device.
Tutorial System
Tutorial system guides a new player.
Originally created in the first semester as a modular system where each instance acted autonomously and could be easily customized for different experiences, I developed a Tutorial System Blueprint based on overlap trigger volumes that dilated time and prompted the Player with specific input actions to teach core gameplay mechanics and controls. During the second semester of development, the system received several new functionalities and refinements including, making the transition from dilated time based on the Player's prompted actions, and adding the ability for forced Mana Gain and Stance Swapping to align with the intended game mechanic lesson.