Engine Experience
Games and real-time 3D that run from a link. Three.js sits on top of WebGL, and WebGL is graphics programming — which is where I have spent most of the last three decades. Four things are live right now: the raytraced surface behind this text, a scene you can fly around, a 6DOF flight combat game, and Senet with AI opponents and peer-to-peer multiplayer. All four are AI-assisted builds, and there is a breakdown of each below.
Three.js is a friendly wrapper over WebGL. Buffers, framebuffers, texture state, draw calls and the GL state machine are the level I actually work at — so when the abstraction leaks, or a project needs something outside what it exposes, that is not a wall.
GLSL and HLSL written regularly for years across engines and platforms. Custom materials, raymarching, procedural texturing and full post-processing chains rather than parameter tweaking.
Mathematics and physics are the hobby as well as the job — implicit surfaces, root finding, analytic normals, projections and numerical methods. The pieces of 3D that are maths problems wearing a rendering costume.
The browser is a constrained target: one main thread, integrated GPUs, wildly varying device pixel ratios. Heavy work goes off that thread into Web Workers, or onto the GPU as WebGPU compute where it fits. Same optimisation discipline as console work — measure, budget, cut.
No install, no store, no certification — a link. Useful for demos, tools and visualisation, and a natural fit alongside the mobile and cross-platform delivery already in the CV.
Astronomical and scientific visualisation from Star Chart and Known Space, and creative tooling from Mischief and NUKE — the same problems, in a canvas element.
The background above is not a video or a library demo. It is a raytracer in GLSL and plain WebGL, with no dependencies, rendering a Chmutov sextic surface in real time — a port of my earlier work, done with AI assistance. Here is what happens every frame.
Scene pass
Scene pass
Post-processing
Final pass
What is actually running in each of the playable projects below. Like the background above, all four are AI-assisted builds.
d1.redmarmosetstudios.com
d2.redmarmosetstudios.com
whap.redmarmosetstudios.com
senet.redmarmosetstudios.com
Everything here runs in place — no install, no download, just a link. All of it is built with AI assistance.
Hedron Yard — a raytraced scene you can fly around, with 2,400 polyhedra, some 96,000 lights, traced shadows and reflections, and an FPS overlay over a chiptune soundtrack. WASD to fly, drag to look, Tab for the controls panel.
Play now →Six-degree-of-freedom flight combat in an endo/exo-atmospheric attack craft. Pitch, yaw and roll, a weapon menu, target locking and an eject button. Gamepad supported.
Play now →A space sandbox in progress — a block-based ship builder with saveable prefabs, asteroids to work, multiple camera rigs, and a rendering stack that runs to star fields and black holes. WebGPU compute and Web Workers underneath.
Play now →The oldest known board game, playable online. Seven AI tiers using an opening book and Monte Carlo tree search, peer-to-peer multiplayer over WebRTC, a Discord Activity, 19 interactive lessons and a rated leaderboard. Plain ES modules — no Three.js, no framework.
Play now →The first three are built on Three.js; Senet is plain ES modules. You can also read the renderer behind this page on GitHub.