Spite: BLEEDING SKIES

Spite: BLEEDING SKIES

Synopsis
In a temple-city once ruled by cruel Sky gods, a false prophet rises, demanding blood to prevent a foretold eclipse. As fear spreads and cults grow, the Earth sends its champion to stop the madness. Wield divine power, crush the eclipse cult, and decide the fate of a world on the brink.
Genre: Hack and Slash
Reference Game: Diablo III
Engine: C++/Custom Engine
Team Size: 20 
Time: 14 weeks
CONTRIBUTIONS​​​​​​​
Gameplay
Navigation Mesh in Engine
Worked together with a teammate to get a navigation mesh for player and AI movement. 
The navmesh information was exported from Unreal Engine. This also works with landscape.
Animation System & Combo Support
Implemented a state-driven animation system for all entities.
Developed a dedicated player animation component to support combo systems across multiple animal forms.
Animation Events
Extended the animation event system to support gameplay, VFX, and SFX triggers.
Implemented attack event data to communicate hit types (e.g., sharp, blunt, heavy), enabling correct audio and visual feedback.
Audio
Collaboration
Collaborated with composers and sound designers to establish a clear audio pipeline. 
Provided structured workflows, shared FMOD projects, and built systems that enabled iteration and testing. .
FMOD Implementation
Implemented core audio systems using FMOD, including listener setup for an isometric camera.
Designed the listener to follow the player with offset and orientation aligned to camera direction.
Integrated animation-driven audio events to enhance game feel and responsiveness.
Reflection
This was our first real project as a team, so a big part of it was figuring out how we actually work together. The pipeline took some time to settle, but we ended up building something we’re genuinely proud of. I also introduced a Notion-based system to replace scattered communication tools, which made it much easier for the team to find documentation and stay aligned. It was also really fun to cut and edit the trailer!
Back to Top