Skip to content

Repository files navigation

NITRO — 80s Drag Showdown

Multiplayer drag racing: short heats, rev-and-shift skill, Tetris-style sabotage. Same backend shape as deathRace (Colyseus room, 20Hz authoritative sim, React shell + canvas road).

The game

  • Up to 12 cars on one shared pseudo-3D strip, CPU fills the grid to 8.
  • ~60s heats, endless gears, best-of-3 or best-of-5 — first to majority wins the match.
  • Controls: hold ↑ to rev, Space to shift. Staging launch zone 3400–5600 RPM.
  • 5 gears, perfect window near redline narrows each gear. Early = bog, late = heat.
  • Full heat = 2s limp mode. 3x perfect streak = shield.
  • Perfect shifts splash neighbours (+heat, smoke at 3+ streak) and every 2nd streak-finish snipes the leader: smoke / gear jam / limiter drop / fuel cut / oil slick / headwind / false shift light. Missed shifts leave you vulnerable (+50%).
  • Back markers get a wider hidden perfect window (rubber-band).

Run it

npm install
npm run dev:colyseus   # ws://127.0.0.1:2567
npm run dev            # http://localhost:5173 (VITE_COLYSEUS_URL to point elsewhere)

No server handy? Hit SOLO TEST (VS CPU) on the menu — same sim, 7 CPU, best-of-5.

Tests: npm test (16 tests: sim, room heat flow, solo heat flow, protocol).

Live

  • Game: https://nitro-drag.pages.dev
  • Backend: wss://nitro-drag-showdown.fly.dev (/health over https)
  • Hub: https://marotta-arcade.pages.dev
  • Verify backend: npm run smoke:fly
  • Redeploy frontend: VITE_COLYSEUS_URL=wss://nitro-drag-showdown.fly.dev npm run deploy:cloudflare
  • Redeploy backend: flyctl deploy (single 256 MB shared machine, scale-to-zero)

About

racing game

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages