How Would NASA Balance 40K?

Awhile back, while I was out of the country doing my level best not to get cholera, Val Heffelfinger, whose name crops up on a number of 40K Facebook groups and the like posed a question to me (somewhat paraphrased):

With regards to points and game balance, how do you think someone who speaks numbers might approach the problem of ascribing points values to units in 40k? Like if we handed 40k to NASA and said: make a system that fairly ascribes a relative point value to each unit … How might they approach it?

It’s an interesting question, because while we often talk about game design as an art, there’s also perpetually rumors floating around that somewhere Games Workshop has a secret formula to determine points values. So I thought I’d take a swing at it. I can’t speak for NASA. But I can speak for me.

And I’d like to think my take is at least a little bit relevant. Beyond being a 40K fan, I spend most of my professional life “speaking numbers”. I run a computational science lab, and work on complex problems where we are indeed looking for a “best” solution to something. So I’ll discuss three ways I’d approach the problem, the benefits and drawbacks of each, and then…well…you’ll see where this ends up.

Define Your Terms

This is, I think, one of the most critical aspects to the whole question – what is fair. What is balanced. What is Fair and Bal…wait.

In technical terms, you can think of this as describing your “objective function” – what is it that you want? And this can be surprisingly difficult. For example, on a project I worked on, several people on the team were focusing on the most efficient thing to do, the one that would involve doing alright for not very much money, whereas from a public health planning perspective, the goal was to save the most lives given the maximum amount of money you were allowed to spend. It’s a pervasive problem in the way we think about the world. Joe Haldeman’s The Forever War is essentially about this idea – what if two sides have very different notions of what it means to “win”.

And we’ve talked about this a little bit with balance in the past – what does “balanced” mean? Do you want everyone to have an equal shot at winning every game, assuming they and their opponent are at the same skill level (the “coin-flip” approach) or is it alright that on average over many games each army wins roughly the same number of games (ala rock-paper-scissors). You have to know that before you can optimize for it, and honestly, I don’t think there’s a clear answer there. But lets assume for the moment that we’ve figured that out.

The next question is under what circumstances? For example, does the game have to be balanced at all points levels? Or just 1850? Or 2000? Or 500?

But again, lets assume we’ve figured that out, and that “Any army of 1750 points should have a 50% chance of beating any other army with 1750 points” is indeed what we’re shooting for. The specifics don’t actually matter for the rest of the discussion here, but they matter a great deal in real life.

The Statistical Approach

This is the most straightforward, and the one that people mean when they talk about there being some sort of formula. And statistics are super-powerful for uncovering the relationships hidden in your data. In this case, the points values, and the properties of a given unit.

In essence, the idea is you build a dataset of every unit, in every codex. You include their stats, points values, etc. and then you can use a number of approaches (most often linear regression in this case) to obtain something like this:

Points = 3 + 1.26(M) – 4.83(WS) – 2.22(BS) + 7.93(S) etc…

And, for any given model, you can just plug in their statistics and go from there. In this entirely made up, incomplete example, a tactical Marine would be 3 + 1.26(6) + 4.83(3) + 2.22(3) + 7.93(4) = 21.13. There are negative values for WS and BS because those are better as you go lower, but you get the general idea. Of course, that formula would be much more complicated. You’d have to include the entire stat line. Plus likely the properties of the default weapon and equipment. You’d have to make sure all the relationships are indeed linear (rather than something being based on Strength^2 for example). I’ve often been tempted to try this, and managed to do it relatively successfully for Shadow War: Armageddon for translating units from a 7th ed. Codex into SW:A units. And I thought I might be able to pull it off for “Index 40K”, but never got the time to try.

But there’s two problems: complexity and interaction.

Complexity: Unit stats are easy to describe. Strength 4 vs. Strength 5. Two wounds instead of one. But then you hit special rules. This was tricky when we could mostly use USRs. Now it’s maddening. Can you call two units that can both deploy from reserves as having the same rule for the purpose of the data, even if they’re subtly different in their wording (for example, the different between Imperial Guard Scout Sentinels and Eldar War Walkers)? Can you get away with just using the number of special rules a unit has, and assume that they all come out in the wash? What about units like Dark Reapers, whose primary utility comes entirely from a single special rule? What about units that degrade – do you treat them all equally, as compared to those that don’t?

But I think this merely makes the problem hard, not impossible.

Interaction: Interaction is the problem. Warhammer 40,000 is a game of synergy, and the value of units isn’t the value of them on their own. A Guard infantry unit isn’t valuable because of its power – it’s valuable because it’s one of the most inexpensive ways to fill out a Brigade detachment to serve as a CP battery. Which in turn makes a Blood Angel unit better than it would be alone. A Eldar Warlock is…not particularly dangerous. An Eldar Warlock juicing up the right unit is deadly. Some units can stand on their own, and some units enhance others.

And expressing that statistically is very, very difficult.

And the notion of boiling units down to a statistical formula posits that points could somehow deal with that – that an arbitrary 2000 points is the same as another arbitrary 2000 points. I’m not sure that’s possible.

The Computational Approach

Also known as “throw a supercomputer at it”.

We’ve been teaching computers to play games. Chess, Go…in principle, you could teach a computer to play 40K. While technically a three-dimensional game, most of it can be expressed on a two-dimensional grid. The rules are relatively easy to express in computation (that’s the underlying bit that most of my ‘Let’s number crunch a unit…’ posts rely on). You’d also need to teach the computer how to build lists – ironically, probably the easiest part of the whole thing.

We’ll handwave the actually act of teaching a computer to play 40K, and assume you can do it. At my guess several fairly impressive doctoral projects would probably emerge from that work if you approached it the right way.

But lets say you do that.

You then have the computer play itself. Thousands upon thousands of time. You incentivize the list selection and gameplay algorithms to favor winning units and winning strategies. And you watch. You let the machines uncover the edge cases. You notice that they keep taking as many Dark Reapers as they can manage. You notice 0.04% of the lists include Vespids. You look at whatever objective function you decided on – 50/50 winning chances, 50% victories overall, or some portion of those. And you tweak the units in the synthetic game until you get close to that.

And then you’re done.

The problem with this? I’ve just described a multi-million dollar research agenda. And I very much doubt their shareholders will be down with a non-trivial percentage of their after-tax profit suddenly being eaten up by a new R&D arm.

…though if I’m mistaken about that, please do get in touch GW.

It’s also not necessarily fast, which is another problem. Games Workshop is currently developing things at a breakneck pace (that’s one of the reasons I’ve been publishing less number-crunching posts, it’s simply become hard to keep up and not feel obsolete by the time I can actually do the analysis). Would they necessarily wait for the Balancing Boffins to finish?

Dodging the Question

My initial reaction to most “How would you balance Warhammer…” related questions is to say “I wouldn’t.”  I think it’s too hard – the number of combinations, and the way they interact, makes the space in which you have to work staggeringly complex. Beyond that, for many people, “close enough” is also good enough. I’d rather a codex with a 40% chance of winning that really captured the feel of my army than one that was right on, but lost that. And the moment you add things like that you are essentially saying that you’re willing to compromise on balance. Which is, I believe, what GW has done. They can’t perfectly balance, but they can get close enough for the game to be functional, and in the meantime they’ve focused on a highly disruptive errata/patching system. Note that in this case I don’t actually consider “disruptive” to be a bad thing – if there is an optimum choice, and I think there always will be, the competitive scene will converge on that choice in time. The solution? Change it before it gets locked in.

I’ve started calling this “the churn”, and I think for a company that’s trying to balance competitive gaming, a narrative universe that’s their primary selling point, and making neat models that make people buy them, I think it may be about as close as one can reasonably manage.

From there, it becomes a question of game stewardship and trying to insulate the non-competitive parts of our hobby from changes meant to address undesirable edge cases in the competitive scene. I’m planning a post on that in the future, but for now…that’s as much on us the players as it is on GW the company.

Again, unless they want to toss me a couple million a year in research funding. Won’t stop them…the new Knight release ain’t paying for itself.

Enjoy what you read? Enjoyed that it was ad free? Both of those things are courtesy of our generous Patreon supporters. If you’d like more quantitatively driven thoughts on 40K and miniatures wargaming, and a hand in deciding what we cover, please consider joining them.

7 Comments


  1. Hey,

    I was somewhat skimming through your text as it is something that always gets me upset in bad games.

    I think it is somewhat clear to the majority that GW is balancing stuff from a reference factional approach. In this case Stormcast und Astartes are mostly the number ruler.
    So no, not the average human. But it could be cheese cakes, it does not matter. They just give a rudimentary frame of numbers.

    Balance comes of opportunity and possibility. This is where nearly all games cross a margin at which they get worse and worse. Seldom they get better with ongoing time.

    Why is that? You cant have a formula for situational decisions of actors. But looking at the ruler or the number frame of you game, most companies want to sell stuff. The longer a game stays out, the more starved a company gets. So they bring better units (and they know they are not balanced) to grab the cash…a bit like a better guaranty to win a game.

    After a while the better companies revise the number framing and adjust the ruler with a new ruleset. Thats what GW does.

    Numbers shift and so does faireness with each edition.
    Skills come and go. Its also a good way to generate income, to push things so people stray off and start buying different things and start new armies.

    Reply

  2. I don’t think it would be possible to really nail it down. There are too many things that are situational, even beyond special Rules. How do you find a points value that will balance an army of nothing but Lasgun-armed Guardsmen against both a Gaunt swarm and Imperial Knights or an Armoured Company? Or an Army maxed on Lascannon in both of those contexts? Or force-multiplier Units/options? As you mention, a Warlock is pretty weak on its own, but can make another Unit vastly more powerful. And then balancing those matchups across all the different varieties of Scenario that are possible would be, I dunno, probably at least a couple of orders of magnitude more difficult.

    The statistical approach seems to be completely out of the realm of possibility to me. On top of the situational issues, there are so many Rules that are nigh-impossible to accurately quantify, many of which are themselves situational. Even for some of the ones that can be quantified in some ways, like Weapons with random numbers of shots or damage, the variability in their performance is so wide that it can’t really be accounted for. A Battle Cannon or Flamer is worth far less if you happen to roll nothing but 1s for the number of shots than if you happen to roll 6s all game, and still significantly less in more likely situations, such as if you average 3 shots per firing vs. averaging 4 shots per firing.

    The iterative computational approach sidesteps some of those issues, and could probably eventually come up with something significantly better than the current system, but there are still so many things that are so variable in their value that I find it hard to believe it could come up with a system that truly captures their value across all situations in a single number.

    Reply

    1. I agree, I think that, post-Index 40K at the very least, the statistical approach is impossible. I think the computing approach is “merely” hard enough to not be worth it.

      Reply

      1. Yeah, the computational approach may or may not be strictly possible, but it’s pretty clearly not feasible to actually do, given the resources involved for a relatively small improvement in game balance.

        Reply

  3. I’ve gone down this route of thinking too regarding balance. Although I’m not equipped to write about it at all. You’ve done a grand job!

    I think it’d be interesting to see how you’d balance just two units. Eg assign a points value to a Marine Squad versus a Guardian Squad. To see a) just how complex it is and b) if it’s even possible with two relatively simple units.

    Reply

  4. Really enjoyed this article. Thanks for writing it.

    Reply

  5. I like the simulation approach, training a neural net or something. I’m hoping that one day the machine spirit will figure it all out and just tell me what to paint.

    I don’t think multi-million. But I didn’t get to the neural net part yet, which I guess maybe is the hard part. (It also doesn’t know about list building or how to spend command points, or even how to get in and our of rhinos…well, maybe you’re right after all.)

    Here’s a link to a limited version of the simulator!
    http://www.aurumvorax.com/40ksim/do-battle.php?battle_type=assault&num_matches=1&unit1=15-bc-axe-wgpl-th.txt&unit2=30-boyz.txt

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.