Modern Rogue

A classic dungeon crawler in your browser. Delve through caves, castles and crypts, fight with sword, bow or spell, and see how deep you can go.

live roguelikerpgdungeon crawlerturn-based
Play Modern Rogue → Modern Rogue screenshot

What you'll do

A new dungeon every run

Every run builds a fresh world of linked sections. Locked gates and keys lead you from cave to castle to crypt, and each has its own look and monsters.

Sword, bow or spell

Fight up close, from range with bows, crossbows and throwing weapons, or with ten spells that burn, poison, stun, slow and heal.

Build your hero your way

Spend stat points as you level to make a wizard, a warrior, or something in between. Staves, wands and scrolls add more options.

Clever monsters

Monsters hunt you down, keep their distance to shoot, and flee when badly hurt. Lose their line of sight and they lose track of you.

Fog of war

You only see what your hero can see. The map remembers every area you've explored.

Adventure or Hardcore

In Adventure mode you pick up from your last save when you die. In Hardcore, death wipes the save for good.

Good to know

  • Plays in your browser
  • No account needed
  • Played with the keyboard
  • Saves in your browser, with autosave between areas
  • Switch between 16-bit tiles and classic ASCII graphics
Under the hood
No framework
Vanilla JavaScript drawing to an HTML5 Canvas, split into modules for the dungeon, combat, field of view, items and saves.
Procedural generation
Multi-section dungeons with gates, keys and difficulty scaling, plus theme-based tilesets and spawn pools.
Monster AI
A* pathfinding with per-type behaviours, ranged attackers, and aggro that's lost when the player breaks line of sight.
Saves and tests
IndexedDB save store with a serializer and hydrator. Tested with Vitest unit and integration tests and Playwright end-to-end specs.
JavaScriptHTML5 CanvasIndexedDBVitestPlaywright
← Back to games