A web-based roguelike written in Dart.
Dart HTML Other
Switch branches/tags
Nothing to show
Clone or download
munificent Add debug option to render auditory distance to the hero.
Monster hearing is based on a flow-based distance from the hero to the
monster. Flow is calculated using Dijkstra's algorithm and reused for
all monsters.

The weight to enter a tile depends on the tile type. Open tiles are
cheapest. Doors block about half the sound. Solid walls block most but
not all sound. So it's possible for a monster to hear you through a
wall if you're making a lot of noise. (Different hero actions produce
different noise levels.)
Latest commit b676987 Jul 22, 2018


Splash screen

Hauberk is a roguelike, an ASCII-art based procedurally-generated dungeon crawl game. It's written in Dart and runs in your browser.

Behold it in all of its glory:


Running it

To get it up and running locally, you'll need to have the Dart SDK installed. I use the latest dev channel release of Dart, which you can get from here.

Once you have Dart installed and its bin/ directory on your PATH, then:

  1. Clone this repo.
  2. From the root directory of it, run: $ make serve
  3. In your browser, open: http://localhost:8080

This runs a development server that automatically compiles the Dart source to JavaScript on the fly as you work on it.


One of the things I enjoy most about open source is collaborating with other people, and I'd love to have more contributions. But, the reality of my life right now is that my other main open source project already has more activity than I can handle given that I am also writing a book and have a wife, kids, pets, and full-time job.

So, for my sanity's sake, this project is mostly "read-only". You are welcome to file bug reports for issues you notice, but I probably won't have the time to take many pull requests.

I'd be delighted if you used this codebase as a springboard for your own game. Feel free to fork and make it into your own thing in any way you choose. It uses a very permissive MIT license, so you can do pretty much whatever you want with it.

Thanks for understanding.