It was pretty clear that weapons couldn't improve at every level. I had a few effects that scaled with level, e.g. the Lantern's stun on kill, but there weren't enough of these for every weapon to get one. And with the low numbers of hit points it definitely wasn't reasonable to always increase damage. Just no room in the design for any very small effects that make something like 5% better, it's twice as good or nothing. I could only really make small effects by adding extra words to limit them down (extra damage only to serpents when your score is even and it's sunny), but then it feels weird to have so many words for such a small effect - and a weapon with one of these tiny effects for each level would get pretty clunky. So there were going to be a lot of times that weapons leveled up without improving and that felt kind of bad. It made sense for the design, I could make an early-game weapon like the Club that gets 2 damage already at first level but doesn't improve after that, or a late-game weapon like the Cleaver that doesn't get anything at first level but goes all the way up to 3 damage, but when you played with them and got the empty levels it felt bad.
I decided to add another resource to the game: every level-up would earn a "rune", whether the weapon improved or not. This made there be always some value to leveling weapons up, and also gave some extra incentive to focus on leveling something early rather than just letting kills fall wherever. In the end I did try to ensure everything got at least a small bonus at level 4 even though with runes it's not strictly necessary, it still felt better that way, but at least it didn't have to be something at every level.
So next there needed to be a way to actually use these runes. I could make some weapons that spend them but that leaves the possibility of a board that doesn't feature any of those weapons - in these cases they'd have no value so we're back to having empty level-ups; there needed to be a way of spending them always available. Simultaneously I was thinking about other design problems; the concern that people would find one "best" board and have no reason to play different setups, also the question of whether there needed to be more ways to deal with bad/unfair situations in the game - a panic "bomb" for when too many enemies surround you, or even whether to include a "wait" button to deal with zugzwang (possibly a limited-use effect like 868-HACK's .wait prog). I thought about encouraging board exploration with challenges where you had to design a board under restrictions, then I realised this could hold the solution to the other problems too: the challenges could be different /characters/ each with also a special ability button (bomb, wait, etc.) costing runes. Solving 3 problems at once while giving the game more character, good going.
I'd written up a list of board restrictions (no range, no blues, no duplicates); character disadvantages were a more general concept so I added more some ideas along the lines of 868-HACK's "bonus powerups" (less hit points, one enemy is worse, enemies spawn faster). Paired it with a list of ability effects and just tried to match them together. Started drawing a bunch of people and trying to get a sense of which abilities they would have. Some pairings came easily from the mechanics, some mechanics were inspired by who I thought the people were, some fairly arbitrary. In general it felt natural to match character concepts with abilities, but the disadvantages felt more arbitrary and ended up moving around a lot. It helped when I realised they didn't have to all share the same scoreboard, so they didn't need to be "balanced" to compete with each other, they just needed to each be playable on their own. This is quite a shift from how multiplayer games work - rather than the top players gravitating to the strongest characters to win more, you'd expect they'll be interested to play the weaker ones for the challenge.
Some notes on individual characters:
Count Harry I was a spooky vampire, the really nasty sort, villainous and everything. Someone managed to trap him in the worst kind of maze, the "8 steps to gem" kind. But he wasn't much fun to play, "8 steps" is pretty extreme and even his efficient (1 rune) regeneration wasn't enough to deal. His great-grandson isn't so bad. I needed a basic introduction hero and healing seemed the simplest ability so I paired that with the simplest disadvantage. The main advantage of range is to avoid some forced hits from stepping next to enemies so I made his heal/wait expensive to exacerbate the lack, I think it helps get across that it's okay that you have to take a hit sometimes. Ideally you can use the power to deal with 2 hits at once (one avoided, one healed), and then paying 2 feels just.
Susannah was going to be the first character for a while, I thought it was simpler to introduce the game without having to think about different weapon colours, but I realised they're so important I should really introduce them immediately. She didn't really change from the initial idea. It's an obvious board restriction and she gets a blue damage power to deal with its weakness / her vows forbid using magic weapons but she can call on divine assistance in times of need. Rune damage is shaped for tactical positioning, cross shape matches paladin concept. Only question was whether to make it 1 rune for 1 damage or 2 for 2; 2 makes it more a desperate prayer than a casual everyday thing, also makes it fast enough for a double-smite to be viable against red enemies when you really need it.
Vesuvius Bob was also a candidate for first character, back when he had "no ranged weapons" and was an absolute powerhouse, back before his tragic injury.
In the analogy to a card game with the weapons as your deck, wall generation is the shuffle. Having no duplicates increases shuffle variance, you're less likely to be able to reach the weapon you need. Breaking walls is deck manipulation to deal with unlucky shuffles / get somewhere you need to. Gem shortcuts are an added bonus.
Masina's rune power came after I had the two effects triggered by swiping into inner and outer walls (Bob and Johnny) and I tried to think of more of these kinds of automatic trigger (as opposed to pushing an extra button). An effect on hits was possible, extra damage is as simple as it gets, a red/blue switch gives a way to control it on any reasonable board, attaching it to red fits because it's the colour associated with more damage, there you go. Played it out, really liked the tactics of it - strong but difficult to use well, requiring discipline to avoid burning through your runes too quickly. So I just tried to draw someone very strong, who overcomes opposition through great discipline. With the tactical challenges of not being able to wait in place and trying to conserve runes, her disadvantage doesn't need to be very bad, and ideally it shouldn't affect the board design much because her power already gives plenty of direction there. So I tried everything I could think of for simple disadvantages that just make things vaguely worse, "enemies spawn faster", "6 steps to gem" (8 having been too many for old Harry), "1 less mana", all of these turned out too hard. The level generation used to sometimes block off tiles and it was not a big deal but kind of annoying (one friend was convinced it always deliberately picked the weapon he'd leveled up the most); that seemed reasonable as a disadvantage.
Obviously there had to be a cursing hero. Jeska originally had "no duplicates" (imagining a witch's eclectic hoard) but cursing makes you want to build combos so that conflicts. Gave her "weapons don't get damage increases" to really shift the focus to combos; good idea in theory but everyone got confused that the curse hero couldn't effectively use the big obvious curse weapon. So I just came up with something minor that represents her being a bit old and physically frail, wanting to avoid getting hurt and instead use magic.
Now that she was the first character to be solved I wonder if I really should have stuck with the damage reduction. Still, it's not surprising that a cursing character would break something since having a reliable way to curse removes half the balance limitations on curses.
Dominic! Several of 868-HACK's bonus powerups exaggerated the strengths of one enemy type so that was an obvious thing to try here. There isn't the same complexity in enemy abilities so I went with the simplest: the hardest enemy to kill gets extra hit points to make it even harder. It's still more vulnerable to one damage type, and it still deals its separate damage type so the extra danger doesn't stack too badly with other enemy types. The stun power helps you survive the big enemies without making them any quicker to kill, so it's alleviating the disadvantage without directly opposing it.
Tried several different disadvantages with Johnny. Similar thoughts to Masina - his rune effect shapes boards a lot so the disadvantage can be fairly generic. Difference is that his power is really really strong. "Enemies spawn faster" seemed a good fit for a while but made late-game survival impossible. "Five kills to level" seemed fair but was pretty boring. "Weapons don't get damage increases" was an appropriate level of challenge but cut out a lot of the point of mobility for being able to access high-damage weapons. Ended up with "8 steps" because nobody else could handle it and his flying naturally counteracts it.