League of Legends Mechanics

About
League of Legends Mechanics is a faithful reproduction of three iconic skills from the original game: Blitzcrank's Q, Akali's E and Akali's R. This project implements the real-life behaviour of the spells as seen in the official game, using the interface as well as the levelling, damage scaling, cooldowns and targeting systems. All of this has been produced in 3D on Unreal Engine 5.4 with the utmost attention to detail.
My role
I coded everything myself in C++ on Unreal Engine 5.4, in a 3D environment.
I used the original League of Legends assets available online and reproduced the entire interface manually.
No key functionality has been taken lightly: every detail has been designed to behave exactly as it did in the original game.
Project objective
This project was developed for a C++ programming exam, with the aim of proving my ability to design gameplay mechanics as precise and robust as those used in professional games.
My aim was to reproduce complex mechanics exactly, while complying with industry standards.
Main features
-
Faithful reproduction of the skills of Akali (E, R) and Blitzcrank (Q)
-
Interface and HUD similar to those in the original game
-
Upgrade system with statistical updates
-
Advanced management of cooldowns, recasts, resets and fast casts
-
Application of damage to dummy targets, with validation/cancellation of spells
-
Obstacle management during dashs, targeting, cast on click or keyboard
Technologies used
-
Unreal 5.4
-
C++ language
-
3D environment



Videos of the different spells reproduced in the project
Challenges and solutions
Among the major challenges, I had to manage the automatic reset of cooldowns as in LoL's training mode, as well as the different spell states to avoid spam while allowing recasts. I also had to implement a precise targeting system, with conditional validation of attacks and the possibility of dynamic cancellation.
What this project shows about me
This project reflects my ability to reverse-engineer complex gameplay, reproduce precise mechanics from AAA games and design solid, flexible systems. It also demonstrates my attention to detail, my technical rigour and my desire to understand in depth what lies behind apparently simple on-screen behaviour.