Download

← All updates

Update

quark 0.3.0

Everything that changed in this version, and why.

The full notes for this version are its short notes: that was all that was written then.

Movement

  • Left Shift: dash in the direction you're moving (or forward), 1.2 s cooldown. Keeps your speed if you're already faster.
  • Hold Space: automatic bunny hopping. You jump the moment you land, before ground friction slows you down.
  • Q: momentum grapple (like TF2). Press to fire at what you're aiming at (45 m range), hold to be pulled in. The pull adds to your momentum instead of replacing it, so you can swing. Everyone can see your rope.

Server tick rate

  • The server now starts at 1000 Hz and sends a snapshot every tick.
  • During warmup it checks whether it can keep up: late ticks, failed sends, and snapshot loss reported by every player. If not, it steps down to 500, then 250, then 125 Hz (the minimum) and tells everyone.
  • quark_server --tickrate N sets the highest rate to try.
  • Movement is simulated in fixed 1 ms steps, so it is exactly the same at every tick rate and every frame rate (checked by an automated test: identical positions at 1000/500/250/125 Hz with dashing, bhopping and grappling).
  • Other players are drawn 3 snapshots + 10 ms behind: 13 ms at 1000 Hz (was 50 ms).
  • Client prediction skips its replay when the server agrees with what was predicted (almost always), so high tick rates cost very little CPU.
  • Windows: 1 ms timer precision for accurate ticks; the hosting thread runs at above-normal priority.

Other

  • Servers are limited to 8 players (keeps 1000 Hz affordable on home connections).
  • Protocol version 3: older clients and servers can't connect to this version.