Back to Devlog
    v0.8.16
    EngineJanuary 9, 2026Release notes

    The Game Became a Submodule

    The game moved to src/games/default with build-time selection via a GAME env var, and the console got a colour scheme.

    One Engine, Many Games, Chosen At Build Time

    text
    src/game/       -> src/games/default/
    public/game/    -> public/games/default/

    Selection is a build-time GAME environment variable — GAME=demo npm run build on Linux and macOS, $env:GAME="demo" in PowerShell — read from defaultGame in engine.json. A @game/* TypeScript path alias and a dynamic Vite alias follow. Asset paths take the /games/[gamename]/ prefix.

    The ?game= URL parameter is gone, and so is allowGameOverride. The engine no longer lets a URL choose what code runs in the page.

    Colourising the Console

    Teal primary accent #2EC4B6, yellow warnings, magenta numbers, green strings, exposed as CSS variables and through a UIStyles.setConsoleColors() API.

    This is the release where the debug console stopped being a white monospace dump and became the thing it still is. Those four colours are load-bearing: the teal primary is why the console header reads as part of the same product as everything else.

    Also Here

    The PK3 index now auto-validates at startup, during the loading screen, with progress messages for both paths: "Validating PK3 index..." and "Building PK3 index...". A five-step migration guide from v0.8.15, including the ../engine/ → ../../engine/ import fix.

    Known Issues: none stated.