Grimhook - Technical Designer
First-person action platformer | PC | Unreal Engine 5 (C++/Blueprints)
Grimhook is a fast-paced, first-person action-adventure game that thrusts you into the heart of a flooded wasteland where robotic minions reign supreme and an ancient deity lies dormant beneath the city's surface. As Dart, you harness powerful abilities to navigate through cavernous depths; grapple, bounce, dash, and slash your way through relentless automata in intense combat arenas while you experience a grim world and a somber narrative. Developed by a team of 30 in UE5, the project combines stylized visuals with gameplay-driven systems.
My Role: Technical Designer
As the primary Technical Designer, I implemented core gameplay systems, built and iterated on abilities, managed in-game audio, and created dynamic UI feedback. I served as a bridge between design and engineering, ensuring implementation aligned with gameplay goals and performance constraints.
Core Contributions
Ability Systems
​​​​​​​Ground Pound
A mobility-driven area-of-effect ability that lets the player slam into the ground from midair, damaging and launching enemies in a radius based on fall height and speed. I designed this ability to feel punchy and reactive, while giving designers deep control over its parameters.​​​​​​​
To achieve this, I built the ability as a multi-phase state machine using Blueprints. When the player triggers the Ground Pound midair, their velocity is manipulated using a custom curve asset that defines the arc and acceleration as they fall. This gave us precise control over how fast the player drops, how quickly they reach terminal speed, and whether they motion feels floaty or snappy. The goal was to empower our designer to experiment with different curve profiles without needing to open a Blueprint graph.
To achieve this, I built the ability as a multi-phase state machine using Blueprints. When the player triggers the Ground Pound midair, their velocity is manipulated using a custom curve asset that defines the arc and acceleration as they fall. This gave us precise control over how fast the player drops, how quickly they reach terminal speed, and whether the motion feels floaty or snappy. The goal was to empower our designer to experiment with different curve profiles without needing to open a Blueprint graph.
In parallel, I created a Primary Data Asset (PDA) to store all tunable values related to the ability. This included damage, area-of-effect radius, vertical and horizontal knockback, cooldown time, and minimum height required to trigger the slam. It also exposed references for VFX like shockwaves and explosion effects, and set the stun duration applied to enemies caught in the blast. With this setup, designers could balance or tweak the Ground Pound behavior directly in the editor, iterating quickly without bottlenecks.
The final result was an ability that scaled with the player's velocity on impact, rewarding higher-risk plunges with greater knockback and damage. Combined with screen shake, custom sound cues, and slow-motion effects, the Ground Pound became a cornerstone mechanic that encouraged aggressive vertical movement.
Most importantly, the way it was built laid the foundation for a modular, data-driven approach to future abilities giving our small team the tools to build and balance fast, while still delivering punchy, responsive gameplay.

Calculate New Velocity Macro

Summon
A hybrid offensive and traversal ability that summons an eldritch tentacle from the ground to grab an enemy, pulse damage, and then slam them into the earth, shattering them into health pickups. The player can grapple to the suspended enemy mid-sequence, creating aggressive mobility combos.
Designed and implemented the full ability using Blueprints, Timer Events/Handles, and Animation Montages.
The tentacle targets the closest viable enemy in range and initiates a multi-phase attack:
Grab Phase: Tentacle emerges from the ground and lifts the target.
Pulse Phase: Deals periodic damage while holding the enemy in midair.
Slam Phase: Slams the enemy, triggering death VFX and health drops.
From the beginning, we knew we wanted this ability to feel deliberate and cinematic, but also tightly integrated into the game’s systems. That meant precise timing, layered feedback, and optional player interaction through traversal. I implemented the full behavior using Unreal’s Blueprint system, with event timers and handles coordinating each phase of the sequence in an animation montage consisting of tentacle spawn, damage pulses, and the final slam.
The enemy also becomes stunned in place and is physically attached to a transform socket on the tentacle actor. I built a system to override the enemy’s position and animation, effectively locking them in space while the tentacle pulses damage using a repeating timer. At the end of the pulse sequence, a final event is triggered to handle the slam which plays the last clip in the animation montage, spawning the explosion VFX, destroying the enemy, and spawning health pickups for the player.
What made this system particularly fun was its versatility. During the pulse window, players could choose to grapple to the suspended enemy, launching themselves into midair toward the tentacle. This allowed them to chain movement into offense or use the summon as a traversal anchor mid-combat. It added a layer of intentional mobility that rewarded quick thinking and made the ability feel even more dynamic.
To make this sequence feel impactful, I layered in camera shake, hit pause, animation montages, audio cues, and Niagara FX, all timed precisely through the event handle system. The result was a stylish, functional tool that didn’t just deal damage but also created opportunity for the player.
Ultimately, the Summon ability became one of the game’s most expressive and replayable mechanics, thanks to how its timing and feedback system supported both power and creativity. Building it taught me how to manage multi-stage ability design with precision and how to synchronize visuals, sound, and interaction using modular, event-driven scripting.

Build Summon Blueprint Method

Project Management
For the first 2-3 months of the project I was responsible for both programming and project management, leading team meetings, keeping track of task assignments and completion, and handling onboarding of new team members. Luckily, we were able to hire an incredibly talented project manager for me to resume working fulltime on programming tasks. During this time period I learned how important it is to handle workloads, balance project scope, and communicate in a team. From the start of the project, our small game jam team grew from 6 members to almost 30 developers.
Here are some ways we stayed organized:
Weekly Meetings: Meeting as a whole team weekly was extremely helpful in keeping everyone on the same page regarding project scope, game direction, and opened communication between departments to resolve issues and track progress on tasks. We also made sure to meet within our departments on a regular basis and created a healthy workplace environment where all team members could feel comfortable communicating with each other.​​​​​​​
Awards
Best Hobby Project – Game Development World Championship 2024
Grimhook was honored with the Best Hobby Project award at the 2024 Game Development World Championship, a global competition celebrating innovation in independent game development.
The game was recognized for its striking visual style, dynamic player abilities, and polished moment-to-moment gameplay, all crafted by a small, passionate team. This award validated our creative risks and technical ambition, and highlighted Grimhook as a standout indie experience.

You may also like

Back to Top