I am a recent Master graduate.
My Master Thesis is about size extraction in Navigation Mesh Generation.
The size extractions allows for a single navmesh to be generated but used by many agents with
different radii.
C/C++; C#; GLSL; HLSL
CMake; CLion; Visual Studio; Nsight; RenderDoc; VTune
Vulkan; OpenGL; DX11
SDL2/3; Catch2; ImGui; GLM; GLI; mikktspace; ASSIMP
VCS: Git; Perforce; Mercurial
Trello; Jira
Unity; Unreal Engine

Balbino is my homemade game engine in C++. Originally as a school project, currently as a side project. I have recently decided to overhaul the entire graphics library and am currently working on the UI. Editor will be back soon.

This C++ library leverages modules and templates to provide essentials like 2D/3D/4D vector math, Bézier curves, mathematical constants, hashing, interpolation, a pseudo-random number generator, basic statistics, and trigonometric functions.
I hate screenshots of code in presentations. I wanted to learn Zig. This project fixes both, I wrote my first zig program, it takes in a C++ file and returns an svg with correct colours.

This was a group project of about 22 students, in which I was the AI programmer. In this project, we use Unreal Engine 4 C++ for the heavy lifting and blueprinting to create connections. We used Perforce and Swarm to sync our work and to make pull requests.

This game was one we made for a group project. My group consisted of four artists and two programmers, of which I was one.NOX is a 2,5D atmospheric puzzle platformer game.
We used Unreal Engine 4.26, and we programmed in Unreal C++. We also used Perforce to synchronize everything.

In this solo project for school, I made a software ray tracer using Visual Studio, C++17, SDL2, and SDL2-Image.

In this solo project for school, I made a software rasterizer using Visual Studio, C++17, SDL2, and SDL2-Image.

We had a character that had to survive as long as possible in a zombie apocalypse. We programmed the ai to run from house to house and see if an item lies within it. If the ai found an item, it would pick it up, validate how useful it is and take action accordingly.
In this project, i used c++17.

This blog explains a new concept (local clearance minimum) for navigation meshes. When applied properly, this can reduce the amount of needed Navmeshes and increase NPC design possibilities.

This series of blog posts is about Navmeshes. This blog looks at how we can implement it into Recast.

In this contest, we had to be in a team of three. You got five problems, and you had to solve them using programming. The twist is that only one screen, keyboard and mouse were allowed. Only one person could do the programming. The other two had to figure out how to solve the problem and tell the typing programmer what to do.

The goal was to follow a white line with a small autonomous car via one or more optical
sensor(s).
Because of some mechanical problems, we had to rewrite the entire program one
minute before the start of the competition.

Game Tech AI Programmer
April 2025 - now

Graphics Engineer Intern (Texture Team)
2022 Q1 - Q2