SHEET 24 · Games
Porkchop: Fists of Fury
Zero dependencies, no build step — a beat-em-up roguelike metroidvania in 32k lines of Canvas 2D, written as nineteen modules against one contract, all 586 cross-module imports linked first try

32k LOC19 modules586 imports linked35 relics40 terminals0 dependencies2026liveGames
About
He won the war in space, then found out who wrote it. Porkchop punches down nine strata of THE HAMSTACK — a datacenter under Bacon Bay — and learns that the Wolfpack armada was inference and the Warzone Simulator was his training environment. Three genres share one body: a beat-em-up with jab chains, launchers, juggles, grabs, and a parry with a riposte; a roguelike of seeded floors, 35 relics, a shop, and a meta layer bought with weights stripped off your own corpse; and a metroidvania whose seven abilities open a map that persists between runs. Everything is drawn from primitives and synthesised in WebAudio — no images, no fonts, no audio files, no bundler — and the whole game also ships as one 1.3 MB HTML file that runs off a USB stick.
Key features
- 01Beat-em-up core: cancelable jab chains, a launcher into air combos, ground bounces, grabs, throws, and a parry (SNOUT CATCH) that answers every telegraph
- 02FISTS OF FURY — a Fury-meter spend that teleports between everything still standing and clears the screen
- 03Nine strata arranged fresh from a seed, with 35 relics, nine weapons, elite rooms, and a shop run by the SNACKTRON 3000
- 04Death is diegetic: you restore from backup, the tape library keeps every attempt, and weights stripped off your corpse buy seven permanent meta upgrades
- 05Seven metroidvania abilities — IRON SNOUT, PIG POUND, GREASE BOOTS, TROTTER GLIDE, BACON BEAM, COLD BOOT, HOGZOOKA — gating a map that persists between runs
- 06Destructible everything: racks come apart into tumbling drives, drywall goes through, floor panels collapse, coolant pipes burst and freeze, PSUs detonate in chains
- 07Fourteen enemy types and seven bosses, from THE BIG BAD BOUNCER to WOLFMOTHER.exe in Cold Aisle Zero
- 08Forty readable terminals carrying the actual story — incident reports, the wolves' union grievances, a changelog of your own nerfs — and four endings, the last gated on having read them
- 09Every sprite drawn from primitives and every sound effect and all seven music decks synthesised live in WebAudio: no images, no fonts, no audio files
- 10Vanilla ES modules with zero dependencies and no build step — open the file and play
- 11Fifteen authors wrote one module each in parallel against docs/CONTRACT.md, unable to see each other's code; all 586 cross-module imports resolved on the first link check
- 12Single-file build (tools/bundle.mjs): each module becomes its own IIFE feeding a registry, so scopes stay separate and import cycles resolve through call-time wrappers
- 13Verified by measurement, not by eye: jump arc 3.1 tiles, 17 px tap vs 50 px hold, run 165 px/s, dash 430 px/s over 98 px, 60 fps with 93 entities and 900 particles
- 14?seed=N reproduces a run exactly; tools/play.mjs drives scripted scenarios through real key events and reports every error as one JSON line
- 15Keyboard, gamepad, and touch — on a phone the left half is a floating stick and the right half is buttons, so you steer and punch at once
Gallery







Nearby
SHEET 23 · Games

Porkchop in Space
Zero art assets — every pig, wolf, and nebula generated at boot; a three.js rail shooter with a 13-card draft, a three-phase boss, and seeded runs you can hand to someone else
2026live11.6k loc46 modules
SHEET 17 · Games

xyzdisc
Browser 3D disc golf on real Colorado courses — 0.7 m LiDAR ground, aerial imagery, crown-detected forests, a physics flight model and PDGA stances; 9 venues, 18 layouts, 5,400 unit cases, live at xyzdg.com
2026live9 venues18 layouts
SHEET 19 · Games

Ski With Your Friends
The consumer brand of Skiride: one relay, 20 Hz pose replication, eight per lobby, voice that fades with distance — separated from the xyzski monorepo at a pinned commit and live on its own domain since 2026-09-17
2026live20 hz relay8 players lobby