Difference between revisions of "Mighty Bomb Jack (NES)/Game Mechanics"

From SDA Knowledge Base

Jump to: navigation, search
Line 38: Line 38:
 
5. Bird - Slow moving enemy that homes in on Jack horizontally and vertically. It can't move diagonally.<br />
 
5. Bird - Slow moving enemy that homes in on Jack horizontally and vertically. It can't move diagonally.<br />
  
The enemy type is determined three frames before the mummy starts transforming. The game then looks at the value of memory address 00FA and calculates the modulus of 6 of that value (= the remainder when dividing by six). The numbers in front of the different enemy types indicate these values. The value of 00FA is increased by one every time the jump button is pressed (only during actual gameplay, so not during screen transitions etc) and is never reset. This means it's very much possible to manipulate the enemy spawns in certain areas (and it's also crucial to take it into account in a speedrun). Since the value is never reset, it's however also difficult to know its value at any given point in time. The best way to find out the value is to watch the enemy spawns and then start counting the A-presses. This is luckily well suited for the speedrun mindset, with a pre-determined route which allows for a constant number of A-presses between two given points. Needless to say, stretches of gliding in mid-air with rapid A-presses make this harder to control.
+
The enemy type is determined three frames before the mummy starts transforming. The game then looks at the value of memory address 00FA and calculates the modulus of 6 of that value (= the remainder when dividing by six). The numbers in front of the different enemy types indicate these values. The value of 00FA is increased by one every time the jump button is pressed (only during actual gameplay, so not during screen transitions etc) and is never reset. This means it's very much possible to manipulate the enemy spawns in certain areas (and it's also crucial to take it into account in a speedrun). Since the value is never reset, it's however also difficult to know its value at any given point in time. The best way to find out the value is to watch the enemy spawns and then start counting the A-presses. This is luckily well suited for the speedrun mindset, with a pre-determined route which allows for a constant number of A-presses between two given points. Needless to say, stretches of gliding in mid-air with rapid A-presses make this harder to control.<br />
 +
''Important note: 00FA increases up to 127, then jumps to -128 and then starts increasing again. This creates a discontinuity when going from -1 to 0. -1 is interpreted by the game as 255, which gives a rest of 3 when divided by 6. 0 obviously give a rest of 0 when divided by 6. This means that two enemy types are jumped over in the cycle when going from negative to positive values. A normal ending run will loop the counter near the end, while a best ending run will loop two or maybe even three times (depending on the category that is played). In the best ending route that is/will be described here in the kb, both times the counter loops can occur close to sections of enemy manipulation. Extra care needs to be taken when planning the route around these areas.''
  
 
Enemy spawning is only partially understood by me. Most (all?) of the time, spawning locations and initial enemy behavior (for example: start by going left or by going right) depend only on Jack's position. Certain sections of the screen yield different results. It's often fairly complicated however. While this might be difficult to exploit to its full extent, it can readily be used in some areas to get the desired result. My advise is therefore to keep in mind the possibility of manipulating enemy spawns when exploring different route options and then apply findings on a case-by-case basis.
 
Enemy spawning is only partially understood by me. Most (all?) of the time, spawning locations and initial enemy behavior (for example: start by going left or by going right) depend only on Jack's position. Certain sections of the screen yield different results. It's often fairly complicated however. While this might be difficult to exploit to its full extent, it can readily be used in some areas to get the desired result. My advise is therefore to keep in mind the possibility of manipulating enemy spawns when exploring different route options and then apply findings on a case-by-case basis.

Revision as of 02:15, 15 September 2013

Mighty_bomb_jack_(nes)

General game description

You control Jack in his quest to save the royal family that has been trapped inside a pyramid by the evil Belzebut (yes, I know that the spelling is funny and probably at least 100 million people before you have noticed that too...). The game takes place inside (and in two levels even outside) a pyramid (see external resources for a link to a map over it). Each level is composed of a more regular stage, where you just have to reach the door at the end (there is a little more to it, but that's described under best ending), and at the end is a "palace room". The palace room contains 24 bombs. To clear the level, you need to collect all 24 bombs and then reach the exit. Normally, you have to navigate Jack level by level in this way by going through the corridors of the pyramid and get to the top, where the end of the game is. However, it's possible to warp from palace room to palace room and thus reaching the end faster. As soon as you pick up the first bomb in a palace room, another one will be ignited. If the ignited bomb is picked up as the last (24th) one, you warp to the next palace room (you still have to reach the exit first though).


Version differences

There are several differences between the ntsc-u and ntsc-j versions. The difficulty of this game (without a walkthrough) is absolutely ludicrous. My guess is that someone tried to tone down the difficulty a notch or two before releasing the game in the US (it's still ridiculous though). Anyways, some items have been moved around, some blocks take more jumps to destroy in the Japanese version etc. For the best ending category, this means that it's meaningless to compare the two versions. For the normal ending, you have to make five block breaking jumps more in the j-version. These extra jumps also mean that an extra mighty coin is needed in the j-version. This equals roughly an additional 3 seconds or so (depending on how fast one is to break blocks). On the other hand, there is a chest in level 17 that is visible in the j-version but not in the u-version. That room is roughly 1 second faster on the j-version. So overall, the u-version has a few seconds advantage over the j-version, but one should probably not compare the two versions down to the second.


Items

The following items are of interest in a speedrun:

  • Mighty coins - Found in chests (always in the same location). Jack can hold up to 9 coins at a time. Picking up a tenth coin sends him to the torture chamber (very bad). When using mighty coins, Jack gains different abilities:
  1. coin - Jack turns blue. He can now open locked chests by jumping on them. How long Jack stays in this state depends on whether he was powered up from red Jack or powered down from orange Jack. If coming from red Jack, the blue suit disappears after pressing A 20 times. If coming from orange Jack, it disappears after pressing A 19 times.
  2. coin - Jack turns orange. Same effect as blue and he can now also open chests (both normal and locked) by running into them from the side. Like for blue Jack, how long the effect lasts depends on if Jack was powered up from blue or powered down from green. If powered up, it lasts for 11 A presses. I powered down, it lasts for 10 presses.
  3. coin - Jack turns green. Same effect as orange, S-coins can be collected and all enemies turn into coins for a few seconds. Jack turns pink after pressing A 6 times.

If Jack uses a mighty coin while being blue/orange/green, it doesn't matter how many jumps he made previously. The jump count is always reset.

  • S-coins - Found in chests (always in the same location). There are in total 10 (?) of these coins. In order to get the best ending, you need to collect 5 or more (there is no point in collecting more than 5 though). Only green Jack can pick up S-coins (but there is no restriction on what form you need to be in to make it visible).
  • Crystal balls - There are two crystal balls in the game. Both are found in special chambers, where you need to break some of the blocks surrounding them. In order to get the best ending, you need to collect both of these.
  • Sphinx - Some doors are hidden or locked. The only way to open these is to find the corresponding sphinx (sometimes there are more than one sphinx in a room and each one corresponds to one door).
  • P-ball - All enemies turn into coins for a few seconds. The P-ball is spawned by collecting bombs during the stages and in the palace rooms worth 2000 points. Bombs can give either 100 points or 200 points. The first bomb is always worth 100 points. There is then a "next bomb" in the order. In the palace rooms, the next bomb is the one that's lit. In the stages, it's not always easy to know which bomb is the next in order, but it usually follows the stage layout. Other than giving 200 points, these bombs also give a different sound when picked up. If the threshold of 2000 points is reached during the stage, the next chest you open will contain the P-ball (along with whatever it initially held). This is also accompanied by a sound effect. If it happens in a palace room, it will spawn in (or near?) the center of the room and start moving around diagonally. The counter is reset every time you reach a new level. (confirmed - source: English strategy wiki, see Additional Resources)
  • E-ball - Extra life. Found in secret locations, but can also be spawned by picking up 40 gold coins (unconfirmed - source: Japanese strategy wiki, see Additional Resources). While death abuse can be used in the best ending category, taking the time to collect more extra lives will likely never be of use in a speedrun.
  • Bottle - Increases the timer. Should be avoided in a speedrun as it wastes time counting down after the end of each level.


Jump mechanics

Holding up while pressing the jump button creates a higher jump. For roughly the first half of the screen, it's very similar to a normal jump. The vertical speed of a normal jump then starts to decrease faster than when holding up.
Holding down during a drop increases the acceleration initially. This should be used as often as possible in a speedrun. The max drop speed is however the same as dropping normally.
There is a special trick that can be performed at the start of each room. If the jump button is pressed at the right frame, Jack will start by making a jump instead of falling down to the ground. Since this is a 1-frame trick, the use is of course very limited. It's still important to be aware of though, since it's fairly easy to do inadvertently by for example mashing the jump button at the start of a room.


Enemy behavior and manipulation

There are only six (seven if you count the mummy) different types of enemies in the game. Enemies start out as mummies. The mummies walk back and forth on the platform they spawned on, but eventually drops. When they reach the floor, they transform into one of the six enemy types (these are not the official names, I hope they are understandable though):
0. Bat - Moves around diagonally without considering Jack's position.
1. Lobster - Fast moving enemy that homes in on Jack. (in most situations, this is the most dangerous enemy)
2. Jellyfish - Moves seemingly randomly, but every time Jack hits a wall or the ceiling, the jellyfish will fly to that spot at full speed.
3. Skull - Homes in on Jack horizontally, but cannot control its vertical movement.
4. Fireball - Homes in on Jack vertically, but cannot control its horizontal movement.
5. Bird - Slow moving enemy that homes in on Jack horizontally and vertically. It can't move diagonally.

The enemy type is determined three frames before the mummy starts transforming. The game then looks at the value of memory address 00FA and calculates the modulus of 6 of that value (= the remainder when dividing by six). The numbers in front of the different enemy types indicate these values. The value of 00FA is increased by one every time the jump button is pressed (only during actual gameplay, so not during screen transitions etc) and is never reset. This means it's very much possible to manipulate the enemy spawns in certain areas (and it's also crucial to take it into account in a speedrun). Since the value is never reset, it's however also difficult to know its value at any given point in time. The best way to find out the value is to watch the enemy spawns and then start counting the A-presses. This is luckily well suited for the speedrun mindset, with a pre-determined route which allows for a constant number of A-presses between two given points. Needless to say, stretches of gliding in mid-air with rapid A-presses make this harder to control.
Important note: 00FA increases up to 127, then jumps to -128 and then starts increasing again. This creates a discontinuity when going from -1 to 0. -1 is interpreted by the game as 255, which gives a rest of 3 when divided by 6. 0 obviously give a rest of 0 when divided by 6. This means that two enemy types are jumped over in the cycle when going from negative to positive values. A normal ending run will loop the counter near the end, while a best ending run will loop two or maybe even three times (depending on the category that is played). In the best ending route that is/will be described here in the kb, both times the counter loops can occur close to sections of enemy manipulation. Extra care needs to be taken when planning the route around these areas.

Enemy spawning is only partially understood by me. Most (all?) of the time, spawning locations and initial enemy behavior (for example: start by going left or by going right) depend only on Jack's position. Certain sections of the screen yield different results. It's often fairly complicated however. While this might be difficult to exploit to its full extent, it can readily be used in some areas to get the desired result. My advise is therefore to keep in mind the possibility of manipulating enemy spawns when exploring different route options and then apply findings on a case-by-case basis.

Personal tools