TASVideos

Tool-assisted game movies
When human skills are just not enough

Submission #4657: Lord Tom & Tompa's NES Super Mario Bros. 3 "100%" in 1:04:36.9

Console: Nintendo Entertainment System
Game name: Super Mario Bros. 3
Game version: USA PRG0
ROM filename: Super Mario Bros. 3 (U) (PRG0) [!].nes
Branch: 100%
Emulator: FCEUX 2.2.2
Movie length: 1:04:36.9
FrameCount: 232997
Re-record count: 88433
Author's real name:
Author's nickname: Lord Tom & Tompa
Submitter: Tompa
Submitted at: 2015-04-15 18:24:42
Text last edited at: 2015-05-07 13:56:34
Text last edited by: Tompa
Download: Download (41769 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:
Lazy encode:

(Link to video)

The run was alo streamed with commentary by Lord Tom, Tompa and the console record holder Kirua: http://www.twitch.tv/tompa/c/6541750

This is technically an improvement of one of the oldest TASes on the site: http://tasvideos.org/15M.html. Though that one does not beat all HB's (skips the secret one in W2), starts and finishes all levels as Small Mario, always gets three star cards at the end of the level and is done on the much slower Japanese version.

This TAS aims for 100% completion of Super Mario Bros. 3, as defined by:
1. All regular levels entered and completed
2. All World-Map Hammer Brother and Pirahna Plant levels completed
3. All World-8 Auto-Scrollers and Hand levels completed

In practice, this means we play every level skipped in the Warpless run by using a Jugem's Cloud, RNG manipulation or simply walking around it.
For comparison, the realtime speedrun record for the same goal is currently 1:11:02.

Lord Tom's Comments

It's been quite a ride. We started working on this in 2013, doing simultaneous planning/testing for an improvement to the Warpless run. Progress came in fits and starts, with Tompa TAS'ing most of the levels first and me trying to improve them. Progress stalled, but in a good way, about a year ago with the discovery of the game-end glitch which ultimately led to an entirely new TAS in its own category.

Major props go to Tompa for managing to stay motivated over such a long period of time, cranking out and optimizing relentlessly.

Overall, I'm very happy with the quality of this run, both in terms of macro and micro optimizations. Aesthetically, I slightly regret that even a 100% will still include in-level skips that let Mario avoid the meat of certain cool levels (e.g. non-game-end-glitched 7-1). But it was difficult to envision how to non-aribtrarily justify that goal-wise absent a "no major glitches" run which didn't really interest me.

At times I got a bit burnt out on this game the past two years, but much less so recently -- good thing, since I have 2 more SMB3 submissions in the works for after we get the Warpless in! Enjoy!

Tompa's Comments

Another fun SMB3 run to work on! Despite TASing this game several times, there are still new things to find, new ways to optimise and it's just as enjoyable to work on as ever before.

Working with Lord Tom is always great. It's nice to have someone to point out my silly mistakes. He also does a good job looking into the game's code to figure out a couple of things. Something I'm personally pretty bad at...

And there is still the new Warpless TAS we have yet to finish. I should stop writing this and get back to work!

New and Newish Strats (In descending order of approximate time saved)

Wall-Jump Wand Grab

Discovered by GlitchMan, this strat involves Mario using a wall jump at the end of Airship boss battles to get on top of the right-hand wall and then jump back to the left to grab the wand from mid-air. It's not possible to stand on top of the left-hand wall. Crucially, the wand is grabbed above the top of the screen, which saves a few seconds of animation time, both of the wand falling and later of Mario falling to enter the King's room.

The major optimization we discovered by reviewing the game's source code is that the boss's shell actually follows a computed trajectory when it flies offscreen; at the end of this trajectory, the shell changes into a wand, which then falls down toward Mario. This trajectory is computed according to a somewhat hackish formula; the best trajectories are those where the boss-wand transformation takes place as close to the ground as possible. Generally, having the boss closer to the middle of the screen is better, but the strange formula used means that some boss positions may be unexpectedly good (or bad).

Ducking into Water

When Mario runs off a ledge that is just underwater, he can preserve x speed by ducking just as he falls off the ledge. This trick has apparently been known for some time in the realtime speedrunning community, and saves quite a chunk of frames due to Mario's pitiful swimming skills.

Power-ups from the Map Hammer Brothers

Fighting Hammer Brothers on certain World Map locations makes power-ups available from what would otherwise be ordinary blocks. This can be useful both in providing a leaf or flower not otherwise available, and because the 30 frame power-up animation can be avoided by grabbing the power-up just as the Hammer-fight sequence ends. This is used in World 1 to get a flower and in World 6 to get a leaf.

Running Through White Blocks

Mario normally stops moving when he grabs a white block from the side. We found that Mario could avoid getting stopped with the right x pixel value. This is useful in a few places, but most dramatically with the "Buzz-saw" in 6-5, where Mario grinds through an entire row of white blocks to avoid jumping (which impacts P-meter expiration when Mario has the racoon suit).

Hammer Triple-Team

In World 4, we discovered we could save a Map Hammer Brother's walking step (32 frames) by lining all 3 Hammers up in a row and fighting the middle one first. Afterward, the remaining two Hammers are manipulated to walk onto Mario at the same time, saving a turn of Hammer movement. I was kind of hoping based on the game's treatment of other situations that both Hammers would be killed with a single fight, but we still have to fight both. That's probably for the best in any case, as if only one fight occurred it would arguably violate the run's goals.

Lakitu

There are a few water levels where optimizing Lakitu's movement is useful. Within limits, Lakitu continuously accelerates toward the player. Therefore, we discovered, if you need Lakitu to go right as quickly as possible, the fastest way is to have Mario get to the right of Lakitu as quickly as possible -- even if that requires a path that otherwise would be slower for Mario moving right.

Water Corner Boost

Tompa discovered that various small boosts are possible while swimming. These are mainly used in World 3's 2nd fortress.

Air-Walk

This odd glitch was independently discovered by Producks and Lord Tom. On some auto-scrollers it is possible to invoke a glitch by pressing against the left side of the screen. When the glitch is activated, Mario's walking surface rises into the air, allowing him to (briefly) run and even jump/land in thin air. The pattern Mario's surface follows leads us to suspect that some value is being overwritten by a thrown wrench causing the glitch. Look for usage of this glitch in the World 7 Airship and the World 8 Ship.

The Air-Walk is listed last because it doesn't save ANY time, nor does it have any known or theoretical use apart from entertainment.

World/Level Comments

World 1

1-4
The first autoscroller, get used to these... Getting the leaf will save time on the fort as well as showing off some swag with the shell!

1-F
When you start flying, a 256 frame counter will start. We delay the start of the flight by slowing down to lose the full P-meter. The same method is used in 2-3 as well.

1-HB
In order for the chest to spawn, the Hammer Brother as well as his projectiles need to be off screen. Jumping on a HB will have him drop down quicker than hitting from below or kill with a fire ball. For this fight, it was possible to manipulate it to not throw the hammer, this ended up being three frames slower.

1-5
We pressed down in the slope to have Mario's speed instantly drop to 0, in order to jump over the wall as quickly as possible.

1-6
Because of Fire Mario, a much quicker P-speed is possible, it's very precise!

1-Airship
The invisible block/bouncing flower glitch is done by hitting the block so that the item appears on the same frame the cannon spins. Clipping into the wall will have Mario scroll further to the right than the camera normally allows. This is used in most of the autoscrollers, though not always possible.

World 2

2-F
New strategy by Glitchman and the first use of a P-wing!

2-3
Thanks to having the leaf we can fly up and hit the P-switch. We can keep the P-speed by getting hit while flying and then simply fall through the block and into the pipe. Very convenient.

2-Pyramid
This one is hard to optimise because of the slopes and the lag you get when destroying the blocks. Sadly, all the lag can't be avoided.

World 3

3-1
Small mistake here, which didn't actually waste any time in the end. After the P-speed up, it's faster to land on the block and walk for a few frames. Mario's speed is accelerating quicker when walking under water rather than swimming. When redoing the level later on, saving time gave us a bad pattern for the Hammer Brothers. So no time was actually lost.

3-2
With careful use of the fireballs and when to kill the fish, you can despawn the flower in the end without getting any lag or waste any time. The lag-free method wasn't found until later. And again, because of the Hammer Brothers, it wasn't faster to despawn the flower anyway. No time lost here either!

3-5
Some nice walljumping clears this level quickly, no one likes swimming anyway.

3-7
A lot of lag reduction in this level. It's also the main reason why the higher route is taken, despite being able to kill a lot more enemies and being able to get more corner boosts.

3-F2
The only level in the run where having a Frog Suit would save time. Getting the suit is a huge timewaster though, as you have to enter a Toad House to get it (Or a long detour in 3-9...). Clipping into the ? block gives both a boost from the block itself, but also increases the speed for a short time as there is no water behind the block.

3-8
If you land directly into the water, your speed will drop down to 0. Luckily, there are a couple of blocks that you can land on first. If you then make a duck-jump, the P-speed will be kept while swimming and the P-meter intact. This ended up saving a lot of time compared to the current Warpless TAS.

3-9
The 256-frame counter for the P-speed will also counting down while jumping. If you land on solid ground before it reaches 0, it will reset and start counting down again the next time you jump. This is also useful when going down/up pipes, as the P-meter won't disappear while swimming, we reach the last part of the level without ever losing the P-meter in the level.

World 4

4-2
An ever faster method was used to get P-speed early.

4-4
For some reason, jumping in midair can't be done if you finished a Fort in the level before... Jumping out of the water is slower in terms of Mario's speed and position, though it makes Lakitu turn around quicker to earlier jump up on the platform. Then careful position and speed optimisation made it possible to jump on Lakitu without getting hit by the spiny.

4-HBs
Having two HBs move onto Mario at the same time, saves one map movement, 32 frames. Triple Kill!

4-6
A lot of lag at the later part of the level. Having Fire lets us reduce some of it. We lost a real-time frame to reduce a frame of lag. Because the RNG address is paused during lag, this was a better option in this case. As it means less frames delayed for W5 HBs.

4-F2
Another instant where a faster strategy could have been used though not faster because of RNG... It's quicker to land on the dry bones and jump all the way to the highest platform, without using the brick. "Thanks to" HB movement, no time lost.

4-Airship
Nintendo were very evil to reduce the scrolling speed to 1 pixel every 4 frames compared to to 1 every 2 frames.

World 5

5-1
As we need to fight all the Hammer Brothers anyway, getting the Music Box in this level is not faster.

5-2
Walljumps are great <3. Ducking under the paratroopa to avoid getting hit is quite precise.

5-3
RNG is yet again evil and won't let us save as much as we wished for. Faster P-speed strategy is possible however. While the shoe is awesome, it has no use in this run. Deepest apologies.

5-Tower
Going down a pipe on the side is only possible from the right. If the pipe would take you to a lower section of the level (Like in 3-9 and 5-3) Mario will be falling from the very top of the level and will take several minutes before dropping down. This ends up making this pipe the only one in the game where time could be saved for this category.

5-4
A boost from the spinner increases Mario's speed from 56 to 64. To keep the speed we have to land on specific frames and jump as soon as possible. WHen you jump on the first frame you land, the 256 frame counter for your P-meter will continue to drop down. It's therefore impossible to keep speed 64 and the P-meter through the whole level.

5-6
Feeling hungry? Better order a pizza!
A few frames were delayed to not get crushed by the camera when entering the pipe. Also why getting ahead of the camera with clipping is not used.

5-7
Thanks to Fire Mario, early P-speed is obtained without the use of a star.

5-9
The pizza arrived! Munch munch munch!
A lot of effort was put into getting P-speed during the level, which would have saved time at the last part. While being close, it ended up not being possible.

World 6

6-3
Tricky to get P-speed early. Though it worked out fairly well.

6-F1
The second P-wing used in the run and the first time since World 2 we aren't Fire Mario! Killing Boom Boom with a star is very satisfying.

6-6
Clever strategy by GlitchMan! Skips a water level section with a tricky P-meter maneuver.

6-5
Obtaining the Leaf in the HB fight was first forgotten about. Thanks to Kirua for reminding us, the levels were redone and a lot of time was saved with a new strategy! Explained in the Starts section above.

6-F2
While having the Leaf already, using a third P-wing was faster. As the P-meter won't run out. You want to fly as little as possible and only jump on certain frames, to avoid losing too much speed in the process.

6-8
Keeping the leaf helps us reduce lag as well as filling up the P-meter quicker.

6-9
Another water section we don't want to play. Walljumping is here to save the day once again.

6-10
Getting through the big wall took a lot of thinking and redoing. One of the problems is that with low speed, we have to jump on the first frame we land in order to not lose the P-meter. Welcome back, Fire Mario!

6-Airship
Lemmy is dumb. Mario has to jump to hit him on his head with the fire. Then just jump on either him or one of his balls (!) to get up on the top.

World 7

7-1
Warping to the credits? Haha, good one, that's clearly impossible.

7-2
The white block was used to kill the Piranha Plant. As the Fire Balls move slower than Mario does with P-speed, the blocks helps killing the flower without wasting time.

7-5
Originally the top route was used to finish this level. Going up and down the pipes is very slow however. Lord Tom came up with using the P-wing instead, this ended up several seconds with lots of wallclips!

7-4
This level was one of the first thing we discussed for this TAS. Tompa came up with the idea of clipping through the top in order to skip this water, auto-scroller. He never believed it possible. Then Lord Tom, after lots of testing managed to get it with the Leaf and later on with the P-wing. This is probably the most precise thing in the run. Your speed, position, x and y subpixels as well as the speed frame rule, all have to cooperate for perfection. The result is very satisfying.

-Piranha Plant 1
Mario felt suicidal and jumped into a pipe to do so. As soon as the item from the chest stops blinking, no time will be lost by going through the pipe and despite dying (Fake death, no lives lost!) the level is still cleared.

7-F1
Using the P-wing was a few frames faster than keeping the leaf from a non-fake-death in the previous stage. Our last P-wing is gone!

7-8
One of the two (Second being Bowser's Castle) levels where using a star is faster. There is a hidden Hammer Suit here. It didn't end up being useful. Main reason is that the koopakids can't be killed using the Hammer + the long time it takes to get the suit. In total, about six seconds slower.

7-9 
One more frame had to be saved before the first wallclip, which we couldn't do. The reason is the framerule for the speed and the P-meter. Which is why we slow down before each wallclip.

7-F2
Another level where going down on the side of the pipe could be faster. Here Mario would have gone down into the lava and died instead... It was close to get through both the dry bones and the waffle-ball without taking damage, though only possible with the P-wing and that is slower.

7-Airship
First use of the Air-walk glitch explained above. While not useful, it's still nice to see something new in these auto-scrollers.

World 8

8-Tank 1
Not having the leaf really shows how few 1ups you are able to get... Some lives could be obtained, but to the cost of lag frames. In the end it wouldn't help us get 99 lives anyway, so saving time was put as a priority for these autoscrollers.

8-Hand 1
Even if you want to do all these levels, getting the hand animation has to be avoided to save time, this is done by simply delaying when to enter the level. By quickly ducking under the fireballs, the P-meter can be filled up quickly without getting hit. The rest is cake!

8-1, 8-2 and 8-F
These three are already quite optimised from previous SMB3 runs. With a lot of testing, Mario could end up be about a pixel ahead at some points. Though it was never enough to save a full frame.

Bowser's Castle
As with the any% no game end glitch run, frames had to be delayed to manipulate Bowser's pattern, 21 frames again to be exact.

Thanks

GlitchMan - his WIP of a warpless improvement through 2-F introduced some useful strats, most notably the "Wall-Jump" Airship strat used for all Airship bosses and which saves many seconds. He also posted useful strats on certain later levels, notably 5-1 and 6-6.
Kirua - for helpful suggestions including getting the leaf from a World 6 hammer brother and generally being great.
The rest of the SMB3 speedrun community for continues support and sharing ideas.


Mothrayas: Pending acception Judging.


Tompa: Replaced movie because of a subtitle error. Nothing else altered.

Mothrayas: Great run with a lot of nice tricks. Accepting for Moons. I did consider this run for a Star, but the run does not look like it significantly outweighs the entertainment value of the similar warpless run, so I won't accept it for a tier higher than that yet. The star-worthiness of either run may still be discussed, but I'm not seeing enough support at the moment (and some opposition as well). So, Moons it is.

Spikestuff: Reach for the sta- Moon.


Similar submissions (by title and categories where applicable):