For those not familiar with Hero Academy, it’s a turn-based strategy game that came out for iOS earlier this year (and is now also available for Windows on Steam). It’s a game of grid-based combat between fantasy-themed units. I want to discuss here what I think is at the root of how well this game works. All of the key design elements flow from a unified coherent goal: a project tailored from the ground up to play to the strengths of an asynchronous mobile touch strategy game.
As you can see above, the map is 9×5 (the game has various maps, but all are the same size). This means the whole thing can be displayed on an iPhone screen with no scrolling required, and each square is still big enough for detailed art on each unit. The only other thing besides the board squares you have to click on are the items in your hand at the bottom, which are the same size as the sprites on the board.
The artwork is important. In addition to simply being extremely well-done thematically, it’s carefully crafted to be functional. Each unit can various upgrades such a weapon, armor, or helm, and each unit is drawn with a mix-and-match of sprite-based components based on which upgrades it does and doesn’t have. In the above screenshot for example, see the Archer with the hat near the Archer without. A player can tell the status of each unit at a glance without having to open any interface widget. There is a tooltip for each unit (opened with a simple double-tap) that shows its exact numerical stats, but this not necessary once you know that, for example, a hat always gives a unit 20% magic resistance. Moreover, the units and upgrades are all large and distinctive enough to be apparent as you scan your eyes around the board without staring at details. This would all have been difficult if they had made the map larger and the squares smaller, or required scrolling. The way it’s done, you can look at one screen and see the entire strategic picture of the game.
Aside: the biggest failing experienced players have identified (which the devs have finally hinted they are likely to fix) is that the game offers no count of units/items already used up by each player. The above should give context as to why this error is so glaring–everything else you need to know to decide a move is visible just from looking at the current game state on the screen. No information is needed about past turns–all relevant effects are visible in the current game stats (for example, there are no buffs or debuffs that expire based on time, which would require players to remember how long ago they were cast). Since you might be involved in many games at once, some of which began many days ago, it’s important that you can pick up a game board, look at it, and decide a move without needing to remember anything that happened earlier.
This mostly flows from the above. Since the only things you need to click on are squares on the board or slots in your hand, the game naturally handles imprecision of touch controls, and the large cells mean it’s not frustrating to input moves. To input an action, you only need to click on the unit you want to move, and the square it’s going to attack or move to. Just like chess, an entire move is defined by those two squares.
This imposes design limitations on the abilities that units can have. For example, no unit can have have 2 different actions that apply to the same target. Units can have different abilities–for example healer units will heal if you target them and a friendly and attack if you target them at an enemy. But in no situation does a unit require a choice between multiple actions once you decide what the target is. They have to design around this limitation for all unit special abilities, but the payoff is significant. Every action takes the minimum possible number of touches (two) to process.
The game is played asynchronously between two players (A makes a move, B gets an alert on his phone, B looks at the game to decide his reply whenever he likes and sends back to A–think Words with Friends, or more old-fashioned, chess by mail).
This poses some challenges at the outset. An asynchronous game can’t take too many exchanges to finish, or else a game would take too long (since hours or even days can pass between moves if the players are leisurely). But a game with the strategic depth desired of Hero Academy has many different things you do over the course of the game–deploying units, moving them, equipping them, attacking and healing (the mere inclusion of healing is significant here), using spells, etc. It’s hard to see the game working without each player needing to take hundreds of actions over the course of a whole game. So the first solution is that players get 5 actions per move rather than 1, cutting down the number of times the game changes hands.
5 actions per turn solves that big problem but introduces others. Most of the real brilliance lies in the way these are handled.
When looking at a board, seeing the combined effect of 5 moves is hard. If you had to stare at the board and decide all 5 actions you were going to take, the difficulty of analyzing a move would increase substantially from a game like chess where you need to decide one move on the board right in front of you (your cognitive power is still needed to imagine opponent’s responses and possibly further, but not to simply visualize the move you’re trying to make). What is needed, then, is to let players try actions and then unwind them to try others before submitting a final move. HA does exactly this, and it is an innovation that seems obvious as soon as you’re used to it but in reality makes the entire game work. You can do and undo actions as much as you like and when all 5 are in, look at the resulting board and either reset the turn to try something different, or submit it to your opponent.
So far, so good. But as is the theme of this piece, solving one design issue led to another:
Randomness in fantasy combat is as common a trope as there is–dice or their computer equivalents follow the fantasy gaming genre everywhere it goes. But if you think about the HA design so far (as we walk ourselves through the thought process of creating the game), you realize we just said moves have to be able to be done and undone as many times as a player wants. This brings a huge side effect: we cannot have any randomness in the combat outcomes at all.
No hit/miss table, no crits, no damage ranges, no chance to apply a debuff, no dodges/parries/blocks, no saving throws, no procs, no initiative, no tiebreakers. It’s a real testament to the game that (I’m sure) some of you have played many games without ever stopping and actually noticing that the entire system is done without any of these extremely familiar things. But they were all thrown out the window to facilitate the architecture that’s been described up to this point. This is where the takeaway from this article emerges: the limitations imposed by the architecture were taken very seriously, and were clearly established before design of the game content was solidified. It is completely apparent that the developers did not put the cart before the horse and decide on a fantasy combat system that was later fit into the asynchronous mobile touch model. The boundaries were determined first, and game was grown within them.
But Randomness Still Has Its Place
Getting rid of random combat outcomes entirely does have advantages in terms of ability to plan ahead and the resulting strategic depth. But making a game with no randomness at all is extremely hard, because it’s too easy for players to find the dominant strategies. HA, cleverly, finds the one place untouched by the above limitation and adds a tile-draw system where players draw the units and items each turn from a pool that’s the same every game. The only concession required is that the player cannot see his next draws until he submits is turn, a limitation which is, again, done so seamlessly you probably didn’t think about.
(There is another discussion to be had about exactly how random the game is and whether the players need to given slightly more ability to mitigate bad draws, but that it outside the current discussion).
This could be a whole separate article, but briefly, everything right down to the unit strengths, damage/HP values, etc., flows from the above. It is no coincidence that, in a game with 5 actions per turn, the “generic” unit (i.e. one which no unusual offensive or defensive ability) has 800 HP and does 200 damage. What you usually want to do in any typical turn is 1) move (your opponent probably didn’t leave something sitting in range of your units), 2) attack repeatedly to knock out an enemy target, 3) “stomp” the corpse (prevent opponent from reviving the unit). If it takes 4 to drop the target, that’s 6 actions to do everything you want. You have 5. Therein lies the fundamental tension that drives all of the tactical interplay in the game. These numbers are emphatically not arbitrary–they could not have been decided any more carefully.
So next time you think “if I only had one more action, this would work out perfectly”, now you have a better idea why. Everything is set up so 5 actions isn’t quite enough unless you did something to earn an advantage (such as having an upgrade on a well-positioned unit). This is also why the 2 scrolls each player gets, items that generally allow one extra action for a single turn, are the most important items in the game.
Hero Academy was made with a well-conceived goal that was allowed to shape all aspects of the design. The UI, turn structure, and mechanics all work in service of the asynchronous touch-based experience–none are mindlessly copied from games that function in other environments. An interesting epilogue to all this is that the recent release on Windows has brought a huge influx of complaints from players who don’t understand the asynchronous model and are generally having trouble grasping the idea of a game that’s not played in real time in one sitting. This to some extent proves the point: HA was made to be the perfect iPhone game, and everything discussed above reflects that. So for those of you who have played before, I hope this has given you a deeper appreciation of why this game works so well. And for those who haven’t and have an iOS device: well, Hero Academy is free, after all.