A voxel western showdown

DUSTLINE

Eight outlaws. One smoking six-shooter.

Choose your showdown

Controls

Keyboard & mouse

WASD / Arrows Move

Mouse Aim · click arena to lock pointer

Shift Sprint · Space / click Fire

R Reload · Esc Pause

Touch

Left stick to move

Drag the right side to aim

Dedicated Fire and Reload buttons

Score 8 eliminations before 2:30 expires. Stay alive.

Eliminations 0 / 8
Time 2:30
BOTS · LOCAL
Health 100
Six-shooter ● ● ● ● ● ●

R Reload

×

Hold your horses

Paused

The showdown is waiting.

The dust settles

Showdown over

0 eliminations

Best: 0

Press Enter to ride again

Under the hood

Developer notes

Architecture

DUSTLINE combines a Three.js renderer with a fixed-step FPS simulation. The player camera drives precise center-screen raycasts, while the animation system blends gunslinger locomotion, shooting and death poses. Audio, transport, simulation and menu lifecycle remain separate modules.

Local tab duel is LOCAL / no internet server. Tabs exchange state within the same browser. It is a networking demonstration, not an online matchmaking service.

Performance budget

The arena targets approximately 15k scene triangles. Low-poly voxel-style models, compact geometry, short-lived effects and restrained draw calls keep movement crisp on desktop and mobile WebGL. Future optimization: spatial hashing for broad-phase queries and instancing for repeated rocks, barrels and town props.

Prediction & reconciliation

Each local tab applies movement immediately, so aiming and strafing never wait for another tab. Local input is predicted on the client; remote gunslingers retain previous and next snapshots and render through interpolation to hide packet spacing. A future authoritative server would sequence inputs, replay unacknowledged commands after snapshots, and reconcile predicted state toward the confirmed position without visible snapping.

Next steps

  • Authoritative WebSocket rooms with server-owned health, ammunition and scoring.
  • Snapshot replication at 20 Hz, input acknowledgment and delta compression.
  • Server-side lag compensation using historical hitboxes for fair raycasts.
  • Spatial hashing for nearby-player, projectile and collision queries.
  • Instancing and geometry batching for larger desert towns.
  • Skill-based matchmaking, reconnect support and room migration.
  • Server validation, rate limits and replay analysis for anti-cheat.

Controls

Desktop: WASD or arrow keys to move, mouse to aim, Shift to sprint, Space or left click to fire, R to reload and Escape to pause. Click the arena to lock the pointer.

Touch: use the left joystick to move, drag the right look zone to aim, and tap Fire or Reload.