James Randall Musings on software development, business and technology.
Path Tracer
Annhexation gameplay — a hex-based 4X strategy map
Annhexation Early access

A turn-based 4X strategy game I built from scratch — custom WebGPU engine, eight civilisations, no install. Play it in your browser right now.

The source code is on GitHub.

A real-time path tracer built entirely in WebGPU compute shaders — no RT cores, no ML denoisers, just maths and triangles. Woke up one morning and wanted to follow up the Wolfenstein 3D raycaster with a ray tracer… obviously Doom levels were an obvious starting point.

It traces rays through Doom levels and procedural dungeons at 60fps, with a BVH, temporal accumulation, and à-trous denoising. At 512 samples per pixel it’s genuinely path-traced — every pixel computed, nothing hallucinated. At 4 samples it’s grainy but honest, and the noise reads as atmosphere. Thats what I tell myself anyway.

This was a real voyage of dicovery and a lot of fun. You might be able to run Doom on a fridge: but you certainly can’t the ray traced version!

Best thing to do is to try it below. You’ll need to press play to start - its computationally heavy and is likely to make fans spin up. I’ve written about building it too.

Annhexation gameplay — a hex-based 4X strategy map
Annhexation Early access

Forty-two years after I first started programming, I built a browser-native 4X from scratch — a custom WebGPU engine, eight civilisations, and an AI opponent I'm still teaching to play. No install, no sign-up. Play it right now.

Built by James Randall — tool-maker, system builder, and occasional cyclist. Walking the hills with my four-legged friend when I'm not building worlds.
© 2025