NOTE: The text on this page was initially taken from stonehearth.net/stonehearth/ but readers should bear in mind that the current version has been edited and updated by members of the community, not the developers themselves.
Stonehearth is a game about building and conquest in an epic, fantasy setting. The game is equal parts sandbox, RTS, and RPG.
It is made and published by Radiant Entertainment.
In Stonehearth you lead a band of settlers who must carve out their place in the world by gathering resources and building fortifications, while under constant threat from intruders. As your settlement grows, you will eventually train up a standing army then venture forth into the world, where greater challenges await.
Stonehearth’s simulation and city-building aspects are inspired by the great Dwarf Fortress and Minecraft. We are also inspired by the games we loved as kids: the Warcraft RTS games, Final Fantasy Tactics, and pen and paper RPGs.
Put it all together and you end up with something like this:
- Randomly generated, destructible worlds built with voxels
- Creative building on both large and small scales, from cities to teacups
- Scripted RPG-style content to discover and adventure through
- Robust class trees for both combat and civilian units
- RTS-style combat with an emphasis on tactics over micro management
Our Take on this Genre[ | ]
So, why are we making this game?
With Stonehearth, we want to capture the magical feeling we had as kids playing Dungeons and Dragons adventuring through store-bought game modules, but also writing our own modules and playing them out on graph paper. We want to empower players to be creative not only when playing the game, but when determining the nature and content of the game itself. We aim to deliver:
- A living world that responds to your play-style
- Deep gameplay systems that reward tinkering
- A super mod-friendly game
A Living World that Responds to Your Play-style[ | ]
We know that there are lots of different play-styles for this kind of game. Some players want to focus on building an incredibly awesome city with happy, well-fed citizens. Others focus on building a strong army and exploring/conquering the realm. Many just want to tinker with the simulations in the game world. We want you to play the game the way you want to, so as you play the world will respond to your choices.
Each initial game world is randomly generated, but an AI “dungeon master” observes your behavior and tweaks the content based on your actions. This is always done in a way that is natural and makes sense from a story perspective. For instance, a player who is more aggressive when dealing with local, small-time goblin raiders may find his actions have triggered a long-term war against the goblin nation. Violence begets violence.
So two players with different play-styles, beginning with the exact same starting world, will have very different experiences as the game progresses. We like this for a couple of reasons.
- Actions have consequences! Are you sure you want to rob that friendly caravan that just visited your town? There may be repercussions down the road.
- Play the game how you like! The game adapts to feed you the kind of content that you like. There are limits here, of course. Don’t expect to neglect basic defenses just because combat isn’t your favorite thing in the world, nor should blood-hungry players neglect a basic economy and shelter for their citizens.
Deep Gameplay that Rewards Tinkering[ | ]
We’re engineers at heart, so we geek out at complex systems. We design our major gameplay systems like farming, building, and combat according to the “easy to learn, difficult to master” principle.
Take farming as an example. The yield of a particular farm is determined by factors including the quality of the soil, the amount of water nearby, the crop planted, and exposure to varmints looking to devour the crops. If you are really into this kind of stuff, congratulations! There is ample opportunity to greatly optimize the output of your farms through irrigation, fertilization, and varmint-countermeasures like traps and fences.
But if you’re not into this stuff, you can just drag out a farm and accept the base, minimal yield that all farms produce, regardless of how they are managed. Of course this will constrain your food supply and you will have to make up the difference somehow, either by producing food through another means (trapping, trading, or plundering), or just settling for a smaller number of citizens in your town.
Technology[ | ]
Stonehearth is written in C++ and Lua. C++ is used to make the game run better. Lua is used for scripts to edit game properties.
Mod-Friendly. Sharing is Caring[ | ]
We think mods are awesome, especially for sandbox-type games. So we’re building everything: UI, unit AI, scripted scenarios (everything!) with modding in mind. Here are just some of the things you should be able to do in a mod:
- Reskin the UI or add new UI screens
- Add new units, monsters, weapons, armor, and other objects
- Add new scripted adventures, big and small
- Tweak or totally rewrite the AI for monsters or units
- Add new textures and graphics to the game
- Make the sun rise in the west and set in the east (seriously!)
Of course most of the fun in mods is sharing them. Our goal is to have a vibrant community of modders who are continually expanding the things to do and experience in the game.
Mod APIs[ | ]
As a modder, you will have access to the same APIs we’re using to write the game. We are literally writing the game as a collection of first-party mods. So, with very few exceptions, if the game does it, you can mod it!
Game Play[ | ]
Controls[ | ]
These keyboard shortcuts are for Stonehearth Alpha 21 and may change in future updates.
With the Latest Update to Alpha 21, users can now rebind their hotkeys! Instructions and example on how to rebind keys from a text editor are located at the bottom of this page.
Menu Controls[ | ]
Command | Function | Description |
---|---|---|
C | Shortcut | Menu > Manage Citizen |
I | Shortcut | Menu > Town Info |
H | Shortcut | Menu > Harvest > Gather |
M | Shortcut | Menu > Harvest > Mine Tunnel |
N | Shortcut | Menu > Harvest > Mine Block |
Z | Shortcut | Menu > Designate Zones |
O | Shortcut | Menu > Designate Zones > Stockpile |
F | Shortcut | Menu > Designate Zones > Farm |
T | Shortcut | Menu > Designate Zones > Trapping Ground |
shift+P | Shortcut | Menu > Designate Zones > Animal Pasture |
B | Shortcut | Menu > Build & Design > Place Building |
shift+B | Shortcut | Menu > Build & Design > Design Custom Building |
P | Shortcut | Menu > Build & Design > Place Item |
L | Shortcut | Menu > Build & Design > Construct Ladder |
R | Shortcut | Menu > Fight & Defend > Town Defense Mode |
7 | Shortcut | Menu > Fight & Defend > Combat Party 1 |
8 | Shortcut | Menu > Fight & Defend > Combat Party 2 |
9 | Shortcut | Menu > Fight & Defend > Combat Party 3 |
0 | Shortcut | Menu > Fight & Defend > Combat Party 4 |
shift+L | Shortcut | Menu > Harvest > Loot |
\ | Shortcut | Toggle Slice Mode |
[ | Shortcut | Move Slice Mode down |
] | Shortcut | Move Slice Mode up |
V | Shortcut | Toggle Building Vision Mode |
X | Shortcut | Toggle X-Ray Mode |
ESC | Shortcut | Game Menu |
Shift+1 | Shortcut | Bulletin Manager |
Alt+z | Shortcut | Toggles UI on/off |
Info Dock Controls[ | ]
These are contextual hotkeys. They activate a button on the Info Dock only if that button exists at the time. The number pressed is the same as the ordering of the buttons from left to right.
Command | Function | Description |
---|---|---|
shift+1 | Shortcut | First Button |
shift+2 | Shortcut | Second Button |
shift+3 | Shortcut | Third Button |
Speed Controls[ | ]
Command | Function | Description |
---|---|---|
1 | Shortcut | Speed: Pause |
2 | Shortcut | Speed: Play |
3 | Shortcut | Speed: Fast Forward |
4 | Shortcut | Speed: Super Fast Forward |
WARNING: Before you can use Super Speed, you must enable it in your settings, under the gameplay tab. This may or may not majorly impact your game's performance.
Camera Controls[ | ]
Command | Function | Description |
---|---|---|
W/A/S/D or Arrow Keys | Shortcut | Camera Move UP/LEFT/DOWN/RIGHT |
Space + Mouse Drag | Shortcut | Camera Drag |
- or Mouse Scroll DOWN | Shortcut | Camera Zoom OUT |
= or Mouse Scroll UP | Shortcut | Camera Zoom IN |
Mouse Right-Click + Mouse Drag | Shortcut | Camera Rotate |
Q or Shift+Left | Shortcut | Camera Rotate LEFT |
E or Shift+Right | Shortcut | Camera Rotate RIGHT |
Shift+S | Shortcut | Camera Rotate Down |
Shift+W | Shortcut | Camera Rotate Up |
J | Shortcut | Follow Hearthling |
Item Controls[ | ]
Command | Function | Description |
---|---|---|
, | Shortcut | Item Rotate LEFT |
. | Shortcut | Item Rotate RIGHT |
Debug Controls[ | ]
Command | Function | Description |
---|---|---|
Left CTRL | Debug | Overlays Graphics Statistics |
Right CTRL | Debug | Show Wireframe View |
F1 | Debug | Shows Terrain Chunks |
F5 | Debug | Reload the UI |
shift + F5 | Debug | Quick Save followed by Quick Load (resets the AI) |
F6 | Debug | Quick Save |
F7 | Debug | Quick Load |
F9 | Debug | Shows Path Finding Engine |
F10 | Debug | Rendering memory usage |
F11 | Debug | Shows Interference/Collision |
To enable Debug controls, edit the file user_settings.json in the main stonehearth program folder to include the following:
"enable_debug_keys" : true
- ensure you put a comma after each entry except for last one
Rebinding Keys in a Text Editor[ | ]
Step 1: Navigate to C:\Program Files (x86)\Steam\steamapps\common\Stonehearth, (Or wherever StoneHearth is located on your computer) and open up "User_settings.json", and "stonehearth.json". Using what is in stonehearth.json as a reference, add a section to user-settings called "user_bindings", and add what shortcuts you wish to change. Then, simply change "combo1". Viola! You've re-binded your keys.
Example code in stonehearth.json
"bindings": { "citizen:manager": { "combo1": "c", "combo2": "" }, "vision:xray:toggle": { "combo1": "x", "combo2": "" }, "vision:slice:toggle": { "combo1": "\\", "combo2": "" }, "town:overview": { "combo1": "i", "combo2": "" }, (more keybindings) ...
Example code in User_settings.json
{ "user_id" : "cfb2e056-0a85-11e7-a3a9-f8cab8643ca9", "user_bindings" : { "citizen:manager": { "combo1": "c", "combo2": "" }, "vision:xray:toggle": { "combo1": "x", "combo2": "" }, "vision:slice:toggle": { "combo1": "\\", "combo2": "" }, "town:overview": { "combo1": "i", "combo2": "" } }, "enable_auto_save" : false, (more user settings) ...