Elysian Siege: The Prince's Uprising

Final Year Project

A 2.5D platformer game developed in Unreal Engine 5 as a team project

Gameplay
Gameplay
Gameplay
Gameplay
Gameplay
Gameplay
Gameplay
Gameplay
Gameplay
Gameplay

About The Project

Elysian Siege: The Prince's Uprising is my final year project developed collaboratively with a team of talented students. This action-adventure game was created using Unreal Engine 5, leveraging its cutting-edge features to deliver a visually stunning and mechanically robust gaming experience.

Set in a fantasy world where a prince must reclaim his kingdom, the game emphasizes fluid movement mechanics and traversal abilities to create engaging gameplay. As the lead character programmer, I was responsible for implementing all the protagonist's mechanics, including complex movement systems and combat abilities.

The project demonstrates advanced technical skills in game development, particularly in character control systems, camera management, and game optimization techniques. Working on this title allowed me to apply all the knowledge acquired throughout my degree in a comprehensive, production-scale environment.

My Contributions

  • Complete Character Mechanics: Developed the protagonist's full movement suite including jumping, gliding, wall jumping, mantling, attacking, dashing, and more
  • Camera System: Implemented a dynamic camera system that adapts to different gameplay scenarios
  • Hazard System: Created void hazards with appropriate player feedback and response
  • Reset Subsystem: Designed a comprehensive checkpoint and reset system for gameplay continuity
  • Build Optimization: Performed extensive optimization for the final build to ensure smooth performance

Project Information

  • Category: Final Year Project
  • Completion Date: 2025
  • Engine: Unreal Engine 5
  • Languages: C++, Blueprint
  • Team Size: 20 Members
  • My Role: Character Programmer

Technical Highlights

Advanced Character Controller

Developed a responsive and fluid character controller with a complex state machine handling numerous movement types. The system includes predictive edge detection for mantling, air control physics for gliding, and wall detection for specialized jumps, creating a seamless character experience.

Dynamic Camera System

Implemented a context-aware camera system that adjusts its behavior based on player actions and environment. The system includes dynamic framing for combat scenarios, smooth transitions between camera states, and specialized handling for traversal mechanics like wall running and gliding.

Game State Management

Created a robust checkpoint and reset system that preserves game progression while offering seamless respawning after failure. The system efficiently manages player state, world interactions, and progress tracking to ensure a frustration-free player experience.

Performance Optimization

Applied advanced optimization techniques to ensure smooth performance in the final build. This included implementing level of detail systems, optimizing blueprint execution, streamlining asset loading, and fine-tuning gameplay systems to maintain high framerates without compromising visual quality.

Technologies Used

Unreal Engine 5 C++ Blueprint Nanite Lumen Enhanced Input System Game Features Character Movement Component

Development Challenges & Solutions

Creating Elysian Siege presented several technical challenges that required innovative solutions:

  • Complex Movement System Integration: Balancing multiple movement mechanics without conflicts required a sophisticated state machine and priority system to ensure seamless transitions between movement types.
  • Camera Collision Prevention: Preventing the camera from clipping through geometry while maintaining ideal framing was solved through an adaptive raycast system that smoothly adjusts camera positioning.
  • Performance Optimization: Achieving target framerates while preserving visual fidelity necessitated careful asset management, shader optimization, and gameplay system efficiency improvements.
  • State Persistence: Implementing a reliable checkpoint system that correctly preserved all relevant gameplay elements required a comprehensive serialization approach for game state.

These solutions not only resolved the immediate technical challenges but also provided valuable insights into game development best practices that I continue to apply in my work.