GAME DESIGN

Wizard Tactics - Mana and Element Design Discussion

Hello! Welcome to my first post about Wizard Tactics’ design!

I’ve been making a lot of balance and design changes lately, and thought it would be fun to write up some of what I’ve been thinking through while deciding to make these changes. I wrote this in conjunction with my progress update on the first three months of my second year of development, so if you’d like to get a general sense of what I’ve been working on outside of these changes, feel free to check that out!

Revamped Mana System

While developing Wizard Tactics, I made it a primary goal that fights would feel fast paced and punchy, ideally only a few minutes long. With local multiplayer games, I find short and sweet rounds with a lot of action is what makes me want to dive right back into another round - games like Towerfall: Ascension and Duck Game are great examples. I’ve attempted to accomplish this goal by keeping damage from spells high, health low, and never allowing players to regain health.

However, during a recent tournament, fights were pushing 5 minutes, and occasionally reaching around 10 minutes long. We started out with matches being best 2 out of 3, but had to switch to just one fight per match because the first round of matches took so long. During the tournament, some players, viewers, and I were brainstorming why fights were taking so long, and someone in Twitch chat mentioned that some players were waiting until the turn timer was almost out before locking in their spells. They didn’t want to reveal to the other player what direction they were shooting their spells, and so both players were playing chicken and waiting the full 30 seconds to try to gain an advantage. Which… is completely fair! The design of the game incentivizes that behavior! I had never noticed this before because I tend to lock in quickly, so friends playtesting with me had no reason to wait out the timer.

We also noticed that players were preemptively dodging a lot, which was dragging out the fights, as getting hit by spells occurred more infrequently than I expected. I knew that the imprecise nature of only being able to shoot spells at set periods each turn would cause fights to be longer than they would be if the game was an action game, not a turn-based game. That was (and is) an acceptable trade off to me in order to be accomplish my main goal of the game - making a turn-based game that captures the high stakes, chaotic nature of a local versus action game. I attempted to counteract that imprecise nature by using the design goals I had previously mentioned (high spell damage, low health, no healing), but that obviously wasn’t fully working.

The final issue I noticed was that the mana system didn’t really… matter. And by that, I mean that because players regained 3 mana at the end of the turn, and Waiting instead of casting a spell gave players 2 mana each time they Waited, players would frequently only cast 1 spell, Wait once, and then end up with at least 5 of their maximum of 10 mana back at the end of a turn. This would occasionally lock them out of some bigger spells like I had intended the mana system to do, but there was never really the feeling of going all out on some turns that I had been hoping for. I had had a conversation about the mana system with a friend a few months before the tournament. He expressed that he wished he got less mana back at the end of the turn and more mana from Waiting so that Waiting would feel more impactful. I remembered this conversation and thought… what if I could use that to fix all of my problems?

So, I decided to completely remove the mana you get back at the end of the turn. I then bumped the maximum mana from 10 to 30, and changed spell mana costs to be more varied. Movement spells like Wind Launch and Gravity Tether still kept their old values of 3 and 4, but all other spells were made more expensive, ranging from Energy Ball at 5 mana to Lightning Bolt at 12 mana. Finally, I changed Wait to give different amounts of mana back based on if you Waited half the turn or the full turn. If you Wait for half the turn, you get 3 mana back, which is now only 1/10th of your total mana instead of 1/5th (3 mana out of 30 maximum mana vs 2 mana out of 10 maximum mana). But if you Wait for the full turn, you get a total of 16 mana back - 3 mana for the first Wait, and 13 for the second.

What this boils down to is that if you fire a spell and Wait in a turn, unless you cast Wind Launch, you will always be losing mana. That means you will at some point need to spend a full turn standing still and regaining mana. As well as making careful mana management more important to ensure that you don’t have to sit and regain mana at an inopportune time, this means that throughout a fight, each player will have to open themselves up and stay in one spot (unless being moved by external forces like gravity). This also means that players can really choose to go all out and blow all of their mana on powerful spells, but only if they want to risk getting hit during their subsequent turn of regaining mana, something that you could never really do with the old mana system. With one change to the mana system, both the problems of matches being drawn out by players always moving around and the mana system not really feeling important have hopefully been alleviated. And from some testing with friends, it does seem to have worked!

However, this still left the issue of players waiting out the turn timer. And then I realized, I could use the new mana system to hopefully fix this too. If players are incentivized to run out the clock to hide info, I need to add something to encourage them to lock in before the other player. So, I added one last change to the mana system! The first player to lock in their spells for a round now instantly gets a mana bonus of 2 mana. With mana management now much more important, hopefully this bonus gives just enough of an edge to whoever earns it to encourage players to race their opponent for it, without being too powerful to be a frustration to players who want to take more time to think through their turn (since this is still supposed to be a turn based game after all, not an action game!)

I’m not sure if this mana bonus idea will work. It seems to in the games I’ve played, but I’ve already established that I was never really the target for the problem it’s trying to solve. I really want to host another tournament soon and see how all of these changes play out, and hopefully I can finish up controller support soon so I can do so!

No more damage nullification

One of the ways I’ve been trying to have status effects affect the player in intuitive ways is to make them modify incoming damage based on the element the damage came from. For example, if you’re Frosted, you will take more Ice damage (since you’re already cold), or if you’re Drenched, you’ll take more Lightning damage (since water is conductive). Until recently, some status effects also fully prevented damage from elements: being Drenched nullified Fire damage, and being Frozen nullified Lightning damage. However, I very recently changed the effects so that instead of nullifying damage, they just cut it in half.

I had two major reasons behind this decision. First, hitting someone with a spell (something that can be hard to do in this game!) and having that spell do no damage just feels bad. More often than not, I noticed players would frequently forget not to try to attack with a certain spell that would be nullified by the other player’s currently afflicted status effect and would be confused why it didn’t do any damage. That phrase, “forget not to try to attack with a certain spell”, is what motivated the other major reason for removing damage nullification. As the game grows and more spells are added, I never want a player to end up in a position where it is impossible for them to win due to the spells they chose. If a player were to decide they wanted to bring all Lightning spells into a match, and then their opponent somehow became Frozen… they would be unable to do damage to their opponent unless their opponent decided to melt the ice off themselves.

So, in order to try to make status effects feel more fair and prevent a player from being unable to win due to their spell choices, I decided that no status effects in the game will ever completely nullify damage. Now, if a player is Frozen, this hypothetical Lightning obsessed player will still be able to win, it will just be much more of an uphill battle.

Making Frozen more risky

While playtesting, I came to the conclusion that Frozen was too beneficial of a status. Before all of these design changes, it was pretty much only a benefit to have - you became incredibly slippery which drastically increased your mobility (at the slight cost of making it harder to control where you ended up), and it nullified Lightning. As I just discussed, I decided to tone down the damage nullification, but it still left Frozen as a pretty powerful status effect. I wanted to add some more drawbacks to add a feeling of fragility to the sense of chaotic speed that slip-sliding the arena as an ice cube usually gives (at least, to me - I love sliding around).

So, I decided to add two more element interactions to Frozen. One is with Ice, very similar to Frosted’s interaction with Ice. It felt a little odd that having the Frosted effect made Ice do more damage to you, but being a literal ice cube did not. So, I made Frozen give a slightly more extreme version of the damage multiplier that Frosted gave you. Frosted multiplies Ice damage by 1.2x, and so I made Frozen multiply Ice damage by 1.5x.

This was a step in the right direction, but it felt like it needed something else. I brainstormed ways to incorporate another element interaction. I thought about making you take damage when Fire melted the Frozen off of you, but that seemed to contradict the fact that Frosted didn’t do damage when it melted. There was already an element interaction with Ice and Lightning. One with Wind didn’t really make sense, and Water didn’t seem like it should have a negative effect on Frozen, since Ice causes Water to freeze. And then I realized, what if I had Earth damage shatter Frozen? Earth has no interactions with status effects, so that would be a nice way to incorporate it into the mix!

So, I decided to go with that. Earth damage now shatters Frozen, dealing an additional 10 damage. This also has the benefit of making sure that there is another way to remove Frozen other than getting hit with Fire, because Frozen does not eventually go away like other status effects do. (I’ve been wondering if I should reconsider that and make it eventually disappear, but for now I’m keeping it and will keep an eye on how it feels during playtesting).

After ensuring the change worked by quickly modifying Energy Ball to be an Earth spell, I prototyped a new spell - Boulder Toss. The spell launches a large boulder above other spells, dealing 20 damage where it lands and shooting out small rock shards that do 2 damage each. (It’s a prototype, so this is all subject to change!) While testing the spell, it was incredibly fun to see how much more scared of the spell I became when I was Frozen; all of the sudden the shards that barely registered as a threat became much more deadly as they all could shatter me for over 1/5th of my health.

Making floor tiles apply statuses more consistently

After creating Water Jet, I started to wonder if Water as an element was too powerful. With the ability to spread Water across the floor easily, players seemed to be gaining the Drenched status much more frequently than other status effects. But, after thinking about the issue for a bit, I realized the solution might not be to change Water Jet or how Water tiles work. Instead, I should make it easier for other tiles to apply status effects.

See, Water tiles currently apply Drenched, but Ice tiles haven’t been applying Frosted or Frozen. So it makes sense that players have been being Drenched more often! I’m not sure exactly why I decided to have Ice tiles not apply status effects. I think at the time I thought that it might not make sense for ice on the ground to freeze someone? Now that I’ve had more time to play the game, I think it makes sense to change the Ice tiles to apply Frosted and Frozen. It will hopefully help make Drenched less overpowering as a status effect, and it’s more logically consistent too!

Conclusion

This wraps up all of the bigger design changes I’ve been working through lately! I hope it was an interesting or informative read. As someone who still considers myself a novice game designer, it was fun to put some of my design processes to text. As more design issues pop up, I’ll try to write some more design posts. In the meantime, if you’d like to follow the development of Wizard Tactics, please check out my Twitter - I post game dev GIFs semi-regularly. You can also wishlist the game over at itch.io, and join the Discord server to join in on the occasional tournament.

Thanks for reading!

— Tyler