Nice, you found the full list of my projects! I started working in game development during my studies in 2021. Here you’ll find games I worked on professionally, projects I did while studying at HdM in Stuttgart and the IT-University of Copenhagen, and also little side projects I created in my free time or during game jams.
All tags are currently off. Showing every project until you enable a tag.
During the development of Halls of Torment, Chasing Carrots began prototyping a new title, and I joined during its early stages, taking on a wide range of tasks. For me, it was a very valuable learning experience because it allowed me to strengthen my gameplay programming skills while also building a completely new skill set in multiplayer game development.
This master thesis project explores how Position-Based Material Point Method can be implemented in Unity DOTS and whether it can stay within a practical real-time budget. My work covered the solver architecture, job-based particle-grid transfers, liquid constraint solving, debugging tools, and the profiling and analysis needed to judge the approach beyond just getting it to run.
Nosink is a fast-paced 3D platformer and survival jam game made for Nordic Game Jam 2026. The player jumps across platforms that slowly disappear into a rising sea of nothingness, shoots targets to score points, and tries to stay alive as the arena keeps falling apart.
This final project for the High Performance Programming course at the IT University of Copenhagen explores a large-scale space battle built with Unity DOTS. My main responsibilities were the fighter entities (small ships) and the asteroid systems, which meant shaping both the swarm behavior of the small ships and the environmental obstacles they had to navigate around while keeping the whole setup compatible with high entity counts.
The Untold Story of Vísdómír is a first-person narrative exploration project developed during my master's studies at the IT University of Copenhagen. I took on the roles of producer and tech lead while also contributing to sound and level design, with a strong focus on shaping a manageable scope, a clean team workflow, and a world that supports clue-driven exploration without relying on navigation markers.

For my Graphics Programming course at the IT University of Copenhagen, I extended an earlier SDF-based path tracing exercise into a mesh-based OpenGL renderer. My focus was on getting triangle, transform, and material data into the fragment shader and building the required intersection logic.

Goblin Smasher is a small academic game project I created for the Playable Media course at the IT University of Copenhagen and developed during Nordic Game Jam. The project explores critical design by presenting the player with a familiar tutorial structure, then turning one of its most normal instructions, attacking, into the moral pivot of the entire game.
I replaced Godot's built-in MultiplayerAPI with a custom networking layer that directly interfaces with MultiplayerPeer, improving flexibility, modularity, and authority handling. I also implemented full peer-to-peer network meshes using ENet and Epic Online Services, enabling low-latency client-to-client communication and support for features such as proximity voice chat. The system was integrated into the studio's codebase, tested in gameplay sessions, and extended with a C++ fix to support multiple concurrent network meshes.
Back in 2024, this was the first task I received after joining Chasing Carrots as a Game Programmer. Halls of Torment was still in early access and suffered from performance issues toward the end of a run. As a survivor-like game, it features a large number of entities and projectiles on screen during the final minutes, which heavily impacted performance. With the upcoming console release in mind, I was tasked with investigating these issues and migrating the project from the Optick profiler to Tracy.
Gib Ihm Gibbon was our Global Game Jam 2024 game for the theme "Make Me Laugh". Our idea was to let the player take control of Gibbi, a monkey who gets so annoyed by zoo visitors that he starts slapping them into outer space. I loved working for this jam. I do not think I have ever laughed that much while making a game, and the team was amazing!
ChaosRumble is a top-down arena game built for the Games Programming course at the IT University of Copenhagen. Since this was a team project, I want to keep the focus on my own responsibilities: the physics systems, debug shapes, scene loading, menus, audio playback, and hit feedback that gave the prototype its technical backbone and made the bouncing enemy chaos actually work.
Enchanted Defense is a top-down shooter I built in a custom C++ engine with SDL2 to learn more about game engine internals. The project became a practical playground for update loops, rendering, input routing, animation state machines, and reusable gameplay patterns such as command, observer, and prototype-style spawning.
Scary Dark Dungeon was created during miniBeansjam 9 as a compact atmospheric adventure with exploration, dialogue, and light combat. My work focused on level and story design, dialogue implementation, sound, and enemy behavior built with my Godot state machine workflow.
Duskborn is a third-person shooter roguelite developed in Unreal Engine 5 during a university production course designed to mirror a real studio pipeline. I worked as both Game Programmer and Head of Engineering. It was definitely the biggest group project of my academic career and taught me valuable lessons about communication and teamwork.

Curse of Immortality is a roguelite dungeon crawler where I focused on enemy behavior, combat systems, and AI support code. My work included logic for multiple enemy types, a heat-based extension to the custom pathfinding system, and arena traps that had to integrate cleanly into the shared damage and encounter flow.

The State Machine Generator is a small Godot editor addon I used to remove repetitive setup work when prototyping character logic. Instead of manually creating the same node hierarchy and script boilerplate again and again, the plugin adds an editor dock that generates a state machine node, base state, and per-state templates directly inside the project.
Crunch Time was created during BeansJam 2022 and turns late-night office work into a fast little resource-management game. I worked on gameplay programming, including the player and Sandman behavior, the elevator mechanic, sound, UI, and a small state machine generator plugin that helped speed up iteration during the jam.