#+title: micro-roguelike * what two small roguelikes at two size limits. explore, grab loot, don't die, get out. open either in a browser. nothing to install. * 1mb version play: https://rogue.krz.sh/1mb/ a 12x12 grid, torches and shadows, a beast that hunts you, six floors to daylight, and a secret seventh. reach the gate on floor 6 with the crown and the key. #+begin_example controls: - arrow keys / wasd move - space or . wait a turn - t drop torch - m mute / unmute - g graphics / ascii tiles - r restart - c continue a saved run (title screen) #+end_example on mobile an on-screen d-pad appears. the side panel lists what every item and exit in the current room does. #+begin_example modes (press a number on the title screen): 1 standard 2 iron 3 greed 4 dark 5 daily 6 heavy 7 swift 8 warded #+end_example win once and a hidden seventh floor opens. budget: the game is the raw files in 1mb/, no build step, and together they stay under 1,048,576 bytes (1 MiB). tools/check.sh is the gate; it prints the byte ledger and proves every escape room stays winnable across hundreds of seeds, and that every item that can appear has a side-panel explanation. ledger history in docs/SIZES.txt. #+begin_src sh tools/check.sh #+end_src tools/playthrough.js plays full runs (floors 1-7, camps, finale) through the real engine and replays each win through the key handler. it takes 1-3 minutes per seed, so it is not part of check.sh: #+begin_src sh node tools/playthrough.js 20 node tools/playthrough.js --seeds 8q10qn #+end_src run check.sh before each commit: #+begin_src sh ln -s ../../tools/pre-commit .git/hooks/pre-commit #+end_src * 1kb version play: https://rogue.krz.sh/1kb/#g the whole game in about a kilobyte of html. no javascript, just links between rooms. find the key and the crown, make it back out through the gate. controls: click the links. * license 0bsd. see LICENSE.