1. Dota 2
  2. News

Dota 2 News

Valve explains Dota 2's most explosive bug

Dota 2 is a huge game with hundreds of characters, played by millions of people every day, so it's not too surprising that Dota 2 bugs pop up from time to time. Valve is usually pretty good at staying on top of them, but some are more dramatic than others. One of the most fun and explosive slip-ups to make its way into the MOBA this year is the Dota 2 Techies Sticky Bomb bug, and now the team explains how it came about.


Read the rest of the story...


RELATED LINKS:

Valve is "freeing" Dota 2, so wave goodbye to battle passes

Dota 2 update resolves Watcher color confusion

Dota 2 The International 2023 is coming to Seattle

Between the Lanes: Unbreaking A Bomb

Introducing Between the Lanes, a new blog feature where we let members of our development team walk through some of the challenges, bugfixes, and occasional happy accidents we encounter while working on a game as unique as Dota.

Every Dota update gives us a chance to introduce new heroes, items, and abilities into the game — not to mention tweak countless old ones. This keeps Dota evolving as a game, but it also introduces an incalculable number of potential interactions. While this means there’s always something new to experience in every match, it also increases the likelihood that some of our changes introduce the occasional bug or two. Or twenty.

Fortunately, the Dota community is constantly experimenting and exploring, and is quick to discover hidden advantages, new meta, and outright game-breaking bugs that catch even us by surprise.

The Techies’ Sticky Bomb bug is a perfect example of this. The roots of the bug were introduced as far back as the Techies update last year, when we unveiled a rework of their abilities and playstyle. This rework created a bug where Techies’ Sticky Bombs didn't expire, and in some cases became controllable by the casting player. But interestingly, because of the parameters of the game at the time, there were no circumstances where the bug could actually occur in a match. So it laid dormant until the Twin Gates appeared with The New Frontiers 7.33 Update this past spring.



Suddenly, Techies players were able to create guided Sticky Bombs they could move around the map, raining down unlimited lethal explosives on enemy players. This was... a bit of an advantage. So it wasn't long before we started hearing rumblings on our github.



A common pattern in gameplay programming generally, and especially in Dota, is to create something new (that doesn’t break the game) by finding something similar that already exists (and works and is not game-breaking) and using it as a starting point to evolve changes. Sticky Bombs were based on the classic Techies’ Remote Mines. They’re implemented as a summon of a "npc_dota_techies_remote_mine" — the same base NPC type as the old Remote Mine NPC.

Techies’ Sticky Bombs utilize a “toss”/”chase”/”countdown to explode” sequence that is managed by a series of server-side modifiers (buffs) on the NPC to handle the unit motion and behavior of each step in the sequence. The "chase" and "countdown" modifiers prevented player orders via state flags in the modifier itself. The "toss" modifier prevented many types of player commands as a result of being a motion controller, along with the nature of the npc_dota_techies_remote_mine itself (specifically, that the NPC has AttackCapability DOTA_UNIT_CAP_NO_ATTACK).



Because Remote Mines could be manually detonated by Techies using an ability on the mine itself, the Remote Mine NPC was permitted to use abilities. This means it was flagged as both owned by the casting player (for kill credit) and as controllable by the casting player. Right-clicking on a Twin Gate (or any channelable map entity) mechanically functions by converting an attack click into an ability cast on the channel target (you're "casting" on the Twin Gate while channeling). Other map entities require a hero to do the channeling. However, because Roshan can use the Twin Gates, non-hero units are permitted to channel them.

Which brings us to the Sticky Bomb bug: during the very short duration that a Sticky Bomb is in the air after being tossed, if a player clicked on a Twin Gate with both Techies and the Bomb selected with unified unit orders, the Bomb would also channel the Twin Gate. This put the Sticky Bomb in a channeling state that ended the “toss” and broke the sequence of modifiers, resulting in unintended behavior.

The solution, once all this was understood, was pretty simple. The Sticky Bomb does not ever need to be controllable by the casting player. Removing this flag from the Bomb meant that the expected sequence of modifiers always executed as they were supposed to, leading to an eventual detonation.


As with so many bugs, 99% of the time spent fixing it is usually in trying to track it down. The actual solution usually boils down to changing a single line of code — possibly the same line of code you wrote to fix a previous bug. (This is why it’s often said that debugging code is like trying to solve a murder where you’re both the murderer and the detective.)

So: That’s how the Sticky Bomb bug was accidentally brought into existence; the brief chaos it created; and how it was brought to our attention by the community and fixed. What happens next? Well, now we sit and wait to discover whatever new bug we created by deleting that line of code to fix the original bug. If you stumble on it, we’ll see you over on GitHub.

7.33e Gameplay Patch

Patch 7.33e is out now. You can check the notes here.

Over the last few days we've addressed several gameplay issues:

  • Kobolds that are dug up from Trusty Shovel are now ordered to follow their owner (same behavior as Juggernaut's Healing Ward)
  • Fix newly spawned enemy units in Fog of War flashing on the minimap for a frame before becoming hidden
  • Fix spells not being able to target invisible units that were revealed by a sentry ward
  • Fix an issue where the hero stats tooltip for Evasion was not correctly rounding to the nearest integer value
  • Fix Tormentor treating creep heroes as summons that should be killed instantly when no valid hero units are within range
  • Fix a bug in the treasure UI causing rarity text to be clipped when an item is hovered
  • Fix Lich Sinister Gaze duration ignoring status resistance
  • Fix Phantom Lancer's Phantom Rush toggling off after dying
  • Fix rare crash when Spirit Breaker's Charge of Darkness is interrupted
  • Fix Oracle's "Fate's Edict Magic Damage Prevented" relic to properly count all damage that is prevented with the spell
  • Fix hero relics not progressing in Turbo


Patch 7.34 will arrive in August before The International Regional Qualifiers start.

Dota 2 Short Film Contest



The International is just a few months away, and we're pleased to announce that submissions are now open for this year's Dota 2 Short Film Contest. Filmmakers have until 3:00pm PDT on September 14, 2023 to submit their short film creations of 90 seconds or less to the Dota 2 Steam Workshop to be eligible for consideration.

Dota fans around the world are invited to visit the Workshop to discuss and vote on their favorites to help us select the best entries to be showcased as part of The International 2023 broadcast. Upon review of the Workshop ratings and discussions, Valve will nominate the top entries to be featured in the Dota client for a final voting process by the community to determine the winners.

Each finalist that reaches the top ten will be guaranteed to win $500, and the top three selections will score prizes of $25,000, $10,000, and $5,000 in recognition of their contributions to the Dota community.

Check out the Dota 2 Short Film Contest site for more information and guidelines on the submission process. And be sure to stop by the Workshop page regularly to help review the submissions you would like to see showcased at The International 2023, coming to you live from Seattle in October.

The International 2023 Live Event Broadcast RFP and Broadcast License Requests

The International 2023 will return to a roaring crowd in Seattle this October, and we are now accepting proposals from companies who are interested in partnering with Valve to produce and distribute regional language broadcasts.

As in recent years, we are accepting proposals for the Live Event Broadcast Production of The International 2023 in Russian, Chinese, and Spanish language broadcasts. The RFP (Request For Proposal) documentation and instructions for submissions can be found here.

New this year, we are also accepting proposals for companies who are interested in bringing small content teams on-site for sideline reporting in additional languages (not English, Russian, Chinese, or Spanish). These teams would have the ability to film on-site, including participating in post-match and crowd interviews, for audiences not served by the languages of the official broadcast. The RFP for Limited Live Event Broadcast Access can be found here.

Please reach out to [email protected] with any additional questions regarding this process, or the details of either RFP.

Lastly, this year we've streamlined additional license and feed requests:

  • Production companies who are simply seeking a commercial license to produce a regional language broadcast of The International 2023 without additional access to the event can fill out this form here.
  • Streaming platforms who are only interested in restreaming the official broadcast feeds to their platform can apply to do so here.


We thank everyone for their interest in working with us on The International 2023.