Files
MeatSlicer/docs
Quintine 6b4e7091a9 release: bump to 0.8.0 (HD Remaster) with docs, cache bust, and smoke coverage
Cache-bust v=54 -> v=55 across index.html and sfxbank.js, bump the game
version to 0.8.0, document the HD Remaster setting in gameplay.md and the
changelog, and extend the smoke suite with 4x sheet-geometry bounds checks,
HD loader fallback URL assertions, and toggle persistence/reload checks.
2026-08-12 10:11:23 +10:00
..
2026-07-30 23:37:26 +10:00
2026-07-30 22:47:39 +10:00

MeatSlicer: A Butcher's Descent

Clear, harvest, descend.

MeatSlicer is an endless top-down arena roguelite. You are the Butcher, descending floor by floor through an infinite meat-locker hell: clear rooms of flesh-hungry horrors, draft mutations, stack grotesque passive items into a broken build, kill the boss, take the stairs. The descent never ends — the only question is how deep you get before you're butchered, and whether your score becomes the new best cut.

Documentation index

Doc Contents
Gameplay Guide Core loop, controls, player stats, rooms & floors, pickups, leveling, scoring, pressure/difficulty systems, HUD
Weapons All 16 weapons with exact stats, drop tiers, and damage math
Items All 46 passive items, stacking/tier rules, proc numbers, synergies
Perks All 23 Mutation Draft perks, XP curve, draft mechanics
Enemies All 11 enemy types, elites, drops, wave and scaling formulas
Bosses All 9 bosses: rotation, scaling, full attack patterns, counters
Debug Console In-game cheat/inspection toolset (backtick ` key, --dev flag): all 8 tabs, run tainting, stat-rebuild internals
Development Guide Architecture, build/test workflow, Electron packaging, asset and audio pipelines, versioning, releases, and Git practices — maintained in Serena memory (.serena/memories/meatslicer-development.md), not this repo
Changelog Release history by version

Quick numbers

  • 16 weapons (1 infinite-ammo sidearm + 15 special weapons across 4 tiers)
  • 46 passive items (stacking, tier cap IX)
  • 23 perks (draft 1 of 3 per level-up)
  • 11 enemy types (+ elite variants)
  • 9 bosses (fixed rotation, one per floor)
  • ∞ floors (permadeath, endless descent, high-score chase)

Running the game

Browser (quickest)

play.bat

Serves the game locally at http://localhost:8123 and opens it. Close the minimized server window to stop.

Electron (desktop app)

npm install
npm start

Build a distributable

npm run dist

Packages a Windows zip via electron-builder into dist/.

Tests

npm test

Runs the smoke test (test/smoke.js).

Debug console

An in-game cheat/inspection panel is available in dev builds. Launch with the dev flag — MeatSlicer.exe --dev, npm start -- --dev, or play-dev.bat / http://localhost:8123/?dev=1 in a browser — then press the backtick ` key in play or pause. Eight tabs cover health, weapons, items, perks, pressure, spawning enemies/bosses, timescale, visualizers, and a live stats readout. Using mutating actions voids the run's best score. See Debug Console.

Tech overview

  • Stack: plain JavaScript + HTML5 canvas, no framework. Electron wrapper for desktop.
  • Entry: index.html loads js/main.js and the game modules directly (no bundler).
  • Code layout (js/): main (loop, screens), state (global state), rooms (floor gen), player, input, weapons, bullets, items, perks, pickups, enemies, bosses, hud, sprites, particles, audio, sfx, sfxbank, utils.
  • Persistence: localStorage only (best score, volumes, auto-draft setting).

The fantasy in one paragraph

Rooms lock behind you. The meat waves come in threes. Elites gleam gold and drop the good stuff. Set the Pressure Dial before you descend — the gauge climbs the longer you stay flawless, and every point of score rides it. Every boss — saw, crown, mother, flenser, choir, father, auger, scald — cycles back around, deeper and meaner, until the meat finally wins. Take the meat. Take the stairs.