- Rust 98.3%
- Shell 0.4%
- CSS 0.4%
- Python 0.2%
- Astro 0.2%
- Other 0.5%
| assets | ||
| crates | ||
| docs | ||
| src | ||
| steam | ||
| steam_assets | ||
| tests/headless | ||
| web/site | ||
| .dockerignore | ||
| .gitignore | ||
| about.hbs | ||
| about.toml | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| dwarven-style.html | ||
| LICENSE | ||
| NOTICES.txt | ||
| README.md | ||
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.