Games · Devlog #03 · personal project
Masmorra
An eight-act isometric dungeon crawler
An isometric dungeon crawler that runs in a browser tab, in plain HTML5: eight playable acts, combat, inventory, spells and quests, plus its own JSON map tooling.

A classic in a tab
The classics came on CD. This one opens in a tab. Masmorra (Portuguese for “dungeon”) is an isometric dungeon crawler, inspired by the classics of the genre, that runs in the browser in plain HTML5: no tens of gigabytes to install, no account and no framework.
It even opens without a local server: if you double-click index.html, a data fallback loads the maps anyway.
Eight acts
Eight playable acts is game scope, not prototype scope. They split into two ways of making maps:
- Acts I to VHand-drawn mapsEach act with its own hand-made map.
- Acts VI to VIIIScript-generated mapsA castle, dungeons and the throne room.
To test and demo it, you can jump between acts with Ctrl+1 to Ctrl+8.
What’s inside
A dungeon crawler’s systems are all there:
- Combat
- Inventory
- Spells
- Quests
Progress has keyboard save and load: Ctrl+S saves, Ctrl+L loads.
Maps in JSON
What interests me most in this project is the map tooling. It’s home-made, and that’s what lets the content grow without rewriting the engine.
- JSON maps, readable and version-friendly.
- Its own validator and exporter for the maps.
- Node scripts to generate and validate maps; acts VI to VIII come out of a script.
- Map fallback: with no server, the game still loads its data.
Node only shows up here and to serve the static files. The game itself is JavaScript on Canvas.
Tech sheet
- Status
- Version 1.0.0, playable
- Platform
- Browser, no install and no account
- Engine
- JavaScript + HTML5 Canvas, no framework
- Tooling
- Node scripts to generate and validate maps
- Shortcuts
- Ctrl+S / Ctrl+L (save/load), Ctrl+1…8 (acts)
Into dungeon crawlers, Canvas or script-generated maps? Let’s talk.
Write to me