LambdaHack
Saved games stay in this browser only.
About the game
LambdaHack is a dungeon crawler drawn entirely with letters, digits and punctuation, in the tradition of the old text-mode roguelikes. You lead a small party of explorers through dark levels full of monsters. Your own party members are bright white letters, the monsters are other letters, and the map is made of dots, walls, doors, bushes and water. Rooms are lit or dark, light matters, and so do stealth and sound: monsters hunt by sight, hearing and smell, and a careful group can set up an ambush instead of walking into one.
It is turn-based, but the turns are fine-grained. You give a command, watch what unfolds, and then take all the time you like to think. Arrows and thrown things fly across the screen over several moments and can be dodged. The rules are the same for you and for the monsters: the same field of view, the same limits on what you can carry, the same use of items and terrain. Combat has no dice, so a bad outcome is almost always a mistake you can learn from. Hit points hardly recover, which means every earlier decision counts, and the whole party shares one inventory that sits on the map and can be looted by enemies.
The adventures are numbered. The first two are short tutorials that teach you to explore, sneak and fight in melee, and the third is the long crawl, a multi-floor expedition about resource management and survival. Further short scenarios drill single skills, from a frantic dash to the exit to big lopsided brawls. You can pick the difficulty and optional extra challenges, and you can hand the party over to the computer at any time, which is also how the game greets you: it starts by playing itself, and any key gives you control.
LambdaHack is also a game engine for this kind of roguelike, written in Haskell by Andres Loeh and Mikolaj Konarski, and the dungeon crawler is its sample game. This is the project's own browser version, compiled to WebAssembly.
Made with AI help
The repository includes an instruction file for the Claude Code coding assistant (CLAUDE.md), so the project was developed at least in part with AI help. The licences are clear: the code is BSD-3-Clause, the game ships no pictures or sounds, and the fonts are listed in the licence files.
Playing it here
The game runs in the page and needs a keyboard; the mouse works too. Be patient on the first load: the download is about 5 MB (30 MB once unpacked) and it can take 10 to 20 seconds to start. The authors warn that it runs rather slowly in the browser and is fastest in Chrome. It saves into your browser: use the main menu's save and exit command rather than just closing the tab, because a save that is interrupted can be damaged. Clearing the site data erases it. Press NumLock if the numeric keypad misbehaves, and use the Fullscreen button if you want the keys the browser keeps for itself.
Controls
| Input | Action |
|---|---|
| Arrows, numeric keypad or h j k l y u b n | walk in eight directions; bump into things to open, search or attack |
| Shift or Control with a direction | run until something disturbs you |
| Left mouse button | walk to the spot you click |
| Right mouse button | aim and look |
| g or , | pick up items |
| I | the shared inventory |
| Tab | switch to the next party member |
| Enter | open the dashboard |
| Esc | main menu |
| ? | command help |
Tips
Read the first tutorial hints. They are switched on by default and cover the basics of reading the map.
Do not rush in with everyone. Often the best plan is to scout with one character and leave the others guarding something important.
Mind the light. Dark rooms hide you as well as the monsters; use light sources and corners.
Wait to brace. Pressing 5 on the keypad makes your hero brace, which cuts the damage taken.
Credits and licence
LambdaHack was written by Andres Loeh, Mikolaj Konarski and others and is released under the BSD 3-Clause licence. The large map font and the small one derive from fonts of the Angband game (GPL-2.0-or-later); the other fonts are Binary Sans and Code Pro (SIL OFL 1.1), DejaVu (Bitstream Vera licence) and Hack (MIT). The WebAssembly file includes the GMP library (LGPL-3.0 or GPL-2.0 or later). The licence texts, the full source of the game, of its fonts and of the GMP library and the Haskell packages, and the build script are linked from this page.
FAQ
Why does it start on its own? The first scenario begins in auto-play so that you can watch the party; press any key to take over, or press Esc and choose to set up a new game.
Where do I find the help? Press ? in the game, or Esc for the main menu with the command help.
Is it slow? On a modest machine, a bit. Chrome is the quickest browser for it.