Skip to content

pnxenopoulos/deadlock-nyc

Repository files navigation

deadlock.nyc

A fast, fully client-side demo (replay) viewer for Deadlock, running entirely in your browser. Drop in a .dem file and scrub through the match on a live minimap — heroes, troopers, jungle camps, objectives, the urn, kills, abilities, item builds, and chat.

🔗 Live: deadlock.nyc

Your demo files never leave your machine — parsing happens locally in WebAssembly, nothing is uploaded.

This tool is powered by boon, a Deadlock demo parser written in Rust. deadlock.nyc compiles boon to WebAssembly and renders the parsed entities, events, and stats in the browser.


Features

  • Local-first parsing.dem files are parsed in-browser via boon (Rust → WASM). No server, no upload.
  • Live minimap with surface / tunnel layers and pan + zoom:
    • Hero dots with team color, portrait, and a facing caret (yaw)
    • Lane troopers, neutral jungle camps (chevrons sized by camp tier)
    • Objectives — Guardians, Walkers, Shrines, the Patron, and the Mid-Boss — with live health rings
    • The urn, tracked through pickups and carries
    • Per-layer toggles (heroes / troopers / neutrals / objectives / urn)
  • Timeline scrubber with play/pause, back/forward by a configurable step, adjustable playback speed, jump-to-tick, and pause-band markers.
  • Keyboard shortcutsSpace play/pause, / back/forward, Esc to close dialogs.
  • Event feeds (tabbed) — kills, ability usage, objectives (destructions, Mid-Boss, urn spawns), and team-colored chat. Click any row to seek.
  • Player detail panel — collapsible Health, Abilities, Items (framed by category with gun / vitality / spirit souls invested), and Bonuses.
  • Dark / light themes.

Tech stack

Getting started

Prerequisites

  • Bun (latest)

  • A Rust toolchain with the wasm32-unknown-unknown target and wasm-pack:

    rustup target add wasm32-unknown-unknown
    cargo install wasm-pack

Install & run

bun install
bun run wasm     # build the boon WASM module → src/wasm/pkg (gitignored)
bun run dev      # start the dev server

src/wasm/pkg is generated and not committed, so bun run wasm must be run once before bun run dev / bun run build (and again whenever wasm/src changes).

Build for production

bun run wasm
bun run build    # tsc -b && vite build → dist/
bun run preview  # serve the production build locally

Project structure

src/
  components/    React UI (map view, timeline, event log, player detail, …)
  data/          generated game data (item/hero/ability manifests — committed)
  wasm/          WASM glue; pkg/ is built by `bun run wasm` (gitignored)
wasm/            the Rust crate (boon → WASM bindings) compiled by wasm-pack
scripts/         game-data generators (see scripts/README.md)
public/          static assets (item/hero/minimap images, CNAME)

Updating game data

Item icons, hero portraits, display names, and the stat panel are generated from Deadlock's game files. After a patch, refresh them with the pipeline documented in scripts/README.md:

bun run sync     # pull the latest GameTracking data and regenerate manifests

Image and modifier-schema steps require a machine with Deadlock + Source 2 Viewer — see the script docs for details.

Deployment

The site deploys to GitHub Pages via GitHub Actions (.github/workflows/deploy.yml) on every push to main. The workflow installs Rust + wasm-pack, builds the WASM module, runs bun run build, and publishes dist/. The custom domain (deadlock.nyc) is set via public/CNAME, which serves from the root, so no base override is needed.

Acknowledgements

  • boon — the Rust Deadlock demo parser that makes this tool possible.
  • Deadlock is a game by Valve. This is an unofficial, fan-made tool and is not affiliated with or endorsed by Valve.

License

The source code is released under the MIT License.

Deadlock and all related game content — imagery, icons, minimaps, hero and item names, and other in-game assets — are the property of Valve Corporation and are not covered by this license. This is an unofficial, fan-made project that is not affiliated with or endorsed by Valve.

About

deadlock.nyc lets you analyze Deadlock demo / replay files in your web browser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors