Back to Devlog
    v1.0.0-alpha.6
    1.0 Alpha 6October 26, 2026Release notes

    Road to 1.0: Less Work per Frame

    Correct spawn facing, plasma you can see, bots that keep swinging, and fewer repeated rendering passes. Inside Washoi alpha 6.

    Face the Fight

    Washoi alpha 6 is out. This release fixes a handful of things you can notice in a fight, then gets underneath the frame to remove work the renderer was doing twice, or doing for objects it could already rule out.

    You spawn facing the direction the map author intended. Plasma bolts keep their models after a map change. Bots with a blade remember that one swing is rarely enough. And on WebGPU, water and soft halos stop asking the scene to draw its depth all over again.

    A Better Place to Start

    A spawn point has a direction as well as a position. Until now, the game ignored that direction, which could leave you appearing with a wall in front of your face.

    Joining a match, respawning and moving to a spawn at round start now use the spawn's authored facing, with the view level, as in Quake. The map gets to point you toward the arena it was built to introduce.

    Plasma had a different disappearing act. Sometimes its trail was visible while the bolt itself stayed invisible for the whole session. Other projectile models could suffer the same problem.

    A map change clears the texture cache. If a projectile model was being built across that clear, it could lose its texture and still be cached as the finished model. Every later shot then reused the broken result.

    That interrupted model is now discarded and rebuilt. Preparation allows up to three attempts; repeated cache clears produce a preparation failure instead of an endless retry. A trail should have a projectile to follow.

    The Blade Needs Another Press

    The blade attacks on a fresh button press. Bots held the button down.

    That worked for the first swing. Afterward, a bot could circle a target with the blade in reach, apparently waiting for the argument to resolve itself. Bots now make fresh attacks while the target is in reach, so they keep swinging.

    Airborne frag highlights also get a more useful threshold. The killer's feet must be at least 32 units above the ground. Previously, any frag made off the ground qualified, including a small hop off a step.

    A Body Keeps Its Colour

    Every death used the same pink, teal and grey fragments. Gibs now take the dead player's colour as their body was drawn: each opponent's colour in free-for-all, or the enemy and ally colours in team modes. A lighter tint and a darker shade carry that colour through the fragments.

    Ragdolls also fade out and burst into gibs once they come to rest. The old rule always waited five seconds, including when a body was wedged in a corner and kept rolling in place. Five seconds remains the upper limit, but a settled body can finish sooner.

    Draw the Depth Once

    Water and soft halos need to know where the scene's surfaces are. On WebGL2, they already shared depth from the main rendering pass. WebGPU was drawing the scene again into two separate depth passes of its own.

    WebGPU now shares the main pass's depth too. On washoi_dm5 playback, the median frame drew 133–180 calls instead of 339. The 95th-percentile count fell from 528 to 251–285. Those are draw-call counts from that playback, rather than a promise about every player's frame rate.

    An earlier attempt at this change was shelved because WebGPU rejected frames just after map loads. The depth conversion now runs in its own pass; validation across three map loads produced no WebGPU errors.

    There is also a scoped repair for experimental WebGPU non-compatibility mode. Water occlusion queries could invalidate a frame there by replaying into a pass without the required query set. That mode now skips those queries and keeps water conservatively drawable. Ordinary WebGPU and WebGL retain their existing query policy.

    Stop Checking What Cannot Draw

    The map's potentially visible set, or PVS, already identifies static world meshes hidden from the current area. Those hidden meshes now also skip the primary camera's readiness and transform evaluation. Conservative fallbacks remain for camera, level-of-detail and action cases that need the broader checks.

    Disabled gib fragments waiting in their pool skip camera readiness checks as well. Reactivating one restores it immediately, while whole-scene loading still checks readiness. Both changes were checked with matched images on WebGL2 and WebGPU.

    Materials with only a fixed texture scale keep their frozen state and avoid repeating unchanged UV assignments. Shared textures still recover their authored transforms if another writer changes them; animated stages keep their existing path.

    Voltaic effect batches now upload the slot intervals that changed, rather than sending their entire custom attribute arrays. In a GPU fixture with one active slot, that submitted 96.875% fewer bytes, with identical effect images on both backends. It measures the upload payload in that fixture, not whole-game FPS. The retained buffers also rebuild at full capacity after a graphics context is restored.

    Experiments With a Clear Boundary

    Some of this release's work prepares future renderer changes. Numeric shader-stage evaluation can now run without Babylon objects, and isolated GPU fixtures check a narrow scroll-and-sine material adapter. Normal gameplay material selection stays as it is.

    A matrix-free Voltaic experiment removes static matrix buffers, but also exposed inaccurate forced-draw statistics in Babylon. Gameplay keeps the validated matrix-backed renderer. The experiment is evidence for the next decision, rather than a new default.

    The Babylon Lite research now includes extraction plans, lifecycle contracts and validation criteria. There is no Lite renderer switch in alpha 6. The rendering savings above land in the existing backends, while the research gives future work something concrete to test.