Spellcaster Creatures

GUI update coming along next week or so. Hopefully.
Edit 2018-08-20: HAHAHAHAHAHA. Oh the naïveté.

Second-level creatures of the Coven faction are Moon Sisters, neophyte witches of the Circle of the Moonrise. Moon Sister is a flying spellcaster creature, able to cast one spell — Hex — on an enemy stack. When implementing spellcasters, there are a few possible approaches seen before in HoMM.

There's a Genie approach: the creature casts a spell at a fixed level of mastery, with a fixed effective spell power. There's a problem with that approach, especially with cheaper lower tier units. What's to stop the player from filling every vacant slot in the hero's army with 1-stacks of Moon Sisters and proceeding to Hex every single enemy stack essentially for free? Instant value, negligible trade-off, especially in the early game.

Like every other unit in the game, spellcasters' power should increase with the size of the stack. One way to accomplish this would be to give those units an extra stat — Spell Power. It can even be a range, say, 0-1 for Moon Sisters. Even then, amassing a hundred 2nd-level units isn't all that hard, which results in the stack casting Hex with fifty-odd Spell Power fairly early on. Whichever part of Hex is controlled by Spell Power, be it effect or duration, after a certain point having a larger stack becomes useless: a fight isn't going to drag on for fifty turns, and rare creature's defense exceeds fifty.

All this has been said with an assumption that Hex is a spell like any other, and that it's available to heroes. But what if it isn't? What if spells available to the creatures were a different class of spells entirely? While hero's abilities grow relatively slowly, gathering a considerable amount of spellcasting creatures is quick. We can account for that in the spell itself, toning it down to reasonable levels of power.

HoMM5 went a similar, yet different route, allowing creatures to cast hero spells, but making spell power of a stack grow logarithmically with stack size, instead of linearly. That addressed the problem of heroes relying on 1-stacks of spellcasters, but did little to mitigate the value of splitting stacks. While splitting melee units is generally counterproductive, 1-stacks notwithstanding, splitting a ranged stack in half is generally a good tactic on its own: you don't deal more damage, but you can damage several enemy stacks, and you don't run the risk of losing all of your shooters to a single massive attack. By splitting a stack of spellcasters (most of which are ranged units) in twain, you once again create value.

So Hex is a creature-only spell that scales linearly with spell power. It needs to be useful at low level, when the number of creatures is around a dozen, yet not totally overpowered in late game with several hundred Moon Sisters at the player's disposal. Spell power affecting the spell's duration would quickly get out of hand, so it must affect the effect instead.

Here are some possibilities I've come up with:

  1. extra damage is dealt to the target stack with each melee attack made against it;
  2. reduce defense by amount proportional to spell power divided by the number of creatures in the stack;
  3. same as (2) but affect attack instead;
  4. (2) and (3) at the same time, but lesser effect.


Let's talk about feedback loops.

There are essentially two ways for a player's success (or failure) to impact later stages of the game. In a positive feedback loop, a success causes future successes, or vice versa, resulting in a snowball effect. In a negative feedback loop, a success comes with a drawback that makes future successes harder to achieve. If you want to learn more about feedback loops in games, check out this article or this video by Mark Brown.

HoMM is built almost entirely on positive feedback loops:

  • getting more resources leads to getting more troops that help clear way to more resources;
  • being stuck with no resources makes the player unable to recruit troops and get more resources;
  • losing troops in early game leads to losing precious momentum as you can't break out of your starting area, so while your opponents expand and scout around, you're stuck waiting for start of the next week;
  • extra towns grant more gold and troops.

There are negative feedback loops too:

  • building up second town takes double the resources, but the number of mines you control doesn't increase;
  • more towns you capture means more towns to defend; discounting Town Portal, that means your main army is weaker than it could've been.

but those don't outweigh the snowballing effect.

Positive feedback loop isn't necessarily bad, but it does mean that the player lagging far enough behind may as well give up. On the other hand, a strong negative feedback would draw out the game, making it even longer.

So, what now? I want to counteract the early-game failure compounding, and dampen early- to mid-game snowballing. Biggest offenders are losing troops and extra towns, respectively.

One way to counteract snowballing is to introduce an upkeep cost: the more towns you have and the further apart they are, the higher the cost. This forces the expansion to take longer, as the player has to spend turns and resources making sure they can afford that extra town, or spend time recovering from having no resources due to short-sightedness.

Dealing with compounding losses is trickier. If you lose an army, you lose an army, there's no getting around that. But maybe, if you win a fight with heavy losses, you recover a portion of lost troops? Give each hero a persistent Healing Tent that will let them recover, say, 100 HP worth of troops after battle. That's a hefty boost in early game, but becomes almost worthless in late game.