<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Joël van der Werf · Devlog</title><link>https://joel-van-der-werf.com/devlog.html</link><description>Engine, game and tooling notes.</description><item><title>Games in their own repositories: separating Hydro from its first game</title><link>https://joel-van-der-werf.com/devlog-project-separation.html</link><guid>https://joel-van-der-werf.com/devlog-project-separation.html</guid><pubDate>Sun, 08 Nov 2026 00:00:00 +0000</pubDate><description>Hydro, its editor and its first game all lived in one repository. The plan to give every game its own repo, the 16 couplings in the way, and the first five steps.</description></item><item><title>Making an engine readable to AI agents</title><link>https://joel-van-der-werf.com/devlog-engine-for-agents.html</link><guid>https://joel-van-der-werf.com/devlog-engine-for-agents.html</guid><pubDate>Mon, 02 Nov 2026 00:00:00 +0000</pubDate><description>Hydro has 500+ source files and strict house rules. Here is the harness that lets Claude and a local Qwen model work in it without guessing.</description></item><item><title>Rules, views and a game session: structuring game code</title><link>https://joel-van-der-werf.com/devlog-game-code-structure.html</link><guid>https://joel-van-der-werf.com/devlog-game-code-structure.html</guid><pubDate>Sun, 01 Nov 2026 00:00:00 +0000</pubDate><description>How the diorama RPG keeps its battle maths testable without a GPU, its UI dumb, and its run state alive across scene changes.</description></item><item><title>Game content as data: Hydro's ScriptableObjects</title><link>https://joel-van-der-werf.com/devlog-data-definitions.html</link><guid>https://joel-van-der-werf.com/devlog-data-definitions.html</guid><pubDate>Sun, 01 Nov 2026 00:00:00 +0000</pubDate><description>Dialogue, items, quests and enemies moved out of C++ into reflected definition files and tables, edited in the inspector.</description></item><item><title>From editor to an .exe: the first standalone build</title><link>https://joel-van-der-werf.com/devlog-standalone-build.html</link><guid>https://joel-van-der-werf.com/devlog-standalone-build.html</guid><pubDate>Sat, 31 Oct 2026 00:00:00 +0000</pubDate><description>Splitting game code out of the editor, a small runtime that plays one project, and a build button in the editor. Deliberately not an asset pipeline yet.</description></item><item><title>A street lamp is one thing: scene hierarchy and runtime UI</title><link>https://joel-van-der-werf.com/devlog-hierarchy-and-ui.html</link><guid>https://joel-van-der-werf.com/devlog-hierarchy-and-ui.html</guid><pubDate>Fri, 30 Oct 2026 00:00:00 +0000</pubDate><description>Parent-child entities and a real UI system, planned against two plain goals and built in two days. The decisions that kept it small.</description></item><item><title>Walkable dioramas with Jolt: capsules, ramps and gameplay shapes</title><link>https://joel-van-der-werf.com/devlog-jolt-physics.html</link><guid>https://joel-van-der-werf.com/devlog-jolt-physics.html</guid><pubDate>Thu, 29 Oct 2026 00:00:00 +0000</pubDate><description>Moving from bounding boxes to real 3D collision with Jolt Physics, and the two rules that made it simple.</description></item><item><title>Why I dropped the toe of the tonemap</title><link>https://joel-van-der-werf.com/devlog-tonemap-toe.html</link><guid>https://joel-van-der-werf.com/devlog-tonemap-toe.html</guid><pubDate>Tue, 27 Oct 2026 00:00:00 +0000</pubDate><description>A small HDR decision with a big effect on pixel art: keeping the darks exactly as the artist painted them.</description></item><item><title>Shadows for cardboard characters</title><link>https://joel-van-der-werf.com/devlog-sun-shadows.html</link><guid>https://joel-van-der-werf.com/devlog-sun-shadows.html</guid><pubDate>Tue, 27 Oct 2026 00:00:00 +0000</pubDate><description>One shadow map for the sun, sprite casters that turn to face the light, and a lookup trick so a sprite is never darkened by its own shadow.</description></item><item><title>Pixel-art sprites in a 3D world: upright cards, cut-outs and depth</title><link>https://joel-van-der-werf.com/devlog-sprites-in-3d.html</link><guid>https://joel-van-der-werf.com/devlog-sprites-in-3d.html</guid><pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate><description>How Hydro turned a flat 2D village into a diorama without rewriting the scenes: a facing mode per sprite, a depth buffer, and one discard.</description></item><item><title>Where runtime state lives: four rules for components in an ECS</title><link>https://joel-van-der-werf.com/devlog-runtime-state.html</link><guid>https://joel-van-der-werf.com/devlog-runtime-state.html</guid><pubDate>Sun, 25 Oct 2026 00:00:00 +0000</pubDate><description>Settings, per-entity state, library-owned state and derived data each have one home in Hydro. Deciding that once removed a whole class of bugs.</description></item><item><title>56 issues: what a full engine review found</title><link>https://joel-van-der-werf.com/devlog-engine-review.html</link><guid>https://joel-van-der-werf.com/devlog-engine-review.html</guid><pubDate>Tue, 20 Oct 2026 00:00:00 +0000</pubDate><description>Before adding features, I reviewed all 6,000 lines of the engine and editor. Six critical bugs, a swapchain split, and RAII for every Vulkan resource.</description></item><item><title>Four years of Hydro: from a Vulkan triangle to an editor</title><link>https://joel-van-der-werf.com/devlog-four-years-of-hydro.html</link><guid>https://joel-van-der-werf.com/devlog-four-years-of-hydro.html</guid><pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate><description>Hydro started in July 2022 as a window and a validation layer. A look back at four years of a side project that kept getting picked up again.</description></item></channel></rss>