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

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