Game Dev Tip #1: How to make changes to gameplay without screwing up existing balance

Most game designers tend to just modify the parameters of the entities (the objects, items, creatures, abilities, etc) of their games arbitrarily, in an undisciplined way. They just freely change each parameter however they want, and believe (falsely) that the only part of the game’s balance that will consequentially change is the specific thing they modified.

However, this is actually not a safe way of making changes if you care about preserving a game’s carefully calibrated pre-existing balance. Many changes have unexpected effects. It is a common experience among game designers that after making a bunch of seemingly simple changes the balance of the game seems to have shifted in a frustratingly unpredictable way. Luckily though, there is an easy way to often greatly reduce this effect.

The key is to understand that additive changes to the parameters of groups of entities destroy the balance among those entities whereas multiplicative changes do not. The reason is because balance and contrast are always relative, not absolute. How big or small a number is means nothing in isolation.

For example, suppose that you are designing an RPG where the player character is a knight and at some point in the game they have to fight a skeleton monster. Suppose the knight has 100 hp and the skeleton monster has 50 hp. Suppose the designer wants to increase the hp of both so that the battle lasts longer, but wants to otherwise preserve the existing balance between them.

Suppose the designer wants the knight’s hp to now be 200. Many game designers would try to do this by adding 100 hp to both the knight and the skeleton, but to do so would be a mistake. The ratio of knight hp to skeleton hp before the change is 2 to 1, but if you added 100 hp to both then it would change to 4 to 3 (i.e. 1.3333…).

The correct way is to multiply both the knight and skeleton hp by 2. More generally though, if among n entities whose parameters are P1, P2, …, Pn-⁠1, Pn you want to change Pk to X then all of P1, P2, …, Pn-⁠1, Pn should be multiplied by X/Pk instead of just setting Pk = X.

This game dev tip is an excerpt taken from a small book I wrote. You can find more information about the book here on my website.