Neon Outlines from Edge Quads

With DET-33 out the door I started something small on the side: Detour 33, a racer set in the same city, built in Godot and C# and played on the Steam Deck. Before writing any car code I wanted to know what it should look like, so I built a short road in Blender out of loft cars and cone trees and rendered it in five styles. Here are four of them. ...

November 4, 2026 · 5 min

DET-33 Released

DET-33 is out on Steam for Windows and Linux, and it runs natively on the Steam Deck, which is what half of the rendering work on this blog was for. DET-33 on Steam It’s a bullet-heaven roguelite set in what’s left of New London. You take a contract from one of four warring factions, deploy as one of ten classes, build a gun out of whatever the level-ups hand you, and try to reach the evac before the city closes in. Every floor is generated fresh. ...

October 26, 2026 · 2 min

2.5D: 2D Gameplay, 3D Rendering, 1000+ Enemies

I promised last time I’d write up the rendering trick that lets the Godot port of DET-33 push far more enemies than the JS version. Here it is, and it’s a little unusual: the game runs its logic in 2D and its rendering in 3D. Why split them A top-down bullet-hell wants to look 2D, and all the gameplay genuinely is 2D. Physics, collision, movement, combat, skills, traps, and the entire map-generation pipeline stay in 2D where they’re simple to reason about. But drawing a thousand individual 2D sprites means a thousand draw calls, and culling what’s behind a wall means doing visibility checks on the CPU. Both were exactly the costs that capped the JS build. ...

June 20, 2026 · 3 min

Building a Modern Roguelike in 2026

I have a habit of writing one of these every few years. In 2017 it was a 7DRL experiment merging a roguelike with an FPS, and in 2019 it was ascii characters embedded into a 3d map. This year’s entry is different: DET-33, the bullet-hell roguelike I built in JS and Phaser over the last few months, is feature-complete and plays great. So naturally I’m rewriting it from scratch in Godot 4 and C#. ...

April 12, 2026 · 3 min