The infamous "bombard cannons don't fire" issue

:arrow_forward: GAME INFORMATION

  • GAME BUILD #: The current one
  • GAME PLATFORM: All
  • OPERATING SYSTEM: All

:arrow_forward: ISSUE EXPERIENCED

All ranged units, including Bombard Cannons, will trigger their reload period if firing is interrupted before a projectile is launched. This can happen because another command is given (like move, or even to fire at the same target they are about to fire at) or because the target dies.

:arrow_forward: FREQUENCY OF ISSUE

  • 100% of the time TheViper makes Bombard Cannons

:arrow_forward: REPRODUCTION STEPS

Here’s the steps to reproduce the issue:

  1. Make a bombard cannon (really easy to see with trebuchets though because firing delay is so long and animation is so obvious)
  2. Make sure it is ready to fire, such as by putting it on no-attack stance
  3. Quickly click more than once on the same target.

:arrow_forward: EXPECTED RESULT

The bombard cannon fires at the target.

:arrow_forward: ACTUAL RESULT

The bombard cannon does not fire at the target.

:arrow_forward: IMAGE

Do you really need me to find a video of TheViper saying “why does the bombard cannon not shooooooot!!!” ?

:arrow_forward: GAME FILES (SAVE / RECORDING)

I don’t even have AoE2 DE, I’m reporting the bug for other people.

Note: if it would look silly to spam right-click with a trebuchet and it continuously repeats the start of the firing animation, maybe on a ‘false start’ with no projectile being fired you could reset the attack cooldown to a small fraction of the firing period, like 1/5 or 1/10. So when TheViper clicks a bombard cannon onto a trebuchet 3 frames after it has already stopped and started to fire at that trebuchet, it will wait 0.5 or 1 sec before firing, but not 6 sec. And if you spam right-click with a trebuchet, it will wait 1~2 sec in between aborted firing attempts.

Or, because I also reported a bug with secondary projectiles for Chu Ko Nu and suggested being able to quickly switch targets, you could base the delay on the length of the firing animation. Chu Ko Nu have a fast firing animation relative to reload period; Trebuchets have a long firing animation (including recovery time after launching a 90-kg projectile up to 19 tiles away), even relative to their reload period.

@Felizon89
Is this considered not a bug, or does it need to be reported by someone with a proper game build number for it to be tracked? Knowing this would be helpful for anyone else who wants this bug to be fixed, but is unsure whether creating a new report for it would accomplish anything.

I was, after much effort, able to get AoE2 HD to work to the point that I could test it. Clicking on the same target does NOT cause this bug, only when you attack a different target. (Original post can no longer be edited.) One of the reasons TheViper frequently experiences this bug is that critical shots are often against trebuchets, and he always attacks ground between multiple trebuchet so each command would be unique (for example, order attack ground, BBC start moving forward to be able to attack ground, and then 6 game seconds later just as they start to fire, another attack ground at the same place). Or against onagers, where you often need to attack-ground because the target is moving.

Furthermore, it seems like structures like castles might be affected by this bug! When manually targetting with a castle during testing for Gates are effective at blocking trebuchet projectiles, try doing it in your games, frequently switching to maximize the number of targets (since a monk without Sanctity should die to just two arrows so optimal switching period is just 0.1 real-time seconds), I found that clicking around the time a volley should start could lead to a delay before firing started, longer than the normal reloading between volleys.

If I tried to screen-capture this, I would get 5~10 FPS and it’s hard to tell what’s happening at 5 FPS, like where I’m clicking. So no video.

Edit: So the updated testing procedure requires being able to click relatively fast (when using Bombard cannons). I tried “move for over 6 seconds, press stop, then click a different target as soon as the bombard cannon turns and starts to shoot”, but it’s hard to reliably react since the turn doesn’t happen immediately. So it’s easier to just attack-ground the same area twice in a row, quickly. As long as you do it within ~0.1 sec, you’ll get the bug.

An expert player will have a sense for the normal reload timing: you get the exact reload period if you stop just before the reload and give an attack order. This contributes to giving attack orders about the same time as reload period finishes, and if that order is given after bombard cannons have been stopped for about 0.3 sec and start to automatically attack a target, it will cause this bug, at a greater frequency than if new attack orders were given at random intervals.

Or to put it a different way: you thought your BBC was going to fire at about time X. You gave it half a second; it did not fire, and enemy is about to shoot you and you need to move. The question: did it not fire because the reload is not finished (you underestimated X)? Or because you accidentally caused this bug (overestimated X) and interrupted a shot? If the second cause, then you might continue to wait because you think it’s the first cause, but your cannons will be stationary and inactive for another 5.5 seconds, plenty of time for them to die. So you move: and in doing so, unintentionally cause this bug because it really was reason 1, but because you aren’t aware of this bug, you try to shoot 2 seconds later and despite that it’s been 8 seconds since last shooting, the BBC doesn’t shoot (and won’t for another 4 sec).

I can’t reproduce in the current build, are you sure you saw this bug happening in build 94056?

(This is my main/first account, ‘Eoan’ aka ForgotGamerTag9 is the one I used to test the account registration bug)

Organ guns missing a volley (video uploaded today, filmed just after T90’s Titans League Season 3 ended so ~10 days ago):

Game time at the bottom, they fire at 29:28. Hera clicks at 29:31 game time, they fake fire with no bullets or smoke, just the start of the firing animation. Then they fire for real at about 29:36 after moving.

With the right timing, at least for bombard cannons, you can get the smoke and even the firing sound but no projectile.

I realized that the simple way to make units fire exactly at reload period, when their attack happens at a time that depends on some other data (the frame data), is to start the reload timer as soon as the attack starts. This would explain how this bug can happen (i.e. how this behaviour can happen without it being intended).

The easy comparison is to other games. I honestly don’t have much experience with other games but I can use World of Warcraft. An ability like Frostbolt took 2.5 sec to cast. If you press the button, a 1.5 sec global cooldown starts that stops you from pressing the button for any other abilities, even if you have connection lag. However, if you cancel the Frostbolt cast, the global cooldown immediately clears. So you can start a cast, cancel by moving, start, cancel, and so on in quick succession.

It’s harder to test with castles, but if you have a similar setup (lots of units garrisoned so castle fires 20 arrows and an interrupted volley is obvious, switch targets as frequently as possible in the half second before castle should start to fire) you may get consistent replication. To summarize, I speculated that if current target dies the castle selects a new target and begins an attack delay timer before continuing current volley; if target is switched during this period, the attack is cancelled (delayed by one reload period). But if you can replicate it for units, finding whether the cause for this also affects buildings should be easy.

1 Like
  • Right-clicking a target multiple times will no longer hinder ranged units from attacking the target as expected.

Awesome work!

(I actually bookmarked this happening during Hidden Cup V, but no one noticed it)