Noah Stolk

I'm a self-taught software engineer, and I build things from the ground up. From late 2024 to late 2025 I worked full time on Shrapnel Sentinel, a 3D first-person shooter released on Steam in July 2026. I wrote all of its code, as well as the engine it runs on: rendering, collision, content pipeline, deterministic replay, netcode and anti-cheat.

I learned low-level programming in C#, at the performance-critical end: memory layout and allocation behaviour, Span<T>, unsafe code, pointers and function pointers, SIMD, Native AOT, and profiling. I'm currently learning modern C++, and I'm interested in Rust and C as well. Next to that I build developer tooling, such as Roslyn source generators and analyzers, MSBuild, and static code analysis.

Contact

Games and engines

Shrapnel Sentinel (2026)

A 3D first-person shooter in C#, running on a custom engine, released on Steam in July 2026. I worked on it full time from late 2024 to late 2025 and was the only programmer on the project; two friends did all of the art, sound and music.

More about the game at shrap.nl.

Before that

I started making games at the age of 10, in 2007, using GameMaker; several of them ended up on the front page of yoyogames.com. Since then I've released a long stream of free games, and I've been writing my own 3D engines since 2017. In 2015 I co-programmed Void Invaders with a friend, my first commercial release on Steam.

Along the way I've spent a lot of time reverse-engineering binary formats from other games and 3D software, and releasing the resulting parsers and modding tools. Most of my hobby work is pure C# with no external dependencies: level editors, a 3D timeline animator, and tooling libraries.

Developer tooling

Open-source, zero-dependency Roslyn source generators, published on NuGet:

Work experience

Eight years of professional .NET work: a year of freelance projects, then full-time engineering roles since late 2019. I designed and maintained internal library ecosystems used across teams, introduced static code analysis with custom Roslyn analyzers to keep those teams consistent, and led architectural decisions on platforms I then worked in for years. I care about clarity, correctness and long-term maintainability.