Submission #6095: MUGG's GB The Adventures of Star Saver in 08:12.25

Console Game Boy Emulator Bizhawk v2.2.2-Gambatte
Game Version JPN Frame Count 29401
ROM Filename Rubble Saver (J).gb Frame Rate 59.7275005696058
Branch Rerecord Count 42880
Unknown Authors MUGG
Game The Adventures of Star Saver
Submitted by MUGG on 9/6/2018 11:25:20 PM

Submission Comments

About the Game

In this game, known as Rubble Saver in Japan, you are equipped with a mech and fight your way through 9 stages against aliens and other strange enemies.
Quoting Wikipedia:
A police officer named Tony and his sister are forced to go inside an unidentified flying object by a group of aliens who are planning to invade the galaxy. They are later exiled to a distant planet after refusing to engage in espionage for their side.

Tony finds himself stranded on a strange planet where nothing is familiar (and without his sister). However, a mech that has a vast knowledge of telepathic skills saves him and empowers Tony with the ability to take on the aliens' army. This machine becomes an important ally in the battle to save Tony's sister and stop the extraterrestrial invasion before it's too late. The game forces players to fight strange aliens across the galaxy. Players collect power-ups while in the mech but loses it after a single hit. The game includes some surreal enemies like a typical dog and some musical notes.
Note that in the Japanese original the roles are inverted, as you are playing as the girl trying to save your brother.

About the Run

This run is ~27 seconds (~33 when not counting the BIOS screen difference) faster than the previous run from 2013. Additionally to using all the known level warps and reducing lag even further, a new trick called "Arrow Bug" was used to save a large amount of time.
You can find more information in the game's forum topic. The run was largely motivated by the numerous new discoveries I made, although only the Arrow bug proved useful. I planned out all of the collectable items that could be found throughout the levels and planned ahead of time where exactly I wanted to use the bug. Although this planning was not rock solid, since I found additional places to use the bug on, it was still very helpful compared to if I had just blindly started the run hoping for the best.
The Japanese version is used due to a faster title screen and due to the absence of any text differences.
  • Used emu: Bizhawk v2.2.2 - Gambatte core
  • Uses warps
  • Genre: Action
  • Genre: Platform

Moonjump Bug

When descending, for some reason the game sometimes assumes you have touched the ground even when you are not near any ground. This happens depending on your vertical movement, and it allows you to jump in midair to stay airborne indefinitely.
The most common variation of this that I use is to jump from the ground for 8 (non-lag) frames and then descend, then rejump in midair. Repeating this process allows you to slowly climb in the air. This is done in some boss fights for entertainment, but also to save time in a few places.

Arrow Bug

When using arrow horizontally on a wall at the same time as you land in the void, you will reappear at the tip of your arrow. If done properly, you can end up inside of walls which allows for fast zips.
Using jet power (when you have collected the wing item, press A in midair) and holding up + down alternatedly will allow you to stay at the same Y-position, thus allowing for long horizontal zipping. This is used in the beginning of Stage 2 and in Stage 5.

Lag Reduction

The game runs at 20 FPS, so I used a luascript to keep track of the actual lag frames. The script is a travesty, line 13 doesn't make any sense to me, but it gets the job done.
Basicly, the game will lag when there is too much going on or too many objects loaded. Due to the framerate, each "actual frame" is worth 3 frames.
Sometimes waiting 1 or even 2 frames before entering a section full of enemies will magically reduce lag by a lot. Sometimes jumping will create less lag than running or vice versa.
During boss fights I cared to create as little lag as possible.

Level Comments

Stage 2 (Musical notes)

On this stage, I get to do a very large zip. It only works with the jet item which I acquired in the previous level.

Stage 4 (Ocean)

Somehow, the 2nd wall does not behave the same way as the 1st wall. This level still has the most boring boss fight in the entire game. The boss has 20 health points and takes only 2 hits per phase.

Stage 5 (Desert)

This stage showcases another large zip that allows me to clip directly into the little chamber which triggers the secret goal.

Stage 6 (Night sky)

The boss in this stage was pretty tough to optimize. Additionally to landing 6 hits, I'm also landing 2 more hits above the tree branch, thus hitting the boss 8 times per phase.

Stage 8 (Nature)

Somehow, a little bug happened here that allowed me to kill the wind faster. The wind takes 3 hits to kill. On a specific frame, I was able to shoot and it registered a hit on the 2nd wind. It didn't matter where exactly I was shooting, so it is some kind of frame dependent bug. Might be interesting to look into if someone wants to improve this even further.

Stage 9 (Final)

After the two stompers that pound into each other, there is some sort of massive hitbox that makes it so that you must get hit if you have your mech equipped. There is no way around it.
I tried to come up with a faster way to get rid of my mech (by taking damage) while also incorporating the arrow bug. It may not look like it, but near the end, the arrow bug almost saved no time. So trying to get more arrows into this level may not be worth it. I think I did the best out of the arrows I had available.

Possible Improvements

Another arrow item can be acquired in Stage 6 to allow for a clip in the beginning of Stage 7, possibly saving about 20-30 frames. I gave up on getting this arrow item because I ran into tremendous lag so it's not clear if it saves any time.
Otherwise there are no known improvements.
Enjoy! If you have questions, feel free to ask.
Unknown module nicovideo

ThunderAxe31: Judging.
ThunderAxe31: Accepting as improvement over the current run.
fsvgm777: Processing.

Last Edited by fsvgm777 on 9/11/2018 8:12:31 AM
Page History Latest diff List Referrers