Page MenuHomeFeedback Tracker

Artillery pieces fire at the wrong angle in manual mode
New, NormalPublic


When you fire any of the vanilla artillery pieces in manual mode (ie. not using the artillery computer), they consistently fire at a different elevation angle than the one that's indicated in the scope, which leads to systemic inaccuracy. This mostly seems constant per artillery piece, ranging up to around +/- 1.5 degrees error, but in my testing I've also seen them seemingly randomly become accurate or extremely inaccurate (8+ degrees of error) for seemingly no reason. 1.5 degrees may not seem like much, but it can easily represent hundreds of meters of inaccuracy at medium-to-long range.

I discovered a lot of these issues while trying to script my own artillery computer. I would get solutions that look correct and match up to what the in-game artillery computer seems to report, but would miss the target in a way that's not explained by dispersion.

There are a few ways to see this in action. First, you can try targeting things with the built-in line-of-sight computer. This is where I've seen the most variability; sometimes the calculated solution will be completely accurate, sometimes it will be laughably inaccurate. In fact, as far as I can tell the *solution* is always accurate; it's just that the actual fired projectile will not fire at the angle that the in-scope elevation indicator indicates. For whatever reason, this is where you see a lot of those 8+ degree errors.

Second, you can try to fire rounds from the artillery computer, then fire in manual mode without adjusting your aim. This will consistently result in two different grouping despite the fact that the projectile *should* be fired at the same place. Again, as far as I can tell the *solution* set by the artillery computer is correct (as in the displayed elevation should result in you hitting the target), but the projectile actually fires at a different angle, resulting in a different hit.

Finally, I've written a script to calculate the actual angle of the projectile when fired, which frequently ends up being a different angle than the one displayed in the scope. This number always seems to be consistent with how accurate the actual aimed shot is (ex. when it's incorrect, I over or undershoot my target).

On top of this, the SPG artillery pieces (all but the mortar) exhibit different error depending on which direction you fire relative to the vehicle. In other words, using the same fire mode and elevation angle, your shell will go a different distance depending on whether you shoot over the front or the rear of your vehicle. This appears to be because these vehicles have a small (~1 degree) "tilt" to them in rest, meaning that it's like you're on slightly slanted ground even when you're on flat ground (tested on the flat pavement at the Altis airport).

Here's some data I recorded firing at different elevations and in different directions. This is the consistent error I've seen, and does not reflect the occasional erratic errors.

Maybe related to

Testing done on 1.82 stable without mods


Operating System
Windows 10 x64
Steps To Reproduce
  1. Create a new mission on Altis and place a crewed mortar on the flat pavement at Altis International.
  2. Play as the crewman, hit right click to use the scope, and pan around until the X in the middle of the screen disappears.
  3. Use PgUp/PgDn to adjust your elevation until the ELV indicator matches the REL indicator.
  4. Fire a shell or two and observe the impact. It is likely to be inaccurate.
  5. Repeat at different locations and using different fire modes (F). Most shots should be slightly inaccurate, some may be accurate, and some may be wildly inaccurate.
  1. Using the same set up, open up the artillery computer and select a target in range.
  2. Wait until the Fire button turns white, and fire several shells. Hit Esc to exit the computer, and fire several more shots without moving your mouse.
  3. Use the Camera or Spectator to observe the target location. You should see two distinct groups of explosions. If you don't, try again with a target at a different range or with a different fire mode.
  1. Download and play this mission:
  2. Get in an artillery piece, set an elevation angle using the scope and PgUp/PgDn, and fire.
  3. The angle of the fired projectile will appear in system chat. It will likely be 1+ degrees different from the displayed elevation.
  4. Using the Scorcher or either of the MLRSs, try firing in different directions without changing your elevation. You should see significantly different numbers appear in system chat, despite the displayed elevation being the same. This will not happen in the mortar.
Additional Information

Code used to get projectile elevation angle:

angleToHorizon = {
  90 - acos (_this vectorCos ((_this select [0,2]) +[0]));

this addEventHandler ["Fired",{
  systemChat str (vectorUp (_this#6) call angleToHorizon);
  _this#0 setVehicleAmmo 1; 

Event Timeline

Managed to capture footage of the erratic 8+ degree error issue. In this video, for whatever reason changing my mortar from ~61.2 degrees to ~61.4 and back results in a massive ~11.3 degree change in the actual projectile trajectory. This change is big enough that it can easily be seen, and there are clearly two distinct groupings captured by BIS_fnc_traceBullets.

I would note that this behavior is extremely erratic and not readily reproducible. I think it might have something to do with the manual artillery computer interfering with the projectile so it might have to do with where your scope is aiming.

darkChozo changed Severity from Major to None.Apr 14 2020, 9:22 PM