If you have ever played a competitive first person shooter you may have heard people refer to “hitboxes.” A hitbox is designed to compensate for movement of a character, lag experienced in network play and register hits from enemy projectiles to help the game figure out how much to damage a player. A player model will have several bounding boxes that cover the in game model. These are mainly partitioned around various body parts such as the head, chest, arms, legs and stomach. And while there are certain genres of games, such as fighters like Smash Bros and Soul Calibur, that differentiate between a “hitbox” (a zone that does damage) and a “hurtbox” (a zone that takes damage), for the purposes of this article, we’ll be discussing “hitbox” as a catch-all for where game models take damage.

 

Problems Within Gameplay

Some games try to implement low profile hitboxes to attempt to match the 3D model in game, although there are some issues when doing this. One of these issues pertains to core gameplay experience. If the hitbox on an enemy is too small, this translates to making targets more difficult to hit. Mixing that in with online multiplayer and lag compensation, having targets that are harder to hit will be a detriment to gameplay and will lead to further frustrations with the player. Another issue is trying to maintain a balance between the weapons in your game, whether they are hitscan- or projectile-based, and having a hitbox that can suit the games arsenal without any balancing issues.

Balancing gameplay becomes especially tricky if your game has many models that differ in shape or size and if you have different outfits or items that attach to a player model. Rainbow Six Siege has this problem, although balancing issues have been mostly ironed out over the months. The reason for this is some characters wear unique helmets or armor that will decrease bullet damage by many different variables, and sometimes requires more than one shot to inflict meaningful damage. It can getĀ even more frustrating because Rainbow Six Siege is an online competitive game, so you have lag compensation to deal with on top of hit registration. A developer must work around these issues by designing a hitbox that doesn’t impede on gameplay experience but at the same time accounts for online play.

In a classic game such as Quake 3, hitboxes are much bigger than ones found in more modern games. Due to the faster gameplay style of Quake, the excess in size of the hitbox is much more suited. It is less noticeable due to the speed of gameplay, also much more flexible when the game was developed due to the excess of projectile based weapons which include splash damage on top of direct model damage.

 

Problems with Performance

A close comparison to model perfect hitboxes would be that of physics demos, where those demos are designed to show the accuracy and performance of pixel perfect destruction. The problem in most cases with having model-perfect hitboxes is that it can be a hog on performance. This is why many games will opt for several specific points that are overlayed with the in game model to represent damage areas as close as possible with the least complicated design. Just like physics destruction in games of similar nature (Battlefield/R6 Siege), having something that matches the model and being as accurate as possible will only serve to ruin the performance of your game. The same philosophy can be applied to FPS games.

 

Counter Strike Global offensive hitboxes have changed over time, and are very accurate to the model of the player. Due to the use of dedicated servers and a competent netcode, this is not too much of a worry for Valve.

 

An alternative method of approximating game models to form a hitbox is to use “constructive solid geometry.” The idTech, Unreal, and Source Engines allow for this to be done. CSGO is popular because it can allow a level designer or model artist to create very complicated geometry with the intersections of simple objects/shapes. The idea is to merge two or more shapes as a “union,” for example a cube and a sphere. From this union of shapes you can either use the “difference” of one shape from another or use the “intersection” area that is common to both shapes of the union. The only issue you may run into with this method is that CSGO may lead to a messy model, although with further optimization it should be easy enough to clean this up for release.

 

Hitboxes within Fighting Games

Close to accurate hitbox models may work well for first person shooters but in 3D or 2D fighting games there are some differences to consider. Hitboxes in these games will usually be very rough and smaller than the games graphics to allow for much more flexibility when balancing the gameplay. Another reason behind this is satisfying gameplay. If for example hitboxes were model/graphics-accurate in non-FPS games, then the player may get a very strange experience. If hitboxes are not accounting for gameplay balance, and are instead focused on sizes then the overall experience will be dissatisfying for the player. Also on top of this it will be much harder to balance.

This is showing how hitboxes are overlayed in Skullgirls – You can see that they are rough and more fluid to help when balancing gameplay rather than matching models/graphics exactly

 

In Conclusion

Players will at times notice the effect of strangely shaped or exaggerated hitboxes. In some instances it may need to be addressed if it affects gameplay balance. Within a single player game where you only account for one player who is offline, you have much more freedom when it comes to hitboxes. Since you are accommodating for only one perspective and no lag, model perfect hitboxes are more common for these sorts of games. Although in comparison to an online game a developer needs to find a reasonable compromise between accuracy with player model and optimization with boundary/hitbox formation. Whether you accommodate for projectile weapons, hitscan or sometimes both. In the end it’s about keeping up the illusion for the player without losing quality within gameplay.