Monthly Archives: August 2012

Thoughts about balancing games: how to create a really big mess

Balancing games is interesting. It’s hard work. And difficulty of balancing follow the formula that I just invented:

Difficulty of balancing = Links between things ^ 2

For example, if I have a game of rock, paper and scissors. It’s pretty balanced: all of these attacks are equally good (well, of course rock always wins) – only the human factor brings slight variation on what is the best way the win (yes, there’s books written on subject: there’s some amount of skill that can be applied even in game of RPS)

Anyway, for the sake of argument, let’s agree that rock, paper and scissors is balanced if we look purely at their powers: each one wins 1, ties 1, loses 1.

Now, if you want to add a shotgun there as the 4st item. That means you gotta think how shotgun relates to 3 other things. But that’s not enough, after you got this figured out… you still need to rethink all 3 other objects that were linked to shotgun AND then also think how these affected objects affect other objects.

So, you cannot just say: “shotgun wins RP but loses S” to create a sensible game.

Since shotgun affects R, P and S, you must then look at these items too:

“okay, if shotgun wins R, should R then create tie with P?”

At this point you wanna use Excel or draw charts as textual description won’t be sufficient.

But the point is: “just adding a feature” immediately leads to following things:

  • Something will mess up
  • That something can be a bug that appears (like said, the more connected the object is the bigger chances there will be bug somewhere. This is one reason why programmers like to minimize the amount of connections between modules. If everything is linked to everything else, one change is a big mess)
  • That something can result in unbalanced stuff somewhere else (as pointed out: it’s not only links between NEW object to OLD objects, it’s also links between OLD object to other OLD objects)

Balancing is interesting and hard work, and requires healthy amount of *thinking*.

I made the decision to reduce the number of cards from 150 to 108, which helps fit cards in a small tuckbox (which reduces shipping costs, makes it more convenient to carry etc), but it also meant I needed to change some links. And the changes of these links caused me the need to change other things. It requires quite a bit of work, and I’m cleaning things one corner at time – and testing over and over.

My game isn’t a mess now, it still works even after link ends were changing. I know what’s going on there. I can see all corners, and I can move things. Just giving people a headsup on balancing: “small change” here might mean big change there.

To put it in other words: don’t even think about doing “minor balancing effort” or “just small feature” and uploading your game without testing it.

Something will break.