Attack speed: Difference between revisions

From Blooncyclopedia, the independent Bloons knowledge base
Jump to navigation Jump to search
m Bloons TD 6: Missing 0
Line 70: Line 70:
When the attack cooldown is lower than 0.1s, the game engine change will start to perform the attack in the nearest calculation frame and not in the next one, this can cause a Tower to fire two projectiles on the same frame. In this case each projectile will behave like normal in terms of damage, pierce and any buff, if present. Each frame can only fire one extra attack, so a Monkey is limited to 120 attacks per second, starting two every 1/60 of  a second (0.0167s). For example, if the attack cooldown of a tower is 0.01s (equivalent to 100 attacks per second), it would still only fire 60 times per second, but 40 out of those 60 attacks would launch two projectiles instead of one.
When the attack cooldown is lower than 0.1s, the game engine change will start to perform the attack in the nearest calculation frame and not in the next one, this can cause a Tower to fire two projectiles on the same frame. In this case each projectile will behave like normal in terms of damage, pierce and any buff, if present. Each frame can only fire one extra attack, so a Monkey is limited to 120 attacks per second, starting two every 1/60 of  a second (0.0167s). For example, if the attack cooldown of a tower is 0.01s (equivalent to 100 attacks per second), it would still only fire 60 times per second, but 40 out of those 60 attacks would launch two projectiles instead of one.


Even if the cooldown of a tower is lower than 0.0833s (equivalent to 120 attacks per second), the Tower will still be limited to 120 attacks per second, and to compensate, he damage of each projectile is increased to properly deal the correct amount of damage on average. For example if a tower has an attack that deals 2 damage and a cooldown of 0.005s (equivalent to 200 attacks / 400 damage per second), it will still attack every 1/60 of a second, launching two projectiles per attack, and each projectile damage would be increased to 3.3333 damage so it averages to 400 damage per second.
Even if the cooldown of a tower is lower than 0.00833s (equivalent to 120 attacks per second), the Tower will still be limited to 120 attacks per second, and to compensate, the damage of each projectile is increased to properly deal the correct amount of damage on average. For example if a tower has an attack that deals 2 damage and a cooldown of 0.005s (equivalent to 200 attacks / 400 damage per second), it will still attack every 1/60 of a second, launching two projectiles per attack, and each projectile damage would be increased to 3.3333 damage so it averages to 400 damage per second.


To handle fractional damage, the game rounds down the damage and the remainder is added to the next projectile. In the previous case the 3.3333 damage means that for every three projectiles that the tower launches, two will deal 3 damage and one will deal 4 so they average 3.3333 damage.
To handle fractional damage, the game rounds down the damage and the remainder is added to the next projectile. In the previous case the 3.3333 damage means that for every three projectiles that the tower launches, two will deal 3 damage and one will deal 4 so they average 3.3333 damage.

Revision as of 22:51, 5 November 2025

For C4 Charlie's upgrade, see Attack Speed (upgrade).
Buff icon for attack speed in BTD6

Attack speed is a mechanic in the Bloons TD series and Bloons Supermonkey series of games, which determines the amount of time that a Tower needs to perform an specific attack. It is typically measured in frames in the older games and seconds in the newer entries. It is one of the three main mechanics that determine the offensive capability of a tower alongside Damage and Pierce.

Name

There is not a unique way to name this mechanic, not even in the same game or in official patch notes. In the list below there are examples of different notations across the Bloons franchise:

Mechanics

In these games towers are programmed to attack every certain amount of frames which can be converted into seconds considering they run at 40 frames per second. The only upgrade that modifies attack speed is Faster Shooting for Tack Shooters, reducing it from 55 to 40 frames. Using the Upgrade stacking glitch (also called "hypersonic Tack Shooter glitch"), allows to purchase this upgrade multiple times, reducing the cooldown of the tower 15 frames every time. After 4 stacks, the cooldown of the Tack Shooter would be less than 0 frames, so the tower reaches a speed cap and attacks every frame, further upgrades doesn't change this behavior.

Attack speed in Bloons Supermonkey 2 is implemented with a mechanic that in the mobile version, is internally named cooldown. This cooldown is the amount of time in seconds which a certain weapon or powerup will take before performing an attack. In the Flash version it is measured in frames, while in the mobile versions it is measured in seconds, and each weapon has a separate cooldown value.

While there is no way of buffing attack speed in the Flash version, in the mobile version Turbo Boost will reduce the attack cooldown of Supermonkeys by a certain multiplier. In the mobile version, it is mechanically similar with how Attack Speed is handled in Bloons TD 6, where if an attack exceeds 1 attack per frame, it will simulate multiple attacks per frame. The entire Energy arm weapon line (excluding Epics) has a fixed cooldown of 0, resulting in it attacking every frame, and cannot be buffed by attack speed.

Half Cash icon This section is incomplete. You can help out by expanding it.
The editor who added this notice elaborates: flash game stuff, such as attack speed caps

In the mobile versions, most attacks have a separate CooldownTime and FireDelayTime stat. The cooldown time determines the amount of time it takes to initiate the next attack, while the fire delay time determines the delay between when an attack is initiated and when the attack fires. The sum of these two values determines the overall attack speed of a tower. For example, the Dart Monkey has a CooldownTime of 0.7 seconds and a FireDelayTime of 0.2 seconds, giving it an overall delay between attacks of 0.9 seconds, or roughly 1.11 attacks per second. Most tower buffs that "increase attack speed" reduce both the cooldown time and fire delay time, but some, such as the Attack Speed modifier of the Monkey Lab, only reduce the cooldown time. This makes them less effective on attacks with long fire delay times, such as the Mortar Monkey's main attack.

Attack speed in BTD6 is implemented with a mechanic internally named cooldown. This cooldown is the amount of time in seconds which a tower will take before executing an attack or performing certain actions such as producing spikes or spawning sub-towers. This is measured in seconds, and the upgrades modify the value of this stat to a certain number. However, if the player notices the amount of damage that a tower is dealing before and after an attack speed or buff is applied, sometimes the tower seem to be doing better than expected, and this is because on how the actual attack speed / cooldown mechanic is implemented.

For example a 0-0-0 Dart Monkey has an attack cooldown of 0.95s, this is the amount of time that will pass between shots. Upon being upgraded to 0-1-0 Quick Shots, which claims to increase the attack speed by 15%, this cooldown is reduced to 0.8075s, which is a 15% reduction of the cooldown of the 0-0-0 tower, and the 0-2-0 Very Quick Shots upgrade further reduces it to 0.6365s which is a 33% reduction of the base monkey giving the number stated in the upgrade's description.

However if the Dart Monkey is tested in a mode such as Sandbox, the upgrades will seem to be doing better than expected, with the 0-1-0 upgrade increasing the damage a little bit higher than the 15% expected increase in damage, and the 0-2-0 doing nearly 50% more damage.

To explain this difference, the first thing that should be noticed is that what most people understand as Attack Speed is a similar but not exactly same thing as the Attack Cooldown concept used in the game. Attack Speed could be defined as the number of attacks a tower performs in a certain amount of time, and Attack Cooldown as the inverse, the amount of time that the tower needs to perform an attack. This definition makes Attack Speed directly proportional to the damage (higher attack speed equals more damage) and the attack cooldown inversely proportional to the damage (lower cooldown equals more damage).

With those definitions and going back into the Dart Monkey example, the cooldown of 0.95s means the tower will throw ~63 darts per minute, with the 0-1-0 upgrade this increases to ~74 darts per minute and the 0-2-0 goes to ~94 darts per minute. The proportions of those numbers mean a ~17% and ~49% increase of the amount of darts, corresponding with the amount of damage that the tower produces.

In general if an upgrade of buff description states that the attack speed of a tower is being increased by a certain percentage, what it actually does is reducing the cooldown in that proportion by applying a multiplier, which in most situations is 1Bonus percentage . And different bonuses stack multiplicatively:

Cooldown=Base Cooldown×Multiplier1×Multiplier2×A list of all attack cooldowns available in BTD6 can be found in this page.


For example, the attack cooldown of a 0-0-0 Dart Monkey which is in the range of a 2-4-0 Monkey Village (Jungle Drums, Call to Arms) and 4-0-0 Stronger Stimulant while all temporal bonuses are active and the player has the Come On Everybody! Come On Everybody! and Veteran Monkey Training Veteran Monkey Training Monkey Knowledge is:Cooldown=0.95[s]×0.85×0.6667×0.85×0.95×0.970.4267[s]

The actual attack speed / damage increase can be calculated as follows:

Increase=(1Multipliers1)×100%

Or if the percentage indicated in the game is known:

Increase=(Bonus1Bonus)×100%

For example, for the 0-0-0 Dart Monkey described above, the total attack speed increase is:

Increase=(10.85×0.6667×0.85×0.95×0.971)×100%125.3%

And going back into the the 0-1-0 upgrade for a Dart Monkey the actual attack speed increase is:

Increase=(0.1510.15)×100%17.6%

And for the 0-2-0 upgrade:

Increase=(0.3310.33)×100%49.3%

Attack animations do not have a correlation with the visual frame rate of the game, however the internal calculation of the game engine is performed 60 times per second, because of this, when the cooldown timer expires, the attack will be performed in the next calculation frame, and if the attack cooldown does not align with these frame rate, the next attack can be performed a frame early or late to compensate. For example if a tower has a cooldown of 0.22s, its first attack would happen at frame 14 (0.2333s), then at frame 27 (0.45s), frame 40 (0.6667s), frame 53 (0.8833) and frame 66 (1.1s), doing a cycle of 14-13-13-13-13 calculation frames between attacks.

In cases of very fast cooldowns, the animations can be visually skipped or show inconsistencies, but they don't have impact on the actual attack speed. With high game lag, each visual frame will be the same than a calculation frame, representing 1/60 of a second.

When the attack cooldown is lower than 0.1s, the game engine change will start to perform the attack in the nearest calculation frame and not in the next one, this can cause a Tower to fire two projectiles on the same frame. In this case each projectile will behave like normal in terms of damage, pierce and any buff, if present. Each frame can only fire one extra attack, so a Monkey is limited to 120 attacks per second, starting two every 1/60 of a second (0.0167s). For example, if the attack cooldown of a tower is 0.01s (equivalent to 100 attacks per second), it would still only fire 60 times per second, but 40 out of those 60 attacks would launch two projectiles instead of one.

Even if the cooldown of a tower is lower than 0.00833s (equivalent to 120 attacks per second), the Tower will still be limited to 120 attacks per second, and to compensate, the damage of each projectile is increased to properly deal the correct amount of damage on average. For example if a tower has an attack that deals 2 damage and a cooldown of 0.005s (equivalent to 200 attacks / 400 damage per second), it will still attack every 1/60 of a second, launching two projectiles per attack, and each projectile damage would be increased to 3.3333 damage so it averages to 400 damage per second.

To handle fractional damage, the game rounds down the damage and the remainder is added to the next projectile. In the previous case the 3.3333 damage means that for every three projectiles that the tower launches, two will deal 3 damage and one will deal 4 so they average 3.3333 damage.

The cooldown limit of the game is 0.001s (equivalent to 1000 attacks per second) and cannot be further decreased. A tower with 2 damage per attack and this cooldown, would still only attack every 1/60 of a second with two projectiles at the same time, and each projectile would deal 16.6667 damage to have an average of 2,000 damage per second.

There are specific interactions of towers with such high cooldowns that are not intuitive due to the limit of 120 attacks per second, for example if the tower of the previous example (2 damage, 0.001s cooldown, 1 projectile per attack, 1 pierce) would attack an arbitrary large amount of Red Bloons, it would only be able to pop a maximum of 120 of them per second. If the same Tower attacks Bloons under the effect of an Embrittlement, each projectile would deal 17.6667 damage, increasing the total damage per second against a single target to only 2,120 because the +1 damage bonus is applied per projectile.

Bloons Adventure Time TD

Half Cash icon This section is incomplete. You can help out by expanding it.
The editor who added this notice elaborates: need to figure out more on how blockingCooldown works

In Bloons Adventure Time TD, attack speed is implemented internally as cooldown and measured in seconds, much like Bloons TD 6. Some attacks have an animationSpeed variable as well which governs the lowest possible cooldown that attack can have. If this variable is not present then the lowest the cooldown can go is 1/60th of a second, or 1 frame ingame, which can be achieved with a combination with items and upgrades. All cooldowns are round up to the next frame.

On the character's stat pages, attack speed displayed is actually the inverse of cooldown from the main weapon. It is similarly mentioned as such in balance patch notes.

References