Sometimes a project doesn’t need to be a sprawling framework or a months-long refactor. Sometimes it’s just about taking something you love and making it more fun to play with.
This weekend, I built a browser-based version of the solo roll-and-build game Hall of the Dwarven King by Robin Gibson. The idea was simple: keep the heart of the original paper sheet, but drop the pencil-and-bookkeeping overhead. What came out is a quick, single-player web edition that’s fast, friendly, and saves your progress automatically.
What It Does
- Play through 20 turns of dice-driven actions (Fight, Drink, Cook, Dig, Build, Mine).
- Drop buildings onto a 5×5 grid with depth, adjacency, and uniqueness rules.
- Earn and spend gold — funding Vaults, a Throne Room, or even a one-off die face change.
- Auto-resolve phases and scoring so you can just focus on choices.
- Autosave and resume later; keep a small local leaderboard of your best runs.
- Share a one-line score summary straight to your clipboard.
To try it, all you need to do is download the repo from the above link and open index.html
in a modern browser.
The Rules in a Nutshell
The game plays out with 7 dice that cover everything from Fighting (⚔️) to Mining (💰). Each turn flows like this:
- Rolling Phase — Roll, reroll (discarding dice if needed), or spend 5 gold to set a die.
- Action Phase — Resolve in order: Fight → Drink → Cook → Dig → Build → Mine.
- Cleanup — Advance the clock, crown your Throne Room if you have one, and move on.
A few wrinkles keep it spicy: Cooking acts as a gate (skip it and you lose the rest of the turn unless you’ve got a Mushroom Farm on your current level), depth increases every 3 digs, and mining scales in risk/reward as you descend.
Building the Web Version
I kept the stack deliberately light:
Plain HTML/CSS/JS. No frameworks, no bundlers.
State in a JS object. Turn, depth, gold, dice rolls, map, everything.
Persistence via localStorage. Games autosave and can be resumed after a refresh.
Imperative rendering. Simple DOM updates, no virtual DOM needed.
The UI mirrors the original sheet but leans on responsive CSS and inline icons to feel at home on the web. Leaderboard scores stay local (top 5), and guardrails in the code ensure you only see the actions valid for the current phase.
A Few Design Calls
- Explicit reroll selection. Click dice to mark them for reroll (more intuitive than “hold to exclude”).
- Simplified digging pace. One depth every 3 steps — fast enough for web play, still tense.
- Responsive layout. Grid + CSS icons instead of lifting image slices from the paper version.
- Light guardrails. The UI simply doesn’t let you take invalid moves.
Where It Could Go Next
The current version is a fully-playable game, but there’s room for polish:
- Make “Set Face” targetable instead of auto-assigning.
- Rename some legacy variables (
held
→selected
) for clarity. - Add micro-animations to dice rolls and map placements.
- Improve touch/mobile usability with bigger targets and long-press gestures.
Why This Build?
Because sometimes you just want to play a game you love in a slightly different way, and because coding it is half the fun. This one took a weekend: a handful of files, a few hundred lines of vanilla JS, and I’ve now got a snappy little adaptation that anyone can open in a browser and enjoy.
Attribution
This web version is a fan-made, non-commercial adaptation of Hall of the Dwarven King (v1.2, 2017) by Robin Gibson — metalsnail.net.
Top comments (0)