Back to Devlog
    v0.9.26
    NetcodeOctober 9, 2026Release notes

    Shots Judged Where You Saw Them

    Shot timing follows the view that reached the shooter, head hits finally register, snapshots shrink, and a client sweep clears out 43 presentation problems.

    You Shot at the Player on Your Screen

    The server should judge that shot against the view you actually had.

    The client had been drawing remote players up to a full network trip ahead of its latest snapshot. At 50 ms one way, a shot could be judged up to 58 ms earlier than the target shown to the shooter.

    Snapshot timestamps now account for measured transit time so the rendered view follows what has arrived. The server's rewind budget remains 100 ms. Checking the claimed rewind against measured ping is planned, not implemented in this release.

    Head Hits That Can Actually Happen

    The hitscan head threshold sat above the hit sphere. There was no part of the target you could hit that counted as its head.

    Head hits now register and get 10% extra damage, with an orange damage number and a longer crosshair flash. Riotgun pellets remain body hits, and leg hits retain their 25% reduction. The head bonus increases again in the next release.

    Stop Sending What the Client Already Knows

    Acknowledged scoreboard rosters and remote weapon state no longer travel unchanged in every snapshot. They return when changed, with a periodic full refresh as a safety net. Your own weapon state and gameplay events still go out every time.

    For the measured 16-player workload, idle snapshots drop from 5,809 to 2,091 bytes per client; firefights fall from 5,282 to 3,415. Snapshot encoding falls from about 2.4 ms to 0.4 ms with byte-identical output. These protocol changes require client and server to ship together.

    Forty-Three Ways to Leave a Match Dirty

    The client sweep found state that stayed switched off, models that came back invisible, effects that disposed shared textures, and cleanup paths that forgot their materials.

    Projectiles and remote weapons return after leaving view. New sessions clear old spectator, death and powerup state. Weapon switches stop inheriting the previous weapon's reload or blade charge. Demo frames stop presenting twice on resume, and the post-game winner plate stamps in once instead of replaying its entrance on every ping update.

    S&D's detonation chain now damages nearby players during the round-end intermission. Walls stop the blast; it changes no already-decided result and awards no frag, suicide or counted death.

    What the Checks Do Not Prove

    The engine's build, automated tests, simulation, physics, tick and fuzz checks passed. The physics diagnostic still prints its existing step-slide warning while exiting successfully.

    Live checks remain for remote-player frame times, real-ping shot timing, head hits, lossy-link snapshots, S&D spectating and blasts, objects returning to view, match-end/rejoin flow and cinematic playback. The post-game screen was checked in a match.

    Rewind-versus-ping validation and the planned WeaponSystem and GameServer splits remain undone. A passing test suite is evidence for what it tested; the rest stays on the list.