Math, Programming, Games, and whatever else I feel like

Banner Saga:Factions, multiplayer RPGs, and the mechanics of speed

Posted on March 6, 2013

The folks over at Stoic released the free to play multiplayer component of their post-ragnarok tactical rpg epic The Banner Saga last week. I haven’t played a whole lot, for reasons I’ll get into in a bit, but I have played a few games and I’d like to talk about the game itself a bit before moving on to some perhaps more interesting musings on what it tells us about rpgs in the multiplayer space.

Breakdown: The game

The Banner Saga is a tactical rpg in the vein of Tactics:Ogre, Final Fantasy Tactics, and Fire Emblem, although it plays very differently than those games. Combat takes place on a grid where units take turns moving and attacking, but unlike the aforementioned games BS does away with the classic Speed unit stat, instead players simply take turns moving units. This turns out to impact play in a big way. Set after the Ragnarok, you control a team of humans and Varl(which I assume to be related to giants in some way) with each race having access to certain classes. A unit is able to progress to an advanced class after defeating at least five enemies and spending 50 “Reknown”, which is earned by killing enemies, winning battles, and meeting certain goals. In addition to gaining an ability and improving their attributes, advanced classes can move some of their stats around, allowing the player to attempt to optimize their team for a particular play-style. The game and cut scenes are rendered in a beautiful hand-painted style.

Units have two health stats: Armor, which reduces damage taken, and Strength, which acts both as a standard HP bar and as a gauge of the units ability to deal damage. Combat consists of balancing your ability to damage a unit and its capacity to deal damage to you in the short term. Your MP equivalent, “Willpower”, is used for increasing move distance and damage, as well as activating abilities. Willpower does not regenerate unless you spend a full turn resting (do not move or act) or expend a charge from your war-horn (which gains a charge every time you defeat an enemy unit). Units additionally have a stat, “Exertion”, that determines how many points of Willpower they can spend on any individual action.

Breakdown: The good

The combat is tight and responsive – limiting each unit to a single ability helps both to prevent decision paralysis and to reason about your opponent’s actions. Animations and sound are well chosen and well synced, hitting an enemy unit feels great. Unit abilities are well thought out and varied. Forcing players to take turns is an interesting change to the standard formula.

Breakdown: the bad

Combat is SLOW, like really slow. By default each player has what feels like a full minute to make their move(I didn’t actually time this), and in the event of connectivity problems you tend to see each move after at least this much time. Of the games I played, the only one lasting less than half an hour was when my opponent forfeited. Forfeiting incidentally, is not recommended, fighting until the bitter end will net you some consolation Renown but if you forfeit you get nothing. It’s possible to reduce the timer to a slightly better thirty seconds, but Stoic have opted to call this “expert mode”, thereby guaranteeing that most players won’t try it before spending several hours playing the extremely slow default mode.

The interface is not entirely intuitive, which is compounded by the fact that some features (such as the horn at the top of the screen, and miss chances) are not explained anywhere in the game except for the optional advanced tutorial video, which I doubt many people watch.

It’s worth noting at this point that nearly all my gripes with the game are UI issues or multiplayer related, they are unlikely to detract from your enjoyment of the final single player product. I’d like to spend some time talking about the multiplayer issues though, because they highlight some issues with implementing a multiplayer tactical rpg, which is sort of a long-term goal of mine.

Need for Speed: rpg edition

The major lesson to learn from Banner Saga is how hard it is to make a tactical rpg play at anything resembling an acceptable speed in multiplayer matches. I complained a lot about the speed up above, but really Stoic have put an incredible amount of work into making combat as fast as possible. By restricting units to only a single active ability the player has only a small set of possible moves for each unit instead of needing to consider say, 5 damage dealing abilities and 7 status modifying abilities. They probably could have gotten away with dialing expert mode down to 20 second turns, but they’re obviously worried about limiting the ability of new players to get into the game. Having players take turns moving units, and showing the unit order, also improve flow by making it easier to reason about later turns.

There’s a major problem with Stoic’s solution to the speed issue though, it severely limits their ability to add complexity to the game, and complexity is a pretty integral part of tactical rpgs. Players like their characters to feel stronger after 50 hours of play, which is usually achieved by granting access to newer more powerful abilities and classes. Furthermore, players generally like having many options on a turn; even though it slows gameplay down, it makes the player feel more involved in the battle.

So, what are some other ways we could try to get a fast game without limiting complexity? The simplest method is to create a “normal” tactical rpg but restrict turns to some arbitrary time limit. This is not a good solution – without some streamlining factor the player simply has too many options to play quickly. A more nuanced approach would be to restrict players to a smaller set of abilities at any given turn, but allow them some way to change what abilities they will have in later turns. This can create issues with reasoning about future turns, as units become more mutable the player is less able to think ahead.

Mutate and Advance

We could at this point try to find another solution, but the idea of mutating a unit’s abilities has caught my fancy, and I see a way to fix a second issue, namely that imposing a time limit on turns can make player “feel” rushed even when they are not. Instead of giving up on this solution let’s say that units have some small set of initial abilities, and then a number of tiers of more advanced abilities not initially available. Each tier has about the same number of abilities, some of which may be direct upgrades of earlier abilities while others may open up new options for the unit. Now, instead of punishing a player for taking too long on a turn, let’s reward them for acting quickly. Give each unit a stat, we’ll call it “momentum”, that starts at zero. Each time a unit performs an action it gains some momentum, and whenever a unit’s turn is active its momentum slowly decreases. At certain predetermined thresholds of momentum the unit replaces its available abilities with the next higher tier, and when the momentum drops back below a threshold the unit again must use the lower tier of abilities. In this way the player is rewarded for playing quickly, and with some tuning of the combat system we hope to push both players into a positive feedback loop whereby play becomes progressively faster as combat goes on. With this point we can introduce a certain amount of additional complexity over Banner Saga, if we’re careful, because gameplay should be moving too fast for players to be thinking very far ahead, and instead they should be focusing on more immediate payoffs.

There are of course a number of problems with this idea. Loosing too much momentum in the middle of a match could easily see the player get caught unable to build it back up, but their opponent might not be able to take advantage of this, resulting in a match that drags on. Connection issues are even more of an issue here than they are with Banner Saga – a ten second pause could cripple a player – and there isn’t a great way for the game to let them recover. The additional complexity we seek to add also becomes an issue for the developer: complexity is a lot of work to manage in any case, but in this system the danger of players restricting themselves to very small subsets of the available choices(classes, abilities, equipment, etc…) becomes exacerbated, forcing additional testing.

Still, it’s worth looking into.