Also, as long as I'm here, addendum to this:
I've now been reminded why I keep not making a DK game in the first place- I can never figure out how group battles will work. Specifically, the nice, simple, elegant solution I worked out for the tribal game won't work here, because each unit is distinct, unique, and relatively persistent, as opposed to a faceless automated mook that'll be replaced in three rounds.
Even more specifically, the tribal game system means melee troops always, always die before ranged ones, barring hero abilities or similar. That's no good for this more elaborate setup for two reasons. The first is that it makes having melee troops somewhat disadvantageous compared to ranged ones- your frontliners will be in constant danger of being clubbed (which isn't the same as dying permanently, but can still be risky or a hassle), while some rearline sloth's 1 HP cannons can fire away with impunity.
The second is just that it makes combat a lot less dynamic and interesting. Again, with the tribal game this isn't as big an issue, because it's designed to be simple and for the combat part to be a side show to whatever your hero is doing or a consequence of how your lane is built in general. In this game, neither of those are true- battles between your mooks and enemy forces will be very important, and it should be a major source of decisionmaking.
The only "good" solution I've come up with so far involves randomly rolling for each unit's target, then rolling for whether they hit or not. If the target is a rearliner (and possibly if the attacker is melee, though I've considered making it difficult for ranged units to attack each other through their meat walls as well), the roll is rerolled, but then whatever result it returns is kept; a reroll never triggers a reroll for hitting a different rearliner, for instance.
So this is pretty good, it means a lot of cool things, like that units can be injured without dying, that useless mooks can make excellent damage sponges, and that being an archer or whatever is usually but not always less risky than being a warrior. There's just two problems with it.
First of all, it's complex. I've got to roll three dice per combatant each round of battle- one for target selection, one each for the opposed combat roll, and if there's crits or other nonsense I might have to roll for those as well.
Secondly, there's no real strategy or input allowed from players; if I let them order their mooks around manually, obviously they'll all just rush the rear line and club the archers, then focus fire on the squishiest sharpest warrior and so on. But this system doesn't even have any obvious way to let players advise or suggest anything to their mooks; it's all random, and the players won't even know what their goons are trying for until I mention it right before letting them know how they did.
So, I'm really not sure what to do about that, or even how much the complexity would be a problem, or what I'd do instead. I've considered trying to make some kind of battlefield order system, so that rushing archers is possible but has downsides, but nothing much has come of it yet. Partially because I'm not sure I like the idea of trying to add combat flow via opportunity attacks or similar.
Further issue: Base creature strength, levels, and you.
Basically, I both like and dislike the way Dungeon Keeper handled different creature types, which was to say that a beetle or goblin sucked, but could get stronger by leveling, but would still suck compared to a stronger monster of equivalent level (or in many, many cases, one much lower).
The downsides to this are kind of obvious- goblins are just cannon fodder you use until you can get "real" minions, which are still just placeholders for awesome minions. I'd much prefer if a sufficiently experienced goblin could be a genuine threat, and that using goblins in general was feasible.
The upsides are that creatures can be differentiated based on strength- a dragon is stronger but presumably less numerous than a goblin, for instance. You can have things that are more powerful but rarer than other things aside from just levels.
So, what's the solution? Well, having "stronger" creatures have stronger starting stats or higher starting levels is one option, but I didn't like it much; it's wonky to balance, and it feels weird saying a creature always "starts" at level 8.
So what I thought about instead was the rare vs swarm thing I was just talking about- sure, goblins are weak, but they're supposed to be numerous. Dark angels are incredibly powerful, but you should only have one or two. So how do I represent that through leveling up?
The short answer is budding. At certain thresholds, probably either multiples of a creature's "average" stats or maybe even every levelup after it hits "average," a creature stops leveling like normal and instead starts saving up experience to meet the next hurdle. Once it reaches this number, whatever that may be, it spawns another one of its kind and can continue leveling as normal. Whether the spawn would be an entirely new creature or follow the original around or what, I don't know.
As a simplified example, let's assume the following. We've got a goblin, natural/average/cap/whatever we call this stats of 2 HP and 2 Attack. Then we've got a Salamander with average stats of 4 Attack and 6 HP. Further assume that "budding" costs 3 exp and produces a 1 Attack, 2 HP creature, and occurs at multiples of a creature's cap strength. Finally, assume that each point of Attack or 2 points of HP cost 1 XP, and that they're gaining xp at equal rates. The progression would look like:
Start
Goblin hits cap
2/2 Goblin | 4/4 Salamander |
1/2 Goblin | |
Goblin successfully buds
3/2 Goblin | 4/6 Salamander |
1/2 Goblin | |
Salamander hits cap
4/4 Goblin | 4/6 Salamander (2/3 exp) |
1/2 Goblin | |
Goblin hits cap
4/4 Goblin (1/3 exp) | 4/6 Salamander |
1/2 Goblin | 1/2 Salamander |
Salamander successfully buds
4/4 Goblin | 6/6 Salamander |
1/2 Goblin | 1/2 Salamander |
1/2 Goblin | |
Goblin successfully buds
6/6 Goblin | 7/10 Salamander |
1/2 Goblin | 1/2 Salamander |
1/2 Goblin | |
Goblin hits cap
6/6 Goblin (2/3 exp) | 8/12 Salamander |
1/2 Goblin | 1/2 Salamander |
1/2 Goblin | |
Salamander hits cap
6/6 Goblin | 8/12 Salamander (1/3 exp) |
1/2 Goblin | 1/2 Salamander |
1/2 Goblin | |
1/2 Goblin | |
Goblin successfully buds
So as you can see, the end result so far is an 8/12 salamander with one buddy and a 6/6 goblin with three buddies. This does accomplish most of what I want- a goblin captain is stronger than a goblin, but not as strong as a dark knight or something, but is more numerous to help balance it out.
Trouble comes from the specifics, though. For instance, are these extras complete, separate entities that can go off and earn exp on their own? If so, that could potentially result in too many goblins to be worth tracking in fairly short order. Or are they attached to their parent, sort of a mobile collection of ablative armor and attack boosts? But if so, what happens if one dies?
And plus, I'm not sure this is exactly how I want to do it. Should offspring be of "average" stats for that creature? If so, presumably the parent would have to rack those up manually, which I assume would lessen the gap, since a goblin is banking up exp frequently but in small amounts, whereas a dark angel would be doing so rarely but in massive quantities. Either way, what should the exp cost for budding be? I have three up there just as an example, but is that a good number?
And finally, I'm not sure how I want exp gain and leveling to work, which could complicate things even further. For instance, suppose I factor in a creature's level to exp needed to level, and presumably exp granted from fighting it? Well, now lower level creatures, like goblins, would level quicker, which would also help close the gap.
Basically, I can't think of a better idea, but I'm really unsure if this one is a good idea at all.