Navigation Meshes Are Back, Now With Levels

Maps get levels and hand-drawn navigation areas, my Clipper rewrite finally comes into the engine, and games move over the baked mesh.

November 6, 2026 · 8 min · 1636 words · pvlso

The Map Editor, Rebuilt: Tile Sets, Layers, and Entities Designed Four Times

The engine gets a new map editor with curated tile sets, plain text map files, and an entity system that got smaller every time I redesigned it.

November 6, 2026 · 7 min · 1467 words · pvlso

A New Renderer: OpenGL 3.3, a Pixel World, and a Very Stubborn Wobble

The engine drops fixed-function OpenGL for shaders, and games get a pixel-art world with smooth scrolling, their own shaders, and lights.

November 6, 2026 · 8 min · 1565 words · pvlso

Golf Ball Counting Machine v2: Removing the Electronics

The second version of the counting table drops the Arduino and motors for a lever, a ratchet spool and a spring-loaded bag clamp. It’s now in daily production.

October 26, 2026 · 5 min · 880 words · pvlso

Projects: Games Now Live Outside the Engine

This is the last of three catch-up posts, after the asset system and the platform layer. It’s about the change that the other two were leading up to: games are no longer part of the engine. They are projects that the editor builds, runs, and hot reloads. The Problem In the asset system post I described how Arkham ended up compiled directly into the engine after my first attempt at loading it as a module. That kept me productive for a while, but it meant the engine had an Arkham editor mode, Arkham game state, Arkham assets, and a “Play Game” button that only worked for one game. Starting a second game would have meant adding all of that again. ...

October 20, 2026 · 6 min · 1251 words · pvlso