The game
A roguelite survivor game with fast combat in co-op. It runs cross-play, and local and online co-op mix in one session.

Senior games programmer, about ten years in the industry. Founder of Team Warriors.


A roguelite survivor game with fast combat in co-op. It runs cross-play, and local and online co-op mix in one session.
The core gameplay simulation runs on its own thread at a constant 60 fps, in parallel to the visualisation. Its data structures are designed for lookup speed, and certain unit types skip update cycles entirely. I profiled and optimised the systems for unit stats, weapons and AI. It holds 60 fps with thousands of active units.
The netcode is integrated into the simulation, with an interchangeable backend per platform. The host is authoritative. Clients extrapolate and predict ahead, so even a few seconds of message delay mostly go unnoticed. Hundreds of units and ability effects stay in sync.
The Unity visualisation is inter- or extrapolated to the target frame rate. Instanced animation carries assets that were never meant for that scale. A separate system lowers VFX quality or culls effects by importance and frame rate.
A build pipeline takes the game from Unity to Steam.
The swarm at the top of this page runs on the same ideas: a fixed 60 Hz simulation, rendering interpolated to your display, and a governor that trims effects when frames get expensive. Press ` to see it.
Feb 2025 – today
Royal Revolt Survivors.
Feb 2017 – Jan 2025
Mobile game development.
Multiplayer lockstep robust enough for mobile data, an entity component system, a collision system.
Long-term live service.
Lead programmer: mentoring a junior, payment provider integration, client/server architecture.
Oct 2014 – Feb 2017
Teaching programming.
Sep 2012 – Sep 2015
Graphics programming with DirectX/C++, data structures and algorithms, Unity 3D, game design basics.
Oct 2011 – Oct 2012
2011
Mathematics and computer science as majors.
2014–2016. Before shipping games, I built the things games run on.


The water is ray-traced per pixel as a post-processing effect, with no geometry, and fits into deferred shading.
Light absorption is physically based per colour: red is absorbed after about 4.5 m, blue only after about 300 m. Reflection, refraction and caustics complete it.
It costs about 2 ms per frame, 10–15 % of a 60 fps frame, with the vertex shader nearly idle. In a survey it rated slightly better than NVIDIA's Island tessellation demo, except for caustics.
C++ · DirectX 11 · HLSL

Tessellated terrain on a 3D voxel grid with procedurally mapped textures, 2D rendering for text and images, and a layer-based GUI library with WPF-style controls.
Under it: keyboard, mouse and controller input, audio, an MPQ-like file system, low-level memory management and profiling, and graphics device management.
C++ · DirectX 11 · HLSL


A 2.5D side-scrolling puzzle platformer whose hero projects objects from past timestamps into the world.
I led the project and its programming, and built the procedural level-background mesh, the door and platform mechanics, and the post-processing effects.
C# · Unity 3D · Cg


A C++ OpenGL 4.3 renderer with resource loading, dynamic instancing, batching by material and texture management.
C# gameplay on top, over C++/CLI: multithreaded world generation, physics and raycasts, mesh generation.
C++ · OpenGL 4.3 · C# · C++/CLI
Particles simulate on the CPU and render on the GPU. Each effect is built from initializers, emitters and updaters.
C++ · OpenGL 4.3 · GLSL

Dota 2, climbing, mountain biking, music, reading.
German (native), English (business fluent).
The address is hidden from bots and shows with JavaScript.