It’s several things. I don’t blame you if you skip this wall o’ text; I’ll try to summarize each paragraph in its opening sentence.
First problem with combat is that since it exists it needs to be important. That makes sense, but it creates some problems. First, in order to make military jobs meaningful, the non-military types need to be ineffectual in combat; therefore, any combat which happens where the military units are not, is a very bad combat (we’ll come back to this when we talk about spawning). Second, then, in order to give a standing military a cost so that we don’t just make everyone a footman, those units need to lose usefulness that they would otherwise have (more on that later, too). This then means that there are two subgroups of Hearthlings that have different roles and that we need to act and react differently, but don’t reliably do the “right thing” in a situation (in detail below, micro vs macro). Finally, because combat stresses Hearthlings differently than non-combat situations, there are very specific and narrow requirements to have a hearthling be a good combatant. In order to make good combatants reliably, players need to game the system by rolling and rerolling their starting seven until they get two or preferably three with the ideal starting stats. I don’t think combat should be removed (though with current implementation, no combat might be better than combat), but a lot of things could be improved.
The second problem then is that combat sticks out from the rest of the game because of how decisions are made. Stonehearth is generally a macromanagement game - tell your people what to do, and they’ll do it how they want. For the most part, you can’t dictate their exact actions. Combat, however, specifically requires micromanagement unless the combat is so lopsided that it’s not worth your attention. By itself, this isn’t a problem; having two game modes switches things up and can keep it interesting for a broader audience. But the macro rules of stonehearth don’t go away in the micro of combat, and that leads to real problems. Hearthlings have no trouble ganging up on a single orc knight and leaving four clerics completely alone as they heal the knight indefinitely; a hearthling will gleefully break from the main combat to chase after a kobold archer, all across the known world, picking up additional groups that should never have gotten involved (class balance next paragraph). Guiding your troops to prevent these bad behaviors requires a sudden, and presently unavoidable, focus on micro in a game that was otherwise macro focused. Also, those individual macro decisions make your military progressively less effective as it grows in size, because combat teams are not in fact teams at all, they’re just random individuals who sometimes get similar orders. I think this could be improved with a few changes. First, make groups act like proper groups. They should not merely walk together when they patrol; they should eat at the same time, sleep at the same time. In combat, they should stick closely together because a team of four is more useful than four individuals. Radiant has given us the ability to have several groups; there’s the flexibility that combat requires. Teams should stay together, because that will make them much more useful in combat. Second, and I’ve mentioned this before, the current system of “patrol vs guard” is clunky. Patrols should be customizable, or else they exist independently of terrain, buildings, and whatever your civilians are doing. If I have a stockpile of logs far outside the town center and I don’t care if goblins steal from it, I shouldn’t have to accept the cost of my patrolling military being too far from town to be useful 40% of the time because they want to check on a few sticks out in the middle of the woods. Similarly, if I set my troops to guard a specific point, they shouldn’t have to forfeit their passive exp gain just because I’ve put them in a better position. Third, given that micro is going to be necessary for combat, soldiers need to be better behaved than civilians. By this I mean commands given by the human player need to always override (or be able to always override if you don’t have an aneurysm every time someone says “just make a toggle”) whatever ideas the soldiers have. Currently, in combat, if all the hearthlings decide they want to attack a thing, the only way to get them to stay put is to give them a movement command, overriding their combat and wasting time when it matters most. Tethering groups should be independent of attack commands, even though as classes are currently implemented, that would lead to additional inefficiencies.
Class balance, then - right now, on paper, your footmen, knights, clerics, and archers all fulfill coherent roles and do it well. In practice, however, you don’t want anything but clerics, archers, and one knight to tank. The reason footmen are utterly useless is that you have a free movement mechanic that is not well-adjusted to the attack mechanic. To hit an archer, first a troop has to run to the archer. Then, the unit can begin a swing. But archers are quick, and they can run away before the swing is completed. Even a speed-boosted footman can only get one swing in at most between sprints, and after getting to a safe distance (at the speed-boosted panic sprint archers get when engaged in melee) an archer can shoot off one or two arrows (a high level archer, two or three), which may also ignite - or, worse, slow - whatever is chasing it. Then the cycle repeats, with the melee futilely running all around the world after one single archer. If you keep your group tethered to one area, then the archers will never get close enough for your melee to engage them, so you need archers of your own to kill them. And of course, for raw power, archers are dominant since they pierce armor, can shoot two arrows at once, and have quivers that give very nice additional effects. This could be in part fixed by allowing melee units to “pin” enemies; either a hard pin where the enemy can’t move, or a soft pin where the enemy suffers movement speed penalties and even attacks of opportunity (which would be harder to implement, I would guess). Using archers would require a more diverse party, because if the enemy got to melee your archers, they’d be in real trouble. This would then be a cost which would help to justify the raw output that archers currently have. Movement penalties would even help with a few of the more irritating civilian combat scenarios.
Sending out workers to gather things far from the village is unnecessarily dangerous at present. Because military jobs have lost all non-combat usefulness, after a fight, civilian hearthlings need to go out and pick up whatever sparkly things were dropped. There is no way to arrange, say, six hearthlings at a time to travel in a group, which would allow a military team to travel as escort for protection. Still worse, your spawn system makes it nearly certain that if a line of hearthlings is gathering stuff after a large fight, some giant group of ogres or ninja orcs will pop up right in the middle of the line and murder several civilians before anything can be done. This could be very easily fixed in one of two ways. First, military types could be allowed to carry things. After a combat, unless directed otherwise, that team is going to go back to town and begin a patrol again (or eat or sleep, of course). There’s no compelling reason that strong, healthy hearthlings (like you would choose to make up your combat teams) can’t just pick a few things up and carry them back to near town, then drop them in place when the AI restarts patrol mode. Then your workers would have a much shorter distance to travel to pick up the goods, and would travel in a safer environment as well. If that’s not desirable, then the spawn mechanism could be changed. No enemy should ever pop-in right next to a hearthling; you’d see them coming. If you need them to spawn like that (presumably because you’ve already coded it and understandably don’t want to change the whole shebang), then at least apply a short (15 second?) stun period, followed by a slightly longer (30 second?) period of slowed movement, unless the enemy has spawned within some small number of squares of the fog of war. This allows civilians to go into town defense mode and haul butt away from the things that are going to eat them, and gives the combat teams a few moments to intercept and do their job. This is even more important given how frail non-combat jobs are, even with a retired mastery or two.
As it currently stands, there’s no real benefit to levelling a hearthling once they can do one job well. Radiant has - correctly, I believe - given footmen and knights large (huge in the case of knights) health bonuses to make them useful in combat. For footmen, it’s ten levels worth of health; for knights, twenty. Since exp gain for combat classes is very slow when passive, and only active when engaged in actual combat, it’s probably correct to boost them relatively early on. I know I can get one crafter hearthling to master three jobs before my first knight can hit level 6. But why should we even do that? Hearthlings never improve their stats or attributes as they level (though they may get class-specific passive bonuses, obviously). That means that if you get a hearthling with the bad luck to roll 1/3/3, that’s always going to be a useless hearthling. It would be nice if that weren’t necessarily the case. If every time a hearthling mastered a job, they gained one stat point (and maybe 2-3 attribute points per level), you’d have reason to spread around the training. Right now exp gain is about right that a 6 mind hearthling can reliably master 4 jobs before everything’s done in the normal/hard mode quest lines. Keeping the stat cap at 6 would allow your hearthlings to flesh out a little without becoming exceedingly strong; those crafters could maybe pick up a little more body from all the hard work they’ve been doing, which might allow them to take a hit if they caught in combat. Your combat troops might actually benefit from taking a break from combat and spending a few weeks hammering ingots at the forge or growing crops. Most of the starting group hearthlings have 10-14 stat points, so a single stat point at mastery would only be about a 20-30% improvement across a longer game. And as this is a building sandbox, a longer game could be something that many players might like to try.
Generally speaking, combat units are almost useless. They’re only valuable in combat, which is only a small part of the game on Normal and not present at all in sandbox. So they really only are worth their weight on Hard. In order to make them more worthwhile, it would be nice to either allow them to perform simple gatherer tasks (ask anyone you know who has been in the military how many hours they spent in working parties) while following their specified orders, or give them a much broader range of commands, and at greater detail, such as specifying patrol paths. It might even be neat if after retiring a job at master level, hearthlings kept 0th or 1st level abilities for that job in their new job. Why not let soldiers do normal, albeit simple, work around town when they don’t have to be out stabbing things?
Anyway, that’s a ridiculous amount of text so I’m going to stop. Apologies if you’ve read all the way to the bottom here. I know you had better things to do