An explanation of Arma 3's ballistics modeling: everything that happens when you fire a gun
Authentic ballistics modeling continues to be a distinguishing aspect of Arma. But even though I've dumped hundreds of hours into the game, I realized I couldn't identify all the things that the system simulates. To alleviate me (and you) of this ignorance, I asked two of Bohemia's leads to break down what variables go to work when you pull the trigger in Arma 3.
PCG: Some amount of what's being simulated in Arma 3 is invisible to the player. Can you walk us through--chronologically--what happens when the player fires a rifle? From a technical standpoint, what is the game taking into account?
Jay Crowe, co-Creative Director: Actually, we can start even before the shot's been taken. With the Real Virtuality engine, it's often not just a story about the shot itself, but your journey up to pulling that trigger. How much you've been running around and the load you're carrying contributes to a fatigue value. This—together with your stance, breathing, and state of health—affects your weapon sway and, thereby, accuracy. Then, there's the distance to target to take into account—zeroing your weapon or adjusting to compensate for the ballistic curve—plus, leading your target so the projectile ends up where you wanted it to.
Joris-Jan van ‘t Land, Project Lead: And once you do actually pull the trigger, there's a long list of steps in the simulation before hitting the intended target and seeing it ragdoll to the ground. I've actually had to ask programming guru Vojtěch Hladík for the details:
- Check whether the weapon can be used at all (most weapons don't function underwater).
- Apply zeroing to the direction of the muzzle.
- Launch a projectile based on the ammunition type: bullets, shells, missiles, mines, sub-munitions, flares or countermeasures.
- All behave differently: some have a powered rocket engine, some emit light, some are explosive, etc.
- Add dispersion factors.
- Emit the correct sounds and muzzle flash, based on the weapon and accessories.
- Heat up the weapon (for Thermal Imaging).
- Compute firing visibility and audibility for other entities in the world, based on the weapon and accessories.
- Simulate the flight of the projectile given:
- detected collisions with the terrain, water or objects
- environmental factors: air and water friction and gravity
- correct trajectory and energy computations involving penetration and deflection
- Your target sees the flash from step #5: it's already too late.
Crowe: So, there's a lot of simulation at work behind the scenes and I suppose it might seem pretty complex just to shoot. What we're trying to do with A3 is make it feel more natural—at least, as natural as discharging a firearm might be for any given player—and, through that, find simplicity. Not "taking away" any simulation, but making the experience more fluid or comprehensible. Taking these various simple, little bits of simulation and combining them effectively in a way that's logical and, ultimately, satisfying to master.
Arma 3 will be pre-orderable beginning next Tuesday, a transaction that will grant instant access to the alpha. We'll have a ton of coverage hitting on the 5th, and look for our entire interview with Jay and Joris (who should probably consider forming a quaint folk-rock duo) over the weekend.