being an alpha game, Stonehearth tends to throw a lot of invisible “micro errors” (call them non-critical glitches, read errors, math errors or whatever, but they’re a combination of anything which confuses the game without breaking it totally); and over time these build up and cause the game to stall on many calculations.
For example, trapping the goblins into their camp causes a lot of never-ending pathfinding queries to build up. The goblins don’t stop looking for a way out just because they can’t find one, so the game spends more and more time trying to find one for them (i.e. checking every possible tile within their limit before it gives up, throws a flag to try again, and has another go a few moments later.)
There are some key things you can do to improve your performance, such as getting items into chests (so they don’t have to be rendered, meaning less shadows to calculate) and keeping your animal and hearthling populations down to just what you need… but no matter how efficiently you run your town, the “micro errors” will build up over time.
So, the best thing to do is simply take regular breaks, shutting the game down fully at each break, to allow your computer’s memory and CPU to “clean itself up.” The game will get rid of a lot of unnecessary, unanswered (and often unanswerable) queries and calculations, and create new ones next time it spins up the relevant entity’s AI; so all those “hey, I can’t find the door!” type of outstanding queries will be cleared up; so the game has more time in each tick cycle to work on other things.
The same is true for most simulation games; the longer you play the more garbage piles up. Usually this garbage is collected and got rid of by the game, but sometimes it can’t do that (e.g. an ongoing pathfinding query)… as easy as it is to get lost in a game like Stonehearth for hours, taking regular breaks really does improve your experience across the board