I seem to recall reading (or hearing) an explanation of why bombs exist in DK, and how they are sometimes transformed into "normal" wild barrels. I've tried to locate the explanation on several forums, without success. Either my search skills have deteriorated, or such a post doesn't exist. It may have been a verbal description, possibly during one of Dean's online sessions.
This is my current understanding of wild barrel behavior (accurate or not):
In the program code, a memory location keeps track of the last girder struck by a wild barrel. If a wild barrel disappears from the screen before reaching the bottom, that final girder is remembered (let's call it "X"). When the next wild barrel is released, its first bounce will be on girder "Y", immediately below "X" (so, Y = X - 1).
Example #1: A wild barrel is released, bouncing from one girder to the next. After hitting the 2nd girder, it goes offscreen (X = 2). The next wild barrel will be a bomb, dropping straight down to the bottom girder (Y = 1) without touching any of the girders above it.
Example #2: A wild barrel disappears offscreen after striking the 5th girder (X = 5). The next wild barrel will start out as a bomb, but will bounce off the 4th girder (Y = 4) and become a standard type of wild barrel.
If I'm way off base, it certainly isn't the first time. Please correct me.
I've highlighted a recent Level 1-1 death, similar to Example #2. With 3700 on the bonus timer, a wild barrel is released. It hits the 4th girder and bounces offscreen. The next wild barrel is released when the bonus timer is at 1900. It appears to be a bomb, then strikes the 3rd girder, angles sharply to the right, and smacks me in the face as I'm jumping left (between an oncoming barrel and a descending fireball).
https://www.twitch.tv/stella_blue/v/42775868Technically, the death was avoidable. In a perfect world I would have observed that:
- The first wild barrel last touched the 4th girder before exiting the screen
- No other wild barrels had been released between 3700 and 1900 (bonus timer values)
- More than 66 real-time seconds had elapsed since the beginning of the stage
Armed with this information, I might have anticipated the "Bomb => Type 2" hybrid coming my way, and reacted accordingly.
Unfortunately, my "board awareness" hasn't quite reached that level of sophistication.