README.org
70 lines · 2021 bytes
1#+title: micro-roguelike
2
3* what
4two small roguelikes at two size limits. explore, grab loot, don't
5die, get out. open either in a browser. nothing to install.
6
7* 1mb version
8play: https://rogue.krz.sh/1mb/
9
10a 12x12 grid, torches and shadows, a beast that hunts you, six
11floors to daylight, and a secret seventh. reach the gate on floor 6
12with the crown and the key.
13
14#+begin_example
15controls:
16- arrow keys / wasd move
17- space or . wait a turn
18- t drop torch
19- m mute / unmute
20- g graphics / ascii tiles
21- r restart
22- c continue a saved run (title screen)
23#+end_example
24
25on mobile an on-screen d-pad appears. the side panel lists what
26every item and exit in the current room does.
27
28#+begin_example
29modes (press a number on the title screen):
301 standard 2 iron 3 greed 4 dark
315 daily 6 heavy 7 swift 8 warded
32#+end_example
33
34win once and a hidden seventh floor opens.
35
36budget: the game is the raw files in 1mb/, no build step, and
37together they stay under 1,048,576 bytes (1 MiB). tools/check.sh is
38the gate; it prints the byte ledger and proves every escape room
39stays winnable across hundreds of seeds, and that every item
40that can appear has a side-panel explanation. ledger history in
41docs/SIZES.txt.
42
43#+begin_src sh
44tools/check.sh
45#+end_src
46
47tools/playthrough.js plays full runs (floors 1-7, camps, finale)
48through the real engine and replays each win through the key handler.
49it takes 1-3 minutes per seed, so it is not part of check.sh:
50
51#+begin_src sh
52node tools/playthrough.js 20
53node tools/playthrough.js --seeds 8q10qn
54#+end_src
55
56run check.sh before each commit:
57
58#+begin_src sh
59ln -s ../../tools/pre-commit .git/hooks/pre-commit
60#+end_src
61
62* 1kb version
63play: https://rogue.krz.sh/1kb/#g
64
65the whole game in about a kilobyte of html. no javascript, just
66links between rooms. find the key and the crown, make it back out
67through the gate. controls: click the links.
68
69* license
700bsd. see LICENSE.