We do a little bit of gaming
  • Rust 98.1%
  • CSS 0.5%
  • Python 0.4%
  • Shell 0.4%
  • Astro 0.2%
  • Other 0.3%
Find a file
2026-10-21 02:00:43 +03:00
.claude fix: the bar's hint says one thing, in a cell that never moves 2026-09-05 04:10:07 +03:00
assets feat: the options sheet answers the keys, every window reads one ladder, and the bar holds still 2026-09-12 19:09:39 +03:00
crates feat: four legs on the animations card, and a sprawler measures its own hip 2026-09-25 15:52:36 +03:00
docs test: the lesson suite splits by chapter 2026-10-21 01:50:03 +03:00
i18n fix: the alloys lesson asks for the three bars an anvil takes 2026-10-21 01:49:57 +03:00
src fix: the alloys lesson asks for the three bars an anvil takes 2026-10-21 01:49:57 +03:00
steam fix: the release date is the store's 24 January 2027 2026-10-19 14:55:19 +03:00
steam_assets feat: the first load set down by rail is an achievement 2026-09-03 03:33:02 +03:00
tests/headless test: the lesson suite splits by chapter 2026-10-21 01:50:03 +03:00
web/site fix: the release date is the store's 24 January 2027 2026-10-19 14:55:19 +03:00
.dockerignore feat: the site ships as a container for the cluster 2026-08-16 22:57:43 +03:00
.gitignore feat: the patch notes are drafted, stamped and pasted by hand 2026-09-07 10:17:35 +03:00
about.hbs build: the fort reaches Steam, on two platforms and with its papers in order 2026-07-30 01:16:23 +03:00
about.toml chore: the web build goes, and the cursor stops taking no for an answer 2026-07-30 22:20:44 +03:00
build.rs feat: the build stamps its own name 2026-07-22 23:52:56 +03:00
Cargo.lock chore: v0.43.2 2026-10-21 02:00:43 +03:00
Cargo.toml chore: v0.43.2 2026-10-21 02:00:43 +03:00
dwarven-style.html feat: chairs, cabinets, chests, armor stands, weapon racks 2026-07-18 02:05:50 +03:00
LICENSE build: the fort reaches Steam, on two platforms and with its papers in order 2026-07-30 01:16:23 +03:00
NOTICES.txt build: the fort reaches Steam, on two platforms and with its papers in order 2026-07-30 01:16:23 +03:00
README.md feat: the bar reads hand, orders, build, plan 2026-08-23 01:33:06 +03:00

Mountainhall

A first-person dwarf-fortress. You are the overseer — not a cursor in the sky, but a body in the mountain.

0.1.x alpha. Playable start to finish, breadth over polish. Expect rough edges and the occasional dwarf who makes a baffling decision. (The exact build version shows in-game, bottom corner.)

Mountainhall is a colony sim you play from inside. Your dwarves dig, haul, farm, cook, craft, worship, drink, brawl, and hold grudges on their own — you designate the work and let them at it. But you also stand there: you can pick up a real pick and mine a wall yourself, hand a stone to a hauler, feed a wild deer until it follows you home, and swing a sword at the goblin that came for your founders.

Built in Rust on Bevy 0.19. Windows and Linux.


Build it yourself

cargo run --release

Before you push, the two gates:

cargo test --all
cargo clippy --all-targets --workspace -- -D warnings

Clippy runs clean, and it is meant to stay that way: the lints that fire on ordinary Bevy signatures are allowed once in [workspace.lints.clippy] with the reason written beside each, so anything that warns after that is a real finding.

Cut a release

steam/build.sh builds the shipping binaries and steam/upload.sh pushes them to the Steam depots. The in-game watermark reads the crate version, so bump Cargo.toml and the two always agree.


The two hands of the overseer

You move on two legs (WASD, Space to jump) with a body that falls, collides, drowns, and burns. Press F to lift off and fly — flying is the god hand: instant, effortless world-editing, the classic overseer's-eye view. On the ground you are physical:

  • Mine by holding a pick and swinging (LMB). Soil gives to bare hands; stone wants the pick; a tree wants an axe. Blocks take real swings and drop real stone and logs — the same items your dwarves would haul.
  • Build by holding a stone or log and placing it (RMB). The wall wears the material you spent. No stone in hand, no wall.
  • Hand things over (E on a dwarf): pass whatever you hold straight into their hands.
  • Tame animals (E on a beast): hold forage and a wild deer will eat from your hand and stay. E again puts it on a lead — it heels to you until you settle it somewhere. Shift+E just scratches it behind the ears.

The crosshair tells you what you're looking at: a block's remaining swings ("granite — 3/6 swings", "oak — needs an axe"), a dwarf's name and job, a beast's disposition, whether that bush is worth gathering.

Running a fort

Everything the dwarves do is painted, not micromanaged. Pick a mode with the number keys and drag:

Key Mode
1 Hand your own hands: mine, fell, carry, lay a wall, use, talk, fight
2 Orders paint work for the dwarves: dig · ramp · fell · gather · earth · smooth · engrave · tunnel · take down · unpaint (the wheel or [ ] picks the tool)
3 Build B opens the palette of workshops & furniture
4 Plan stamp a whole room from a blueprint: tavern, smithy, barracks (fastest path to a working fort)
5 Stockpile paint a storage floor
6 Zone tavern · dining hall · dormitory · barracks · hospital · temple · library · bathhouse
7 Farm paint a plot on soil

O opens the fortress panel, and every management surface is a tab inside it: U units · I inventory · M military · O work orders · K stocks · T trade · N nobles · J justice · H administration · R reports · Y announcements · C the annals · F1 the key list. It reopens on the tab you last read, and pressing the letter of the tab you are on closes it. New fort? Open O then H, appoint a bookkeeper, then R starts telling you what the fort needs.

Out in the fort: Q look closer at whatever is under the crosshair, X eat or drink what is in your hands, Z nap, G your pack, E use what you are looking at, L the lantern, F fly, V third person. Esc frees the mouse and opens the pause menu: save (named slots), options, back to the main menu, or quit; Esc again resumes. The world holds still while it's up.

What's simulated

  • A living world. Plate-tectonic worldgen — continents grown cell by cell into ragged coastlines, climate from latitude and rain shadow, rivers walked from the wet highlands to the sea. You pick your embark off the map.
  • Dwarves with inner lives. Needs (hunger, thirst, sleep, worship), skills that grow with practice, moods that swell into strange moods and artifacts — or tantrums when a fort turns grim. They eat together, drink in the tavern, form friendships and rivalries that decay if neglected, and remember their dead.
  • Dedicated rooms. Six zone types, each with its own draw and a capacity that spreads crowds across several small rooms instead of one mega-hall. A grand dining hall lifts the mood; a hospital heals the wounded faster than lying in the dirt.
  • Farms & the field. The whole Dwarf Fortress crop catalogue — every grain, bean, berry, root, gourd and cavern fungus, ~100 plants, each modelled as itself. Pick a crop per plot; dwarves sow it from seed, grow it through its own season, and harvest its own produce. Aboveground the herbalist forages wild berries and mushrooms; the deeps grow fungi to pick too. (For where this stands against DF, see docs/PARITY.md.)
  • Society. Nobles with mandates, an administration, and a justice system that investigates crimes, gathers evidence, and jails the guilty.
  • Threats. Wildlife that grazes and bolts, predators that hunt the herds, and raids that come for the fort — met by a militia you equip and drill, or by your own blade.
  • Water & mechanics. Flowing fluids, floodgates, levers, drawbridges, a winter that freezes the moat.

Save format

Saves are versioned (v39) and reject mismatched files rather than load them corrupt.


Status & scope

This is an alpha: the systems are broad and the loop is complete, but it is not balanced and not taught. Known rough edges toward 0.1 → 0.2:

  • No onboarding — the controls above are the manual.
  • Performance dips with large forts (50+ dwarves) under heavy pathing.

Bug reports and world seeds that break in interesting ways are both welcome.

For where the building/workshop set stands against Dwarf Fortress — what's modelled, what's wired to systems, and what's still missing — see docs/PARITY.md.

License

Proprietary, all rights reserved. See LICENSE, which also carries the closed-playtest terms a tester build ships under.

Third-party crate notices are generated into NOTICES.txt with cargo about generate about.hbs > NOTICES.txt, and travel with every packaged build. Art, audio and font provenance is recorded in assets/CREDITS.md; all bundled audio is verified CC0 per file.