With more and more games coming out every year I feel like it’s been a lot easier to notice dogmatic game design. There have been a ton of great games and innovations in the last few years, but as noticeable as the things that are changed are the things that are kept the same almost as a rule. One of the trends I’ve noticed is that almost every combat system has shifted to being based around health and damage that has decimal places. Rather than the 12 starting health of The Legend of Zelda (3 hearts divided into 4 pieces) most combat systems assume the player starts at 100 health or possibly even 100.0 health. While technically combat systems based around a health of 100 for the player isn’t using decimals, for the sake of this article any combat system that asks the player to track damage values on a scale of 1-100 at any given moment is considered a floating point combat system regardless of whether there are literally decimals or not.
Integer Based Systems
The reason this trend is interesting to me and why I want to talk about integer based combat systems is directly because more and more games are coming out each year. This means that many more games are vying for the attention of roughly the same number of game players. The trend toward more complex games and more granular, scaling health/damage makes a lot of sense for the players that are used to more simple combat systems. However, this was always a decision to target the niche of experienced and dedicated players. This makes sense when those people are vying for more games and more complex systems. With the types of players becoming more varied as games become more accessible, it makes the assumption of targeting experienced players make less and less sense. There is no doubt that health that scales from the hundreds to the thousands asks a lot more of a player than health that scales from 12 to 32. So why pick an integer based system over a floating point based system?
Integer based combat systems have several benefits that are unlikely to be achieved through floating point systems. The first is that the visibility into the systems of the game is far greater. It is much easier to count in your head as a play for both health and damage, it is easy to learn the damage that certain enemies or weapons do, and it is easy to notice progress. These things make the player more confident in their decisions, require very little exposition or training, and can be intuited by new players, young players, and even viewers looking over a player’s shoulder as they play.
The second is that it encourages behavior that respects these systems. When you limit yourself to a relatively small and simple health pool, you limit the values that can be done in damage as well. Assuming the player has 10 health, this means that there is a significant difference between one enemy that deals 2 damage to the player per hit and two of those enemies. The player reads this situation the first time they get hit and will act accordingly. This means that players will guard each health jealously and respect the situations you present to them. Floating point systems have a tendency to scale through damage, damage resistance, and health. This means that players are far more likely to play “by feel” than by seeing the damage, armor, or health values. This makes the player disengage from the systems and rate their performance by results rather than strategy. If your game is more about skill than strategy then this isn’t an issue, but the assumption that a floating point combat system is right for your game is entirely dependent on which side you fall on, strategy or execution based engagement.
Flat Math Systems
One of the best ways to codify the difference between integer based systems and floating point systems is to consider the differences between flat and scaling systems. Flat math means that values increase but never become much greater than the starting values. The example of health from The Legend of Zelda shows that from the start of the game with 12 health your gameplay experience is very similar to the potential end of the game health of 32. You’re roughly 3 times as healthy, but most of the progression of the game comes from gaining more resources and more utility to overcome specific situations. By comparison some games will start you at 100 health at the start of the game and let you end the game with many times that amount, sometimes in the 1000’s.
These elements to integer combat systems make them very engaging for new games, potentially by relaxing for experienced players. It also shifts the focus from results and player skill towards the systems of the game and how the player decides they want to interact with those systems. Before diving into some best practices for this kind of system I’d like to talk about some of the most noteworthy games that employ this kind of systems design.
The Zelda series is one of the most important to discuss when talking about integer based combat. The series has kept a heart based health bar with each health divided into 4 parts. This accomplishes many of the things discussed, it is easy to learn, it’s easy to track damage done to the player, it makes it very clear when you progress, and the player needs to be careful about how it approaches combat situations due to the relatively low survivability. It's also important to note that this game came out in 1986 on a system with comparatively few buttons compared to today and to a market that had never seen games as complex as those releasing regularly today. This meant that people could easily be onboarded into this game world and the game’s systems. With a small amount of trial and error the player would understand the bounds of the game and begin thinking about how to overcome any challenge they were presented with.
Dungeons & Dragons is a tabletop role-playing game that has been growing each year right alongside the video game industry. It has been influenced by video games as much as the tabletop game has influenced the games being made. The D&D combat system has always existed as one small system in a sea of other gameplay systems. From resting, followers, climbing, leveling, lockpicking, grappling, to the magic spells that permeate the game, this game never wanted to be a game about combat. With a set of rules and systems interpreted by a living referee, the game had the ability for even the most unlikely of plans to have a chance at success. There were not only a large number of systems at play, but there could easily be as many or as few as the players wanted there to be in their game. The shift from focusing on the combat allows all of these different forms of playing to be allowed to exist. The combat system was numerically simple, was based on low value probability, and elegantly served its purpose, to add the threat of consequence to the players actions and encourage the players to come up with solutions to problems rather than rely or violence.
Magic: The Gather is a collectible card game where players build their own decks and attempt to deal 20 damage to their opponents by playing cards with their main resource, mana. Each creature card has an attack power and a toughness value and when a card blocks another they compare the opponents power to its toughness to see if the card dies. This basic element compared to the rate and way that cards and mana sources are played makes the game a highly varied game with a very simple combat resolution system. Again the focus of the game becomes strategy. There’s very little change on a card by card basis but the subtle elements of each new card and each deck construction allows the players to have nearly infinite variation and tons of ways to engage with the basic combat elements of the game.
With each of these systems in mind as good examples of these kinds of combat systems, there are a few main elements to these systems to consider when choosing this kind of system. The rule’s I’d like to propose are the rule doubling/halving, the rule of maximum scaling, the rule of rounding, and the rule of percentages.
The Rule of Doubles and Halves refers to two elements of the system, one is that doubling and halving is a very easy thing for players to notice. So for instance if the first two enemies of your game have one doing twice as much damage as the other at half the speed then the player will easily understand the relationship between those two enemies and how they each relate to the player’s health pool. The other element of the rule of doubling and halving is in regard to balance. In a system like this, there will be a correct value for the feel that you want out of the game. The best way to find that value is to notice when a value is either too high or too low and then try halving or doubling the value and see how it affects the game-feel.
The Rule of Maximum Scaling refers to limiting how much progression there is in the game so that each step of progression remains meaningful throughout the game. This may seem obvious, but this also means that linear scaling in an integer system is likely for the best because of how large numbers affect the player experience. So it is best to have a limit and don’t have that limit be so high, it may as well not exist.
The Rule of Percentages is relevant for all elements of combat systems but is especially relevant when part of the engagement with the game is understanding the systems intuitively. Players, and people in general, have a hard time with percentages. While it isn’t conscious or deliberate, people will routinely see 40% but interpret this as 50/50. They will see 70% of their health disappear and will claim they almost died. It doesn’t matter if how they feel is literally true or not, it is how the player feels and you are designing a system to be played. When you plan enemies, traps, weapons, and any other elements of the system, think about how these things relate to each other, but also think about how the player will interpret them rather than just the reality of the math.
The Rule of Rounding is the choice to round either in favor of the player or against the player. An easy example of this is if the player has 50% damage resistance and they take 3 damage. Do you make the player take 2 damage or 1 damage? This same question applies for when the player does damage. One thing to consider here connects to the rule of percentages; players will often consider damage around 5% of their health to be essentially “no damage”. If you find this to be true in your game then that is a good argument for rounding in favor of the player since it won’t change the feel of the game much. The way you implement this and if you give the player a way or mitigate this decision is a large part of how combat will resolve in a floating point system.
There’s a lot to consider when picking how the systems of your game will work mathematically but each decision you make will have a strong effect on how the player feels about your game. It really comes down to what demographic you want playing your game, those that seek out action based gameplay with a constant feeling of change and progress or those that want to feel each small achievement and come up with their own solutions to the problems presented in the game.
- Pick a system that matches the feel you want
- Figure out the kind of player your game is for
- Consider how the design of integer based games influenced their success
- Balance the system by halving or doubling problem values to discover the right value
- Have a limit to system scaling so the player can easily track progress
- Figure out if you want to round in favor of the player or not
- Consider the player’s interpretation of your values relative to other values in the system