BattleTabs Ship Balance
By Tom Kail
(originally published on Tom’s blog: https://tomkail.tumblr.com/post/658314794354589696/battletabs-ship-balance)
When designing ships, there are two things we look for - “is this fun and interesting?”, and “is this balanced?”. Balance is an essential part of ship design, and I wanted to share some of our process!
If you don’t know about my work on BattleTabs, then you can play it free in your browser and might be interested in reading an earlier writeup on designing the game.
“KEYSTONE” SHIPS
As the number of ships grows, trying to consider how a new ship compares to every other ship starts becoming an exercise in madness.
To keep comparisons manageable, we attempt to peg the effectiveness of new ships to what we call “keystone” ships.
Examples of these are the Sailboat and the Minisub. These ships are simple, reliable, and time-proven. They’re fixed points on the power curve.
One of the advantages of pegging new designs to the oldest ships is that it acts to avoid power creep in a way that would be unavoidable if all new ships were balanced against the current meta. The downside is that not all new ships feel as relevant for hardcore players.
The test for this is simple - are our keystones still considered viable additions to most fleets?
BALANCING LEVERS
When we’ve decided a ship is over or underpowered, we have 3 “levers” to play with.
Cooldowns
Cooldowns are the main lever for balancing a ship. Raising a ship’s cooldowns makes it worse, although this isn’t a linear scale!
Shorter cooldowns offer more flexibility, and are more reliable.
Longer cooldowns have a larger chance of being destroyed before it can be used.
In practice, this all means that a ship with abilities that are twice as good should have a cooldown that’s slightly less than twice as large.
Good fleet design allows for an ability to be used each turn, with no turns where several abilities are usable at once. Roughly speaking, this means cooldowns of 3-5 are typically the most useful - so should be just a tiny bit underpowered to make fleet creation a bit more interesting.
Cooldowns are an effective but blunt tool for balance, and not always granular enough to balance a ship entirely. Shape and size is a more subtle and very scalable way to fine tune balance.
Ship size/shape
My initial assumption was that while bigger ships required more time to destroy, smaller ships would be harder to find, and this would roughly balance out. This turned out to be off the mark - bigger ships have a tangible advantage. Their size might be thought of as their “defence”.
Shape is important too - less standard or symmetrical shapes are harder to find - although as a minor downside, they can be harder to place in a way that doesn’t give away their shape!
Single tile ships should be avoided, because they can be frustrating to find. We recently patched in a change to the Coracle (the only 1x1) to mitigate this - it now reveals a tile on your own grid when you use a standard attack.
Our largest ship at time of writing is an 8 tiles donut. New ships could be a bit larger/harder to work out, but this risks making them tedious for the opponent to destroy, or difficult to fit on the grid.
The biggest issue with this approach is that it can’t be easily applied to ships that are already live, because tweaking art is quite expensive!
Side effects
I’ve covered the universal balancing levers. The last approach is to attach further positive or negative abilities. This can help differentiate ships in interesting ways, although care should be taken not to create ships with long and complex descriptions!
here are too many of these to list, but here are some examples:
Initial cooldown - since this only affects on turn, it’s relatively subtle, while also being very tuneable (how much is the initial cooldown affected?)
Visibility - revealing a ship, or part of it, on game start/use/being hit
Neighbour effects - changing ship abilities when placed next to something else
TO BALANCE, OR NOT TO BALANCE?
There are plenty of cases where perfect balance, as defined by “all ships should have an equal win rate” might not actually be desirable!
Gimmicks
Some ships are deliberately designed as fun gimmicks. For example - imagine a ship that entirely reveals the boards of both players. Their inclusion adds spice to the game, but they can feel cheap or undermine our design goals. We try to make these slightly less effective so that they don’t become a part of the current meta.
High and low skill ships
As a rule of thumb, ships requiring more skill should be more effective.
One of our design goals is for players to start with basic abilities and move on to those requiring higher skill as they learn to play. If skilled players can get the same win rate playing a fleet with lots of random abilities as for one requiring lots of careful thought, then they might as well stop thinking and play randomly!
We try not to let skilled players win every game though - playing fleets with lots of random abilities should still be an enjoyable strategy, and we don’t want less skilled players getting demoralised by lots of losses - or skilled players getting bored clobbering their opponents (at least, this is the theory - it seems that skilled players really enjoy winning lots)!
This might be familiar to those of you who remember the original Longboat - originally this 4 cooldown ship allowed players to keep attacking until they missed or destroyed a ship.
In our playtests this was fine, but the most skilled players could map out where their opponents were hiding in the early game and then carefully damage every ship without missing or killing any of them - potentially landing 10 hits or more!
While immensely fun, this felt a bit crushing when you were on the other side of it, so we’ve limited the ship to 5 shots - still making it one of the best ships in the game, but keeping it feeling fair for everyone.
FEEDBACK
Despite my very best guess-timat-uition, initial ship designs are almost never balanced! There are a few ways we keep an eye on new ships.
Playtesting!
Until recently, playtesting was carried out on paper or via spreadsheet (Google Sheets being the digital swiss army knife!). This is great for saving on code time, but games typically took 5x-10x longer than they’d take if played digitally, and errors were quite common.
Nowadays we tend to take promising designs directly to a small group of testers in a special version of the game, which makes it much easier to get valuable feedback!
Some designs need several iterations before they’re ready to go live, and we’ve had a few cases of ships needing to go all the way back to the drawing board.
Community
BattleTabs is fortunate enough to have a wonderful and highly active community on Discord. One of the best ways to find out how the community votes is just to keep an eye on the conversation! BattleTabs even has a community tier list, which is fascinating for us, and always sparks interesting discussion!
Observation
My personal opinion isn’t worth all that much more than that of our more experienced players, but there’s always things you can spot from just playing the game! Are experienced players all using the same ships? What about your own strategy? Does it seem unbeatable? Are there any ships you just don’t think are ever worth playing?
WHAT’S NEXT?
At the time of writing we’re testing a few interesting new ships that we can’t wait to try out, and we’ve a list of literally hundreds to mull over!
Each new ship is a huge team effort that wouldn’t be possible without our incredible community.
Balancing an evolving game is a sisyphean task; but the less we need to step in and make changes, the more confident we can be that we’ve got it right.
FURTHER READING!
If you’re interested in game balance, then I’d highly recommend Jaime Griesmer’s talks on the balance of the early Halo games.
I’d also recommend this seminal talk from Blizzard in 2008:
And lastly, a take on balancing fighting games. I’d highly recommend all the design analysis on this channel!