Q3DM17FFA2D PLAY →

Changelog

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.
Leaderboard & rules
  • Weekly leaderboard history — page back through past ISO weeks with ◀ ▶.
  • 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.