Submission #4146: Odongdong's GBA Boulder Dash EX in 37:04.94

Console Game Boy Advance Emulator VBA v24 svn422
Game Version USA Frame Count 132890
ROM Filename Boulder Dash EX (U).gba Frame Rate 59.7275005696058
Branch Rerecord Count 19411
Unknown Authors Odongdong
Game Boulder Dash EX
Submitted by Odongdong on 12/31/2013 6:27:05 AM

Submission Comments
Boulder Dash is a series of puzzle games made since 1984. The rule is simple: You collect gems the stage requires while avoiding enemys and various obstacles. Boulder Dash EX is a Gameboy Advance port of it, which adds its original physics like HP bar or an ability to rotate the map.
This run aims to beat "EX mode", which includes going through all six worlds and 75 levels while collecting the gems as fast as possible.

Game objectives

  • Emulator used: vba-v24m-svn-r422
  • Aims for fastest time
  • Takes damage to save time

Basic Strategy and Tricks

4-frame rule

This doesn't help anything with improvement but it's convenient to know. Basically, during the main gameplay, there're 3 lag frames between each valid frame where you can put input. Input in lag frames will be ignored. Therefore, you don't really have to press the input in exact moment - if you press the key until the valid frame arrives, the result will be the same. The exit time also follows the 4-frame rule so all improvements are mostly a multiple of 4 (I said "mostly" because sometimes there's a random lag frame).

Skipping Health Draining Sequence

Every time you beat the stage, the game shows 'Stage Clear!' message, drains the player's health bar to zero, and go on to next stage. This means the more health left at the end, the more time you'll lose at the sequence. Thus, it's desirable to take damages if possible.
According to the research I've made, the player's health is set as 10000 hp at start and you gain extra 4 frames per 200 hp by draining. You can get this benefit until the healtch is lower than 6200 hp, so at most you can earn (10000-6200)/200*4 = 76 frames by this trick on every stage. 76 frames is considerably large interval so sometimes taking damage results in being faster than reaching the exit without damage. Good example is at World 4-11.
This is a table describing amounts of damage by each situation.
WhenDamage amountNote
Hit by falling gem1000Gems moving horizontally also have damage.
Kicking the rock freely200
Kicking the fixed rock500This action comes with fairly long delay.
Involving in bomb explosion5000
Surrounded by rocks50 per 4 frames

Player's Animation Cancel

Almost every action involves sprite animation. You can cancel this animation earlier by taking any kind of damage. This is useful to skip long delay after rotating the map. Good example is at World 5-1 where I skipped pickaxing animation by take a gem on Alex's head. (Alex is a protagonist, by the way)

Card Collection Sequence Skip

The cards are some kind of achivements in this game; They show up when I finish the level with special action. Some of the special actions include killing certain enemies. However, since this card sequence can't be skipped (it delays exactly 102 frames, which is a huge disadvantage), it's a main goal to have the enemies alive as many as possible till the end.

Stage by stage comments

I omit the levels which I think the description is unnecessary. If you have any question on where I didn't mention, feel free to ask.

Forest 3

I made a little stop on 2nd row to damage by larva. It actually saves a numder of frames.

Forest 4

I could have reached the exit earlier with different route, but that would be slower in the end because of health draining sequence.

Forest 8

This has a complicated history. When I started this TAS, I used rotating item to get the gems in the level. After a few months, thommy3 showed me the way to finish the level 51 frames faster. Then last week, when I decided to apply his suggestion, I figured out I can be hit by gem on his route which saved the frames even more.

Forest 9

These spiders' position change quite arbitrarily on rotating so I had to be careful for them not to be crushed by rocks nor interupt my way.

Sand 2

This level is a bit tricky. All gems are blocked by rocks so I have to clean the terrains first. Enemy position are also manipulated to be not dead by changing the timing of item use.

Sand 8

With help from Warepire, 64 frames was saved from previous route. Couldn't find any improvement since then.

Sand 9

Yeah, picking up the gem with glove is actually faster then normal collecting.

Fire 1

Good demonstration of how I removed rotating delay by damaged from the enemy.

Fire 2

One of my favorite stages. You have to install and kick the bombs in right time. Later I came up with more cool ideas but all of them turned out to be slower sadly.

Fire 7

This may look pretty odd to you because I made a second rotate in strange place. In fact, this way is 4 frames faster then just collecting before rotating.

Water 1

The octopus damages me 4000 hp and the shark 6000 hp so taking damage twice from any creature won't let me survie. Shark's attack is unavoidable because he follows the wall on his right side, so unfortunately I had to make a stop before the octopuses to survie the shark.
Also, I pull the shark with glove because that's the fastest way to make it alive without losing much time.

Water 3

The widest and one of the hardest levels in entire game. 90 gems is needed to spawn the exit and there're 95 gems in the level, so almost all of them must be collected. I tried to optimize the route as much as I can.

Water 5

This level is very tricky. There do exist many ways to drain the health, but not enough to be lower than 6200 hp within reasonable time. I tried my best, though.

Water 11

Similar to Forest 10 but I got speed boost and much more harmful enemy here, so I made a turn to get an damage advantage.

Water 12

Avoiding those 4 sharks without rotating was pretty hard.

Ice 3

Another wide level with many gems. Bomb position was determined carefully to make the player through the wall efficiently.

Ice 5

I made a mistake to collect unnecessary clockwise rotating item and tried to change it. Then I found out it didn't save the time because I still had to wait for rock to fall, so I decide to leave it unchanged.

Ice 8

For unknown reason, damaged by bomb make Alex temporarily invincible from the rock.

Ice 10

Not letting 4 polar bears be dead or kill me was really frustrating, but I made it anyway.

Ice 13

I waited 4 frames before installing the bomb because if not, the bear would involve in explosion.

Evil 8

Those 8 enemies in the top are the fastest creature in the game, so I had it trapped by rocks and sacrified some frames from card sequence.

Evil 12

Starting from the bottom always messed up the object position, so I'm afraid it's necessary to start collecting from top.

Other comments

Although I tried hard to optimize this run, I don't think this is perfect. I think some wide levels have a good potential to be improved.
I must extend great gratitude to Warepire and thommy3 who helped me out by suggesting some ideas. This movie would have much slower without them. I also thank people who gave me cheers on the thread.

Suggested Screenshots

28870, 56227, 122605

feos: Accepting for Moons.
feos: Replacing the movie with 151 frame improvement, and setting back to accepted.
feos: Shifting to Vault. Even though the votes show 70%+ support, it's mostly silent - the posts in the thread don't show reliable enjoyment.
feos: Publishing...

Last Edited by on 1/1/2022 6:13:28 PM
Page History Latest diff List Referrers