The Law of Interesting Choices

Joel Haddock

August 3, 2026

For the most part, there’s one key guideline I try to follow when working on my games. It's somethign called The Law of Interesting Choices.

As laws go, it’s pretty easy to sum up: “Give the player interesting choices.”

The very nature of being a game means you are giving a player choices. But simply throwing choices at them is no way to guarantee they stay engaged. If you have them making lots of choices that aren’t interesting, that usually leads to the player tuning out. If their choices aren’t having that much impact on the game, why should they bother caring about them?

Obviously a lot of this depends on genre. Sometimes you want to put the player on autopilot. But for something like Tyrants Must Fall - a turn-based strategy game - the whole point is to make sure every turn is a chance to make new, meaningful decisions.

Playtests and Positions

The demo for Tyrants Must Fall has been out for a bit now, and between feedback from that and seeing some people playing hands-on at in-person events, I realized I had a problem.

While most of the time players were facing interesting choices on their turn, there were (in my opinion) too many occasions popping up where they had to make uninteresting decisions. So what’s the difference between an interesting and uninteresting decision? It's pretty subjective, obviously, but to me an uninteresting decision is one where the player feels like there is only one option worth choosing. If one option is unquestionably superior to the others, it's not much of a choice at all.

The issues I was seeing with TMF had to do with the rules around unit positioning. Every unit (for the most part) has attacks they can use from a specific position or two. If a unit isn't in one of those positions - or if its ability was blocked for some other reason - it would default to Guarding.

Let me give you a more concrete example by looking at one of the player’s most basic units, the Rebel. The Rebel can make a melee attack as long as it is in the Front row, or if it is in the Middle row with nobody in front of it. On top of that, the Rebel’s “Stand Together” ability grants it +1 HP if in a formation of 3 or more other Rebels in the same row.

This is all simple to understand, but ultimately it led to me seeing too many situations where players were defaulting to moving all of their Rebels to the front row to get them into the Stand Together formation and leaving them there. Any Rebels not in the front row were almost viewed as “wasted” units because they couldn’t contribute to the battle in any way. There was some options for movement if players wanted to swap a damaged Rebel off the front line for one from the other rows, but beyond that there wasn't much tactical reason to not ever have them arranged this way.

The classic line of rebels
Rebels in - from the player's point of view - their forever home formation.

By the same token, the basic Hunter can make a ranged attack from Middle or Rear rows, but has no ability to do anything other than guard in the Front row. This makes the idea of moving a Hunter to the front completely pointless, and if somehow a situation arose where one ends up there, it's yet another “wasted” turn by the player’s evaluation.

Not good!

Location, Location, Location

Thinking about how to remedy this, my mind immediately turned to what I considered the core of the battle system: positioning. With that in mind, the solution seemed rather obvious: each position for a unit needed to have a more interesting set of considerations beyond just a binary "good/bad".

To that end, I realized instead of thinking of actions as having positions, I needed to start thinking about positions having actions. That is to say, units should behave differently depending on where they are.

This was a pretty big change to consider!

But the more I thought about it, the more right it felt. Not only would it deal with the “wasted turn” problem, it opened the doors to so many more interesting tactical choices both for the player and for the enemy.

It also helped address another problem I’d been running up against where certain Support units felt far too situational. Again, this is an “interesting choice” issue - if a unit is too niche, players will (usually) choose to just not use them. Was it worth wasting positions in the roster for a Druid who can only immobilize people and only if they are in a certain position? For most players, no, that's an easy option to ignore.

Now, with the capacity to have multiple different actions, Support units can still have niches they are very useful for, but also have utility beyond that. Additionally, regular units can have a lot more flexibility in what they could be doing on any given turn. Using the example of the Rebel again, in the new system they act as follows:

Three rebels, three positions, three actions
Three rebels in different positions all ready to take different actions

Suddenly there is a reason to have Rebels moving around. Maybe you really need someone covering a gap in your defenses in the Back, so you can shift a Rebel over to take an active role in defending. Or maybe you need to focus on damage, so pulling one behind its allies to start Cheering could be a game-changer. More choices, and - most critically - more interesting choices.

Turns Within Turns

So step one was making the structural code changes necessary to support this (not a minor undertaking), followed by the even larger project of determining what each unit’s positional abilities would be, and then working to rebalance everything around these changes (definitely not a minor undertaking).

Still, even with all of that taken into account, there was major other thing impacted by these changes that would have to be considered: the initiative system.

With the old system, the overall initiative of unit types could be thought of as a single lump: since every Rebel would be taking the same action on its turn (unless it was guarding), they would all move at the same time during the Melee Phase and could be represented on the initiative bar as a single icon.

The old initiative bar
The old initiative bar, lumping everyone together under two phases

With this new system, there was now the likelihood that different units of the same time would be acting at different times - no more single icons! The obvious solution would be to break the units up by which ones were taking which actions, but this led to a different problem: potentially units of the same time could be taking different actions during the same phase.

This idea of the “sub-phase” existed already - the melee phase was further broken down so that units guarding would go first, then melee units, then support units - but this was obfuscated because everything was just shown to the player as all units of that type taking their turn on the initiative bar. Now, the player could have some Rebels taking a Guard action, some making a Melee attack, and some taking a Support action. Having three different Rebel icons in the initiative bar during the same phase sure felt like it could be confusing for a player without any context!

There was the possibility of going a more “traditional” route and giving each individual unit it’s own initiative icon, but I didn’t like this solution for several reasons. First and foremost, I felt it would ultimately be overwhelming to the player later in the game when both sides might be fielding full armies - 30 different icons to keep track of is a lot.

What seemed a better solution was to do more to surface the mechanics that already existed in a more clear way. To that end, I codified the ability type concept into every ability being one of three things: Ranged, Melee, Defensive, or Support. For any units of the same type taking the same type of action, they could be lumped together.

From a UI perspective, this actually gave me a good chance to further surface more information for the player in a way they could quickly parse. Each unit’s status bar could now show the type of action it was going to take based on where it was, and the initiative icons could reflect that. This gives the player multiple ways to digest the same info - who goes when - in a visual way. Adding to that some improved tooltips to detail a unit’s action, and this new system felt like a big step in keeping what could be a complicated change into something digestible.

The updated init bar
The updated initiative bar showing the new phases and icons

Putting It All Into Action

So I did.

After a lot of deep thoughts, code reworks, and UI updates, I’ve integrated this new battle system completely and rolled it all out into an updated demo.

While I was happy with the game before, I really think these updates are going to open up some really fun possibilities for players while still keeping combat snappy. It’s opened up space for new abilities that add tactical depth that just didn’t quite fit before. On top of that, it gives the enemy more options as well to help keep things challenging and interesting for the player.

If you haven’t tried the Tyrants Must Fall demo yet, now is the perfect time. If you’ve played it already, I’d suggest loading it back up and seeing how things have changed!

And, of course, it never hurts to drop a wishlist while you’re at it!

Demo and Wishlist here

Build your rebel army and lead them to victory over the Tyrant King in this turn-based tactical roguelike. Improve your leader's skills, unlock new units, and hone your battlefield strategy as you march towards your fate as the Hero of Destiny.

Tyrants Must Fall on Steam