2026/08

Massive Tactics - Bipod Theory

massive-tacticsdev

Overview

In general, bipods come in two flavors in most first person shooters:

Entirely passive - The bipod is just a bonus to accuracy and a pretty mesh.

Fixed deployment - You press a button, if there's a valid surface the bipod deploys and fixes you to the position. Moving disables the bipod, meaning to adjust you need to keep redeploying it until you find the right spot.

However in the past few years (And possibly earlier?) we've seen some games leaning towards a new system:

  • Deploy the bipod.
  • If on a valid surface, aim rotates the user around the bipod
  • If not, it rotates around the user as usual
  • Walking or standing up doesn't undeploy the bipod, but if there's no valid surface you don't get the bonus.

For Massive Tactics, we really like how that system feels. Players can more easily adjust their position, we can have effects like the bipod tilting the player if they deploy on an angled surface, and it generally feels more 'realistic', whatever that means for a game with flat shaded triangle terrain...

Implementation

Implementing it is a bit more involved than the existing systems we mentioned first:

  • We need to be somewhat continuously raycasting, on both client and server, to let the user and the simulation know when their bipod is deployed or not, and to decide when it should no-longer be deployed.
  • We also need to test for the user rotating around the bipod into walls, objects, terrain etc.

We're currently handling both of those with a short raycast from the bottom of each bipod stand every tick. If they're within a given threshold of each other, the bipod is considered 'deployed', and the user rotates around it. If the user tries to rotate to a position where it would no-longer be deployed, the rotation is blocked. However the player can undeploy the bipod or walk in any direction to break that lock, allowing better maneuverability rather than having to repeatedly issue deploy-bipod commands until they find a valid position in tricky terrain.