We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Bugs:Blast Thru

From The Cutting Room Floor
Jump to navigation Jump to search

This page details bugs of Blast Thru.


Game logic flaws

Crashing the game from the menu

After the game has been started, the "Return to Game" button is correctly invisible and Escape cannot return to any paused game, as none has been started yet. However, going to the Instructions screen and leaving it makes the "Return to Game" button visible, even though there is no game active. Clicking this button or pressing Escape to return to this non-existent game crashes the game completely.

Extra life removes power-up effects

Collecting the rare extra life also erroneously removes the following effects caused by other power-ups:

  • Brick-lowering when a ball hits the paddle
  • Magnets keeping the balls on the paddle
  • Any rockets or traction beam left
  • Possible ability of balls to go through bricks

This is done on purpose if one checks the code executing the extra life powerup (and cheat) as it clears the special level state flags, though the behavior is highly unexpected by a player.

Scores get multiplied by count of balls hitting the brick in the same frame

When having more than one ball flying at the same X or Y coordinate, and hitting a brick with them, the score is multiplied by that number of balls hitting the brick in one frame. E.g. having two balls hitting a brick at once gives twice the points, even though it was a one-hit brick. Bricks which require more than one hit have their status decremented by that number of balls (e.g., a fully healthy three-hit iron brick is removed immediately if 3 or more balls hit it at once), and all balls bounce back. However, if fire balls are hitting the brick, the second and every following ball just continues to fly through the brick destroyed by the first ball.

Ball split combinations cause wrong number of balls

When collecting a power-up which splits your ball in 4, and losing two specific balls of those 4, and then collecting a power-up which splits the remaining balls into 2, one ball erroneously splits into 3, resulting in 5 balls on screen.

Fire ball going through bricks destroys bricks on other side of level

When a brick is hit on the right or left most pixel of the level, a fire ball with the ability to destroy bricks by running through them can destroy bricks on the opposite side of the level when hitting a wall. E.g., burning some bricks on the very right side of the level will destroy bricks in the next row on the left side. It is unknown if this causes the game to crash if the very first or last brick is hit, since these are normally empty spaces (but hacked levels can have bricks there), since the level array would be accessed outside its bounds.

Golden brick status not lowered with bricks

The indestructible golden bricks are actually destructible after ~20 hits. The status for each brick is stored for the position of a brick in the level. If the bad brick-lowering power-up is collected, this status is not moved down with the bricks when the ball hits the paddle. E.g., if you hit a golden brick 19 times and it is about to get destroyed on the next hit, but is lowered before, it has to be hit another 20 times again (except if there was another golden brick below it, which would pass its status now to the golden brick above).

Bricks are lowered more than once at one paddle hit

If a ball is caught by the paddle while it was already half-way below the paddle height, and the bad brick-lowering power-up is in effect, bricks will be lowered more than once immediately, since the game corrects the ball position to be on top of the paddle pixel by pixel, but lowers the bricks one row for each pixel. E.g., catching the ball while it is already 4 pixels lower than the paddle surface, the bricks are lowered 4 times instead of one.

Level end is not checked every frame

For some reason, the game does not check in every frame if all bricks have been destroyed. It seems to happen only every 4th frame, which is quite a short moment as the game runs in only 25 frames per second. This can cause unexpected game behavior. The level could have been destroyed with the level-destruction power-up falling from above, but the ball can be lost even after that, letting you lose a life, but then returning to the next level. On the other side, you can easily hit the last brick before you additionally collect the level-destruction power-up too.

Visual artifacts

Level design flaws

Some levels being obviously symmetric versions of themselves have quite a few bugs on one of their mirrored sides. This is mostly noticeable in level 2, where the fire ring does not fully go around the smiley (which might have been done to keep the fire chain-effect, since this searches for bricks only in a specific direction in the level array). Also, there are two yellow bricks near the mouth being darker on only one side for no reason.

Paddle enlargement animation goes out of bounds

Normally, when collecting the paddle enlargement power-up, the paddle is adjusted to still stay on-screen. The computer demo AI however can overcome this feature, and make the paddle enlarge outside of the walls on the left and right on specific occasions.

Two fade outs to high score after completing all levels

After finishing all 40 levels (10 in the shareware version), the game fades over white instead of black to the high score table. However, a black fade is previously done, and an additional white fade afterwards, looking bad as the last level screen becomes visible again for a short time.

Not enough space for lives

If you get an excessive number of extra lives, they will start to overlap the score on the left. This isn't really possible without either getting very, very lucky or cheating.