Artillery Duel & Firing Solutions

A two-player cannon duel with wind, plus the firing-solution maths: every level target has two angles that sum to exactly 90 degrees.

Player 1 to fire 0 — 0
degrees
m/s

Firing solutions

Give it a target and it returns every angle that reaches it. In still air there is almost never one answer.

m/s
metres
m above the gun

Two angles, and on level ground they sum to exactly 90°

Aim at something on your own level and there are always two answers: a flat, fast shot and a slow lob. The pair adds up to a right angle every time — 27.42 and 62.58, 15 and 75, 40 and 50. Checked across 118 speed-and-distance combinations, the worst deviation from 90° was 0.0000000000001°.

ShotAnglesSumWhat it means
60 m/s at 300 m 27.42° and 62.58° 90.00° A level target well inside maximum range: two shots, and they sum to exactly 90°.
60 m/s at 360 m 39.41° and 50.59° 90.00° Almost at the 366.97 m limit, so the two solutions have closed right in on 45°.
60 m/s at 250 m, 60 m up 38.55° and 64.94° 103.50° A target 60 m up: still two shots, but they no longer sum to 90°, and the flat one arrives while still climbing.
60 m/s at 300 m, 200 m down 69.55° A target 200 m below — further down than the 122.6 m a level shot would drop over 300 m — so only ONE angle reaches it, and it is the lob.

The lob takes about twice as long to arrive and climbs several times higher, which is the whole practical difference: the flat shot gets there first, the high one drops in behind cover. Push the target out to maximum range and the two angles converge on 45° — at the limit there is one shot and no choice at all.

The count changes with elevation, and the threshold is not the horizon. A level or raised target has two solutions or none, never one. A target below you keeps both answers until it drops past the flat-fire drop, g·R²/2v² — how far a shell fired dead level falls over the same distance, 122.6 m at 60 m/s over 300 m. Below that line even a horizontal barrel throws the shell over its head, and only the lob is left.

45° is the best angle only on level ground

The most-repeated fact in projectile physics is a special case. Fire from a height and the best angle drops; fire at something above you and it rises. The exact rule is ½·arccos( g·h / (v² + g·h) ), which gives 45° only when h is zero — verified against a 90,000-point sweep of the true range at every height, agreeing to 0.0005°.

Gun positionBest angleMaximum range
100 m below the target 65.11° 118 m
50 m below the target 52.06° 199 m
20 m below the target 47.44° 234 m
level ground 45.00° 255 m
20 m above the target 42.91° 274 m
50 m above the target 40.28° 301 m
100 m above the target 36.82° 340 m
200 m above the target 31.96° 409 m

At 50 m/s the level maximum is 255 m. From a 100 m cliff the best angle is 36.82° and the shell carries 340 m. Shooting at something 100 m above you it is 65.11° for only 118 m. Height is worth more than angle, and the angle you want is never the one you were taught.

Wind breaks the 90° rule outright

Everything above is a vacuum rule. Add a 3 m/s² tailwind and the two angles that hit 300 m become 23.15° and 83.85° — a sum of 107°, not 90. Maximum range at 60 m/s goes from 367 m at 45° to 496 m at 53.5° downwind, and collapses to 272 m at 36.5° into the same wind, which puts a 300 m target out of reach entirely. The game above rolls a fresh wind every round for exactly this reason: the arithmetic gets you close and then you have to look.

How to use

  1. Set an angle and a muzzle speed, then fire across the terrain.
  2. Watch the wind reading — it breaks the tidy 90-degree rule.
  3. Use the firing-solutions panel to work out the angles for any target.
  4. Compare the flat shot against the lob: same landing point, very different flight.

Frequently asked questions

Why are there two angles that hit the same target?

Because range depends on the sine of twice the angle, and the sine of an angle equals the sine of its supplement. A flat fast shot and a slow lob land in the same place. On level ground the two angles always sum to exactly 90 degrees — 27.42 and 62.58, or 15 and 75.

Is 45 degrees really the maximum range?

Only on level ground. The exact best angle is half the arccosine of gh divided by v squared plus gh, where h is how far the gun sits above the target. From a 100 m cliff at 50 m/s it is 36.82 degrees; shooting at something 100 m above you it is 65.11.

When does a target have only one firing angle?

When it sits further below you than a level shot would drop over the same distance, which is 122.6 m at 60 m/s over 300 m. Below that line even a horizontal barrel throws the shell over its head, so only the lob is left. A level or raised target always has two solutions or none.

What is the difference between the flat shot and the lob?

The lob takes about twice as long to arrive and climbs several times higher for the same landing point. The flat shot gets there first; the high one drops in steeply behind cover. At maximum range the two merge into a single 45-degree shot.

How does wind change the firing solution?

It breaks the symmetry completely. With a 3 m/s² tailwind the two angles that reach 300 m become 23.15 and 83.85 — a sum of 107 degrees, not 90 — and maximum range at 60 m/s rises from 367 m to 496 m. Into the same wind it falls to 272 m and the best angle drops to 36.5 degrees.

How far can a projectile go?

On level ground, muzzle speed squared divided by gravity. At 60 m/s that is 366.97 m, so a round 367 m target is already out of reach. Firing from a height buys extra distance and lowers the best angle at the same time.

Is air resistance included?

No. The trajectories here are vacuum trajectories with an optional constant crosswind, which is what makes the tidy rules exact. Real drag shortens every shot and steepens the descent, so treat these as the ideal case.

Does this send anything anywhere?

No. The game and the solver both run entirely in your browser.

🔒 This tool runs entirely in your browser. Nothing you enter is uploaded, logged, or stored.