C++
Unreal 5
Gameplay programming
Group Project
DARE Competition
Chempunch is a fast paced, close quarters wave defence game, where the player has to protect their objectives from being destroyed by moth-infested AI enemies. Chempunch was developed over the course of 3 months for the Abertay games development competition, DARE Academy.
I was one of two programmers on the team. As the gameplay programmer, I was responsible for most player focused systems including; Audio, Animation Systems, UI, 3C's, and Gameplay Mechanics. I also supported the team by performing general debugging as required.
C++
HLSL
AI Programming
DirectX 12
Asynchronous Compute
Boids that Sprint is a runtime optimised variant of Craig Reynolds' AI flocking algorithm; the boids model. It simulates animal herding behaviour by implementing three separate rules; cohesion, separation and alignment, resulting in emergent behaviour.
While the boids algorithm is an effective flocking simulation, each boid must interact with every other boid within the model to evaluate its next velocity. This results in a significant bottleneck, as the runtime efficiency of the algorithm is O(n^2).
To improve runtime performance, I focused on utilizing GPGPU and asynchronous compute techniques within DirectX 12 to accelerate the algorithm and significantly increase performance over a CPU bound version.

C++
Unreal 5
Audio Programming
WWise Dynamic Music
This project showcases dynamic music integration using WWise audio middleware, linking gameplay mechanics and AI to the overall soundscape.
The music smoothly transitions both vertically and horizontally when the player is chased, adding new instruments and changing the underlying track depending on the number of enemies currently chasing. This increases tension and results in a more engaging gameplay experience. After the enemies lose track of the player, the music returns to the idle track, lowering tension and allowing some breathing room.
Other gameplay mechanics linked to audio programming techniques include spatialization, attenuation, reverberation, projectile pass-by sound effects and a simple heartbeat implementation.
University Module