My quest for fun tactical spellcasting combat - a game design post-mortem (or, how I started making a roguelike and ended up with a match-3 puzzle)

I've always been intrigued by rpg combat mechanics, because, it seems, for many of the games I've played there's always been the promise of epic, deep tactical combat, given the number of cool sounding skills and spells included in those games. And yet, the vast majority of them have underdelivered in this regard (even though many them have been great games in other aspects).

Having mulled over the issue for a long while I decided to make my own. This is a recount of my thinking, and an analysis of what worked and what didn't. Skip to the end to find links to the finished game (it is free).

The Problem

Perhaps my biggest peeve is skill systems that are too balanced, to the point where it does not really seem to matter which of the cool sounding skills you use. Want to attack the goblin with your sword or with the magic missile spell? Sure, you might take more damage in melee, but that is offset by a warrior having more hp and more armor. In the end it evens out. One of the more spectacular games in this regard that I played was Dungeon Siege. The game lets you control a party of adventurers on some excessively linear quest. Your PCs will auto attack the nearest enemies, they will auto pickup loot, and automatically select the best equipment and choose the best spell for the occasion. The mage will automatically heal party members. You get the picture. As I remember it, the gameplay consisted of clicking ahead on the screen to make your party advance.

So, if a game offers me choices, I expect those choices to matter. Choose wisely and be victorious. Choose badly and have your butt handed to you by said goblin. This observation draws my attention to the other end of the spectrum, puzzle games, a genre where you typically have a discrete number of possible moves in a situation, and winning amounts to finding the right sequence of moves. A prime example of this genre, and one that is reminiscent of rpgs, is Sokoban - there are even Sokoban levels in the classic roguelike nethack.

I am a big fan of puzzle games. But there is usually a point in those games where the puzzles become large and tedious and I lose interest. The games become less of an intriguing mind twist, and more of a systematic search of the problem space. It no longer feels like a game. It feels like homework. And this is to a large extent due to the property of puzzle games alluded to above - that you must find the exact right sequence of moves to win. There is no margin for error, no chance to compensate a poor move with a better one later. You cannot just play around.

My final observation starts with a game that I played a lot when it came out, Guild Wars. This is not to bash that game in particular - it is a great game, and there are other games using a similar system, I'm sure. The game has beautiful graphics and an intricate skill system. The skills are represented by little icons at the bottom of the screen, and each skill has a cooldown that has to refill before the skill can be used again. What this means is that, while 90% of the screen shows fantastical forests and whatnot your eyes are staring at the 10% that has any gameplay relevance, waiting for the skills to recharge, or monitoring your health and mana bars.

The Theory

These therefore became the design rules I decided to follow:

One: Make all spells situational.

What this means is that there are many situations where a spell has little or no positive effect, and occasionally situations where it is potentially devastating. No spell can be generally useful or "spammable". If you play my game, you'll find that there is no basic single target damage spell. Also, there is no "heal" spell - there are other spells that give you healing, but they are dependent on there being enemies around that you can steal life from.

Two: Use light randomization and resource management to change a puzzle mechanic into a casual tactical mechanic.

If a game presents static scenarios and fully deterministic rules, there is always an optimal way to play and it becomes hard to find a balance where the game is difficult enough that tactical choices are meaningful, and still forgiving enough not to feel like homework. Adding randomization - either in the form of roguelike style procedural generation, or nondeterministic game rules - lessens this conflict because the outcome is not only determined by the player skill, but also by luck. The introduction of a resource (e.g. "health") not only makes the game forgiving to occasional mistakes, it also helps to reduce the impact of "bad luck", allowing the element of chance to even out over time.

Three: The player should be looking at the main graphics, and not at the stats and energy bars.

I try to minimize the amount of information and stats that are needed and is not readily apparent at a glance. Enemies typically only have one or two hitpoints - instead there are many of them. Conversely, the world state displayed (i.e. in my case, the map layout and the positions and types of enemies) should all be relevant gameplay information.

Three and a half (because this is a continuation of rule three): Use visual pattern recognition.

The human brain is wired to look for patterns. It will even find patterns where there are none, such as in a random mosaic or in the shape of clouds. Finding visual patterns is inherently satisfying. As such, pattern recognition is a very intuitive game mechanism, as you will be doing it almost involuntarily. Popular examples are match-3 puzzles, and, more relevant to the genre, the now-defunct Dungeon Raid.

This all neatly leads to a realization that is the basis of the core game mechanic of my game: Area effect spells can be a pattern matching puzzle. Each spell affects a different shaped area and enemies have different immunities and weaknesses. So the question becomes how to most efficiently hit as many enemies as possible using the available spells in a given situation. In my game there is a fireball spell that affects a "+" - shaped area, a lightning orb that moves in a diagonal, lightning that jumps to connected enemies, and so on.

In addition to this, there are two supporting mechanics. The first is positioning. Positioning is a key mechanic in puzzle roguelikes such as Hoplite and Ending where it can be described as "bump into enemies before they bump into you", and, yeah, my game does that too. But it also meshes well with the area effect mechanic, where it becomes a matter of manouvering yourself and your enemies into a position where you can hit as many of them as possible with each spell. A number of spells also affect positioning, the most prominent of them being the teleport spell.

The second supporting mechanic is resource management. In addition to health (as previously discussed), the game also has mana as a way to limit spellcasting and differentiating the cost of spells. Having two resources adds another strategic layer to the game as you now have to consider your moves as a trade-off between them. Do you spend the mana on a fireball, or do you engage in melee and take damage? To further support this there are some energy management spells, such as Absorbing touch, which modifies your melee attack to steal life, and Ritual of Blood, which restores mana when you are hurt.

That all sounds well in theory. But how does it work out in practice? Is the gameplay really as great as I wanted?

The Result

Well, yes. And no. It depends.

As a game mechanic in itself I think the answer is a clear "Yes". There is a certain sweet-spot where you teleport around the level, casting spells cleverly, and defeat enemies like the bad-ass Battlemage you are. And, it seems that this gameplay has "clicked" with a handful of players who have been kind enough to leave very positive reviews. So maybe 20 people out of 1500 downloads? I call that success!

But this brings us to one of the problematic areas of this design, which is that the best gameplay only starts to emerge when you know many of the spells and enemy types in the game. There is a very real risk that players will be bored before getting to the good stuff. The alternative, to offer all or most of the game elements from the start is not attractive either. I tried that - it is too overwhelming for new players. While the problem can be mitigated with careful introduction of game elements, I think the number of game elements needed for the wanted gameplay to "come out" needs to be considered when designing the core mechanics.

Next, what about my goal of making the game more casual by using randomization and resource management? Interestingly, one of the the most common complaints is that the game is too random. The initial placement of enemies on a level is randomized, and some players report that they feel that the difference between getting a good position and a bad one is more important than how well they play. Now, theoretically, I should be able to alleviate this by adding more life and mana, so that it evens out over time, right? Well, yes, but making the game easier also means that there will be less incentive for players to use the full range of spells at their disposal, which moves away from the gameplay I'm aiming for. One possible solution that I've experimented with is to limit each spell to one casting per level, rather than costing mana. The result is similar to a card game mechanic, and my initial impression is that it is quite fun, and something I will explore further in the future.

The Conclusion

Highly situational skills creates potential for complex tactical gameplay, but makes randomization tricky as it increases the effects of "bad luck".

Complex gameplay creates a higher barrier of entry - ensure that you can show off the game's potential with just a few skills.

Resource management mostly works to make a game more tactical and casual, but striking the right balance is tricky.

Visual pattern matching as a game mechanic works!

If you want to check out the finished game, you can find it here:

Aldarix the Battlemage on Google play



Desktop version on itch.io

Follow me on twitter at @AldarixB