The Fallen One
Released2024School

The Fallen One

A C++ boss rush built around demanding, multi-phase encounters

Platform
PC
Team
10 people · 4 developers / 6 artists
Time
8 weeks
Role
Death and Famine bosses, animation and player contributions
About the project

What it is

The Fallen One is a solo boss rush inspired by the Horsemen of the Apocalypse. Built from scratch with C++, SFML and Box2D, it combines a grappling hook, player powers, a platforming sequence and demanding boss encounters with multiple phases.

What I worked on

My contribution

I contributed to the Death and Famine boss encounters, and helped with the animation systems and player implementation. Working with the other developers and artists taught me to connect animation states, attack timing, collisions and visual feedback in a shared C++ codebase.

Key features

Main systems

  • Reusable spritesheet animator with configurable frame size, frame rate, offsets and looping.
  • State-driven boss patterns with movement, projectiles and animated anticipation.
  • A two-phase Death encounter with distinct attack sets, movement and animation states.
  • Box2D collisions, attack indicators, particles and camera feedback synchronized with gameplay.
Technical deep dive

How it works

Animation tooling

A reusable spritesheet workflow

I helped with the animation systems used by the team. The shared spritesheet workflow stores frame dimensions, playback settings and animation state, allowing gameplay and rendering to use the same animation data.

  • Artists could deliver new spritesheets without requiring a custom playback system for every character.
  • Boss states switch between idle, attack, movement, spawn and death animations while keeping their own timing.
Famine

Boss gameplay contributions

I contributed to the Famine encounter as part of the gameplay team, helping connect boss behavior with animation and combat feedback.

  • The work required coordination with the other developers and artists around encounter behavior and timing.
  • I also helped with the player implementation and animation systems shared across the game.
Final boss

Death across two phases

I also worked on Death, a more complex encounter that changes its available patterns and animations after losing half of its health. Separate front and side states keep its movement and attacks visually consistent.

  • Patterns include a shrinking projectile circle with a safe opening, bouncing projectiles, moving danger zones, a laser dash and a central blast.
  • Crystals can create safe zones, while teleports, indicators, particles and camera shake help communicate dangerous moments.
Challenges

What was difficult

The main challenge was synchronizing long spritesheet animations with the exact moment a Box2D hit area or projectile became active. Clear anticipation, reliable cleanup and visible safe spaces were essential to make difficult attacks feel fair.

Screenshots

Gallery

The Fallen One
Gameplay overview of the boss-rush project.
Conclusion

What I learned

This project strengthened my C++ gameplay programming and taught me how animation tools, collision logic and encounter design must work together to create readable boss fights.

Stack
C++SFMLBox2DBoss AITools
Flow
Next project
Flow
Unity 20th Anniversary Game Jam, ranked 4th out of 434