Notes
Research & notes
Research notes and specs from what I build and explore: game development, generative AI for media, and the software behind them.
-
Atmosphere and dread: a second shader research pass
How atmospheric and horror games use height fog, grading, film grain and dread-driven effects, and what Babylon.js can do at 60 fps in a browser.
-
Grass, wind and trails in a browser meadow
Why game grass reads as flat, what shipped meadows do instead, wind as one shared field, and what Babylon.js on WebGL2 can afford at 60 Hz.
-
Stylized shader looks: how games build a visual identity
How games use shaders to build a distinct look, from ink outlines and cel lighting to dithering, gradient fog and VHS effects.
-
No visible pop-in: dissolving a streamed forest
Keeping a streamed browser forest from visibly spawning: pixel-size arithmetic, screen-space dissolve bands, and what discard costs in opaque shaders.
-
Why props float on procedural terrain
Why trees float on slopes and distant ridges in a procedural world, measured, and the shader and clipmap fixes that grounded them in Babylon.js.
-
Pointer lock's Esc cooldown and an 8-byte patch
Chromium refuses pointer lock for 1.25 s after Esc. What failed in the browser, and how an 8-byte patch to prebuilt Electron removed the cooldown.
-
Babylon.js material plugins: hooks and traps
Where Babylon.js 9.18 injects material plugin GLSL, what each PBR hook can see, and the silent failures behind preprocessor, comment and bake traps.
-
An endless world as a pure function
Unbounded mountains, a warped coastline, a highway and cliff bands built as pure C² functions with exact derivatives, so every peer builds one world.
-
Hosting WebRTC signaling on Cloud Run
Hosting a WebRTC signaling server on Google Cloud Run for a browser co-op game, the platform behaviours that broke it, and what a running match survives.
-
Host-authoritative co-op netcode in the browser
How Day Hike's browser co-op stays responsive: a 60 Hz fixed step, redundant inputs, quantized snapshots, prediction, and host-created lobbies.