
A thief breaks in to a Cathedral to steal some valuables, only to find out the dark truth affecting his city; Puzzle/Combat game with a variety of spells to navigate the space.
This project was aiming to be a grimm atmospheric first-person experience combining exploration, combat, and puzzles. The game focuses on player-driven interaction, allowing systems to overlap in ways that encourage experimentation and emergent interactions.
My main role on the project was Gameplay Design, with a strong focus on spell mechanics, and moment-to-moment player feel.
My work on this project focused mainly on gameplay components and spell systems. Creating a functional base for our game and of course jump into whatever was needed.
I created a projectile-based spell system that spawns different spell effects depending on player selection. During testing, I noticed that spells often spawned inside walls and failed to hit targets. To fix this, I normalized the projectile’s velocity vector and set a small offset so the spell effect would spawn just before the collision point, ensuring consistent behaviour.
This system used a two-step check:
A sphere overlap to detect all actors within range
A line trace to verify line of sight
This prevented spells from affecting targets through walls. An issue arose where the same object could be affected multiple times if it blocked other targets. I solved this by comparing actor references to ensure each target was processed only once.
A simple boolean setup was used to differentiate spell types while keeping them in the same system for accessibility. This made it easier to apply multiple effects at once, such as interactions with destructible objects like explosive barrels which used a combination of the shockwave and the fireball.
FIREBALL:
deals fire damage to target near projectile collision and leaves a fire zone.
SHOCKWAVE:
Applies a radial impulse to nearby objects and enemies, making them fly away from you. Because physics needed to be enabled dynamically, I added several actor checks and casts to handle different object types correctly, including deactivating physics when needed. I also manually offset the impulse origin to achieve a more readable and satisfying result.
BLACKHOLE:
This effect reused the same system as the shockwave but inverted key values. By checking for a negative impulse value, the system dynamically adjusted force direction and origin, allowing both effects to coexist cleanly in the same framework. With the diference this spell could also affect the player, making it usable to traverse the levels.
Since our Healt potions are wine bottles I added a camera tilt to simulate drunkenness. The effect increases when healing and gradually decreases over time, acting as a sobriety mechanic.
4 Frames, 4 Stained windows. the frames show a piece of the window, but they start in different positions, the player has to mirror them to open the next area.
I participated in creating these mechanics and assets, later on parts of the spell system got translated into C++ but I created it entirely on blueprints, after this I spent the majority of the project tweaking values and making sure everything run smoothly, from movespeed to jump distance or rotation speed, damage numbers and overall balance.