Development on Q3DM17FFA2D, newest first. ← back to home
2026-07-11
Sound & the desktop options menu
Turn the sound off — mute from the new SOUND: ON/OFF item in the in-game options menu, or press M at any time. The two stay in sync, and your choice is remembered the next time you play — even the ambient hum starts silent.
Options while you play (desktop) — press ESC mid-match to open an options panel: toggle auto-combat, toggle sound, then ESC to jump straight back in. Auto-combat aims and fires for you; nudge the mouse to take over and it re-arms after 2 seconds idle.
Fixes from real-device play
The vanishing sniper — on high-refresh displays (120 Hz+), a couple of minutes of standing still could overrun the server's message budget: the connection was silently dropped, you rejoined as a ghost spectator, and the camera wandered off after a bot. Input now paces itself on any display, the server budget has head-room, and if a connection ever resets you get an explicit "press ESC and JOIN to re-enter" notice instead of a haunted camera.
Weapon bar taps work on phones — real touches used to fall through the HUD into the game (our synthetic-event tests never noticed). Slots also grew generous hit areas with nearest-slot snapping.
Knocked off a ledge? Your body no longer hides behind the deck's side wall during the first moments of the fall.
No JUMP button in portrait — the whole bottom half is the stick zone and a stick tap jumps; rotate to landscape for the hold-to-bunny-hop button.
Health never shows below 0 — overkill still gibs, the HUD just stops at zero.
Outnumbered humans get breathing room — whenever live humans are fewer than live bots, bots prefer brawling each other. Shoot one and it will still shoot back.
2026-07-10
Mobile auto-mode & controls
Auto-mode on touch devices — you steer, the game shoots: the nearest visible enemy is aimed and fired at automatically (per-weapon reach, cover-aware), and dry weapons switch themselves. Manual fire hold and weapon-bar taps still override.
Stick tap = jump — a quick tap on the stick zone hops; hold JUMP to bunny-hop as before.
Orientation-aware stick zone — portrait: the whole bottom half of the screen; landscape: the left half.
Pinch to zoom — two-finger zoom while spectating (same limits as the desktop wheel).
Spectator audio — the arena is no longer silent before you join: one tap unlocks ambient, gunfire and the announcer, heard from the followed player's position.
Spectating on touch no longer parks a stray crosshair on screen.
Feel & fairness
Aim assist strengthened (two passes) — wider cursor magnetism, longer target hold, wider auto-pitch cone. Server hit judgment untouched.
Grippier ground movement — higher friction and ground acceleration: ~30% shorter stop-slide, faster direction reversal. Bunny-hop speed untouched.
Camera zoomed in ~12%, and fair bot vision to match — bots now only react to enemies inside roughly what a human sees on screen. Being shot reveals you for a few seconds; the porch railgunner keeps a sniper's scope.
Smarter bot travel — jump pads are picked by where they LAND relative to the fight, and bots finally use the teleporters on purpose.
DM17 detail pass
Rails on the top decks — the shotgun ledges carry a low rail on their two outer faces, like the original: no more accidental strafe-offs, but a hop still clears it.
Height-colored outlines — deck trim encodes elevation: amber ground, teal mid floors, violet top decks, magenta crown. Connected decks share one continuous outline (no more seam lines underfoot).
Bridge covers flush with the rims, staggered on opposite sides — the original's slalom. Accelerator pads hug their deck's inner edge, dishes facing outward.
Site & engineering
Web leaderboard — lifetime top 10 + weekly standings, viewable outside the game.
Shared ballistics — the landing ring and the server's projectile flight are now literally the same code, with an equivalence test so they can never drift apart.
Test & QA growth — the deterministic suite grew to 17 checks (ballistics, aim-assist math, deck rails, auto-mode); 20 headless-browser QA scripts now live in the repo.
Security & hardening
Security audit & red-team — a full code review across netcode, simulation, and web surface. Fixed a critical aim-input flaw plus connection-flood, crash, and rate-limit gaps; added a red-team regression harness. See the security docs for details.
Web hardening — Content-Security-Policy, X-Frame-Options, and nosniff headers.
Personality & polish
Per-character bot personalities — 6 personas (jumpy raider, cautious saurian sniper, fearless bones berserker, methodical cyborg, item-hungry imp, by-the-book trooper). Bots now behave the way they look.
Weapon & character data modularized — each weapon is one file, each character three files. Adding content is adding a file.
Jump-pad trajectory preview — a dotted arc + landing ring that re-integrates every frame, so it bends live with air-steering and knockback.
Binary snapshot codec — the WebRTC data channel now sends a fixed-schema binary format, ~3× smaller than JSON, lossless.
Server-side accuracy tracking — per-weapon human hit-rate aggregated daily, to measure aim-assist tuning.
Landing & guide pages — the game moved to /play; the root is now a landing page with play guide, modding guide, tribute, and this changelog.
Position-jump smoothing — reconciliation corrections now ease into place over ~150 ms instead of hard-snapping.
Characters & animation
Character overhaul — 6 archetype silhouettes (trooper, raider, saurian, bones, cyborg, imp), each name-hashed to a stable identity.
Full animation set — two-segment running stride, idle breathing, jump tuck, falling flail, landing squash scaled by impact, pain flinch with red flash, and firing recoil.
Gauntlet melee — a proper step-in punch swing.
Mobile
Dual-thumb touch controls — floating analog stick on the left, aim-and-hold-to-fire on the right, dedicated JUMP button (bunny-hop capable).
First-class portrait layout — the join panel becomes a bottom sheet, HUD scales to fit, fullscreen on join.
Aim assist absorbs finger imprecision, which is what makes touch aiming viable.
Aim & feel
Aim assist — cursor magnetism with dynamic radius, target hold (coyote aim), vertical auto-pitch, and a projectile landing ring. The key to making 3D combat work with a 2D cursor.
DM17 faithfulness — armor line laid on the accelerator arc, map-edge spawns, original item placement.
Trademark mitigation — non-affiliation notice on the boot screen and in page metadata.
3D combat & public service
Full 3D combat — floor gating removed; pitch aiming, capsule hits, 3D splash and vertical knockback.
Bunny hop, gibs, weight tuning, and bot expedition missions (porch / mega / quad).
Netcode complete — lag compensation, delta snapshots, WebRTC P2P with TURN relay, passkey stats, adaptive bot difficulty.
Cloudflare stack — named tunnel, TURN, Turnstile join gate, Matomo analytics (no PII).
2026-07-09
First playable
Server-authoritative simulation, fully procedural renderer, first DM17 layout recreation.