<Describe the movie briefly here (3 to 8 lines) (it is what RSS viewers will see)>

Game objectives

Emulator used: BizHawk 2.2.1

Aims for vault

Improves the platformer stages

Very minor luck

Hard mode?

Comments

Recently, Alyosha made a GB core for BizHawk. I decided to test it out, and made this TAS while at it. I also managed to improve the platforming stages along with the boss fights due to finding out more about their mechanics. I chose story mode instead, since it shows more of the game. It turned out to be quite dialogue-heavy however, but it's still vaultable since this is a different game mode that also reaches the ending.

All relevant addresses are in System Bus.

Dialogue

There is no way to change the default text speed. The most one can do is press and hold "A" to make it go slightly faster. For ease of syncing in case of some change, "A" was held only on the frames that mattered. In this case, the 16 bit address 0xD492 determines the speed. Holding "A" makes text go the fastest, and sets the value of 0xD492 to 0. Whether or not "A" is held the entire time or only for the minimum amount of time necessary does not matter time wise, and is done solely for making splicing easier.

For NPC dialogue, "B" can be pressed on the first speech to exit it. This will not progress the story, so it is not done.

Platformers

Your x speed is at 0xC028, and applies for every stage. This is a 24 bit address, which RAM watch does not support, so lua was used to display it. During a platforming stage, jumping in the air gives a speed of 288, compared to 256 for walking. Therefore, hopping is the fastest way to traverse in this game.

Floating platforms that are triggered on touch should be triggered as soon as possible. If walking reaches it faster, then do so instead of jumping.

Sometimes, shooting projectiles slow you down. Your speed does not change, but for some reason you get "stuck" for a frame or so. This does not always occur; sometimes you get pushed slightly to the right when you shoot, while other times shooting has no effect on your position what so ever. I have no idea how this was triggered, and most of the time I just go through with trial and error.

NPCs

NPCs sometimes move around. If you need to go the opposite direction after talking to an NPC, it may be preferable to manipulate them to move towards you, so to reduce the distance needed to go back. The relevant addresses for the NPC's x position are 0xC120 and 0xC320. Unlike the player's position, the addresses are 32 bit addresses, so RAM watch may be used. Technically there are more addresses, but coincedentally, all relevant NPCs used the same 2 addresses here, so only these 2 will be mentioned.

When an NPC has not been spawned, the values are set to either 0, or whichever NPC is currently spawned. If you move close enough, the NPCs are spawned. The frame that they spawn in determine their behavior, so it's possible to get them to move towards you if needed.

Difficulty

In terms of both story mode and platformer, the main differences I noticed were:

Somewhat different platformer "lag"

More hits for bosses

You start out with 12 hearts in Easy v. 8 in Hard

Enemies do far less damage to you

Each attack deals 16 damage. Boss has to be hit 1 more time after reaching 0 to end. Format is Hp (hits needed).

Boss

Easy

Hard

1

96 (7)

160 (11)

2

208 (14)

240 (16)

3

176 (12)

240 (16)

4

160 (11)

240 (16)

5

255 (17)

255 (17)

Additionally, the zombies summoned by boss 4 die in 1 hit.

Stage by stage comments

Stage 1

The first instance of luck manipulation occurs in the overworld. In this case, the cat is needed to move right. Sailor Mini moon also needs to move to the left. Before anyone asks, I have zero idea what is going on story-wise; I simply spent an afternoon going through each NPC/store over and over until I determined with savestates what was the minimum amount of talking needed to progress the game.

A minor glitch that was not shown is that if you pressed "B" on the dialogue that was triggered before the platformer, it would exit, and then place you back outside. You still need to trigger it again to proceed however.

Every single boss uses 0xC157 as their invincibility timer and 0xC15B as their HP. Each time they get hit, a 60 frame countdown begins that prevents them from being hit. Under ideal conditions, it should reach 0, stay for another frame, then get hit again. Unfortunately, most bosses have mechanics that prevents this from occuring. Each hit deals 16 damage to the boss. It has to go below 0 to defeat them.

For the first boss, it appears luck is involved with it's attack pattern. Mainly, it can either somersault across the entire room, or only halfway across it. This is determined based on frames. The boss cannot be attacked when it is doing somersault, so it's short version is manipulated to occur each time instead. This means sometimes, an attack is delayed by a frame or so. This saves 40? frames or so each time. Using this knowledge, the first fight is 146 frames faster than the current TAS. The boss has 160 HP, so it takes 11 hits.

Stage 2

For the overworld, the only time luck happens is that broom guy to make him immobile.
You use Sailor Mercury this time. Despite the change, it turned out completely spliceable with the current TAS. I cannot seem to improve the platforming stage compared to the current TAS however.

The 2nd boss has 240 HP, so it takes 16 hits. The main improvement from this boss triggering it's barrel summoning earlier. If you attack the boss in the air, he slowly falls down compared to when he lands without getting hit. He takes over 60 frames to summon falling barrels, and during this time, he's invincible. Delaying an attack and striking only when he's near the ground allows his summoning to occur earlier, thus saving 1 extra frame compared to hitting as soon as possible. In total, this happens 5 times.

Stage 3

I manipulated Mini-moon to stay still. It took too long to make her move left sadly. A minor glitch here that's not shown is that in the 2nd last dialogue, attempting to skip it with "B" makes it play back over and over until you proceed with it normally.

The 3rd boss has 240 HP, so it takes 16 hits. This is one of the rare bosses where there's no mechanic that makes them invulnerable, so all attacks are done as soon as possible. The current TAS does not sync back up when splicing over, so I had to redo the fight.

Stage 4

If you tried to skip the first 2 dialogue here with "B", it will not be triggered again, and you get locked in without able to progress. There were no luck involved for this overworld section.

For the platforming, slowing down at the 2nd spike instead of turning around is faster. The floating platforms actually block you from moving, so it's better to walk under it than jumping over them.

The 4th boss has 240 HP, so it takes 16 hits. One thing I forgot to mention last time was that when he summons the goo people, he's invincible. Hence why I try to avoid killing them, so that they won't be resummoned again. This is the hardest part of the fight; avoiding the goos, along with hitting the boss as soon as possible. The current TAS doesn't sync here, so again, had to redo the fight.

Stage 5

Don't believe there was any luck needed for the overworld section.

The platforming part is divided into 3 short sections. I tried grabbing the cake on the 3rd section to make my life easier for the boss, but for some odd reason, despite being initially slower, the current TAS somehow ended up being 1 frame faster, so I spliced that in.

The last boss has 255 HP, so it takes 16 hits. When he prepares to shoot the energy balls, he's invincible. I cannot seem to manipulate that further, so I just try to hit as soon as possible after he's not invincible. Oh, and after this, there's still 15,600 frames worth of dialogue to go before the ending. Have fun!

Other comments

Thanks

Alyosha for making the GB core

Whoever made the lua function for 24 bit addresses

Whoever made this game

Btw, I actually have no idea if this is actually hard mode or not, but this option gave me a bit less health, so I assumed so. Also fun fact: the story mode itself makes this game almost x5 longer, yet contributes very little to it if you cannot read the dialogue.