About the run

  • Emulator: VisualBoyAdvance v24-m. Does not sync on other versions of VBA.
  • Aims for the highest possible score without wasting time
  • Takes damage to save time
  • Genre: Platform
This is an improvement of 4.3 seconds over my previous run. The most time was saved by using a new strategy to make the bonus games go by quicker, and by using the Out of bounds glitch in 2-3. These new tricks will be elaborated upon below.

New tricks

New strategy: The RNG mechanism behind the mandatory bonus game after each world still hasn't been figured out. However, I figured out a simple way to pass the bonus game much quicker.
When Mario gets the fire flower...
...as small Mario, the timer that needs to run down starts decrementing after Mario has turned big.
...as big Mario, the timer starts decrementing as soon as Mario transforms to fire Mario (69 frames faster).
...as fire Mario, the game will play a "dun dun dun dun" sound effect and the timer will decrement as soon as that sound effect plays (additional 64 frames faster)
Because it only takes about 15~20 frames to pick up a mushroom or fire flower, you can see how I saved a ton of time, just by making sure I enter the bonus game as fire Mario.
Out of bounds glitch: On version 1.0 of the game, you can get pushed offscreen on autoscrollers if you hold "left", therefore appearing on the right side of the screen. This allows you to reach 2-3's goal a lot sooner. This hadn't been found despite the testing I did back then, thus I used version 1.1 for my previous runs (also because the RNG worked out in my favor more).
Other version differences between v1.0 and v1.1 are only music-related. As of this writing I found all the version differences listed on tcrf.
Shooting without slowing down: Previously, whenever you shot a ball, you would slow down (because you had to let go of the B-button) and thus be a pixel behind. There are two ways to avoid the slowdown: Jump and shoot at the same time while running, or shooting while falling fast (i.e. after having fallen for an extended period of time and reaching fastfalling status). Due to Mario oscillating between 1 and 2 pixels movement each frame, you have to do either of the aforementioned inputs on the correct frame lest you still slow down anyway.
In this TAS I still shoot and slow down whenever I had to wait for the proper bonus game luck anyway. You can reach the level exit within a certain frame even if you shoot a few times with the slowdown and it was carefully planned how many times I could shoot without falling behind.

Difference between VBA24m and VBA21

  • As opposed to the previously used VBA21, VBA24m undergoes additional delay whenever the game loads a next screen or next room, caused by added LCD screen emulation.
  • VBA24m's screen updates one frame sooner
  • Already introduced with VBA23, newer versions of VBA will - during AVI recording - capture several frames during a long lag frame instead of only one.
Only the first difference is relevant for this TAS.

Level by level

Because it is so difficult to compare between the two versions of VBA, I neglected to properly describe why time was lost or gained in some places. Most of the time it's because of invested idle frames to manipulate the bonus game after each world, or because of LCD difference. So I resorted to comparing the two versions by checkpoints.
CheckpointFramesPointsInfo
1-1 start+24 +0
1-2 start+5 +400 By chaining two flies in 1-1, gaining 400+800 instead of 400+400.
1-3 start+47 +2590 Time lost by picking up mushroom and fireflower. Points gained by picking up mushroom and fireflower, and shooting some stuff.
2-1 start-68 +8090 A lot of piranhas were shot in 1-3, even though the "no slowdown" trick wasn't even used here because I had to wait a long time for the desired bonus game outcome anyway, which is why I kill 1-3's boss as well. Time was saved by using the new strategy mentioned above. Points were saved by shooting the boss and a lot of piranhas and coins.
2-2 start+15 +1500 More points were gained by shooting stuff. Some frames lost by having to pass the construction at the level end differently.
2-3 start+6 +550 More points were gained by shooting stuff.
3-1 start-193-1370 In previous versions of my normal mode runs, I didn't kill 2-3's boss because I thought it had an effect on how long the delay in the bonus game took. This time around I understand how the bonus game delay works but I still couldn't kill the boss since I use the out of bounds glitch mentioned above to reach the goal sooner. 10 breakable blocks couldn't be destroyed, the boss couldn't be killed and a mushroom couldn't be collected, totaling in a 1500 points loss. With the 30 extra points gained by being at the goal 3 ingame seconds faster, I should have lost 1470 points, not 1370. I don't know why I only lost 1370 but I expect some kind of mistake in my previous run (a mistake like this: killing two enemies at the same time will not give you both enemies' points, for example).
3-2 start+3 +1000
3-3 start+4 +0
4-1 start-53 +1880 Yeah, I've gotten lazy to put any info in these levels, heh...
4-2 start+1 +850
4-3 start+5 +400
Game end +4 +600 I don't know how I saved 600 points, probably another mistake in my previous run.
TOTAL:-259 +16490

Possible improvements?

There might be a faster way to get the good luck for 1-3's bonus game. If there isn't, than I'm almost confident that this movie is "maxed out" , i.e. not improvable.

About GameNetworkOnline

A Youtube user named GameNetworkOnline has uploaded a lot of TAS videos to Youtube, claiming that he did it in accordance to TASvideos' redistribution policy (it is allowed if you credit the player name). That's all well and good, but he monetized most of his videos, essentially making money off of others' work. Because I wanted this to stop as soon as possible I contacted Nach about the matter but we couldn't conclude a solution. Therefore, I refused to submit my latest TAS until GameNetworkOnline ceased to exist since at least yesterday.
I couldn't (and can't in the future) claim copyright on my tool-assisted speedruns because I'm in a grey area as I do not own the videogame graphics and music. TASvideos can't claim copyright since they release their videos under Creative Commons.
At least I hope that everyone agrees that what Gamenetworkonline did should be frowned upon and I hope that we find some means of dealing with such problems, for example: flagging for spam or mass thumbs down? Perhaps I should have made a topic much sooner about this since it has been on my mind so long.

Nach: Very nice improvement. I like the new high score. I also love how Mario seems like Houdini in 4-3. I'm over here, about to be crushed by the wall - nope, I'm really over here! I give it a 10/10 for amazing death trap escape. Accepting.

natt: processing

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
Location: 127.0.0.1
This topic is for the purpose of discussing #3674: MUGG's GB Super Mario Land in 12:08.75
Cooljay
He/Him
Active player (391)
Joined: 5/1/2012
Posts: 468
Location: Canada
Congrats Nach on eating GameNetworkOnline and his channel. http://www.youtube.com/user/GameNetworkOnline/ As for the run it's very well done. Yes vote. So many batteries and continues I had to use to beat this game on that powerbrick. Nice to see my childhood demolished lol.
Joined: 7/2/2007
Posts: 3960
Fun fact: I lost my copy of this game in a hedge. I found it a year later, covered in dirt and grime. It still worked. Anyway, the run looks great. Nice work, MUGG!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Synahel
She/Her
Joined: 1/19/2011
Posts: 259
Location: France
Very nice, love these new ways to break the game even more.
Joined: 5/9/2005
Posts: 748
Good stuff. Do you plan to improve the Hard mode?
Editor, Experienced player (607)
Joined: 11/8/2010
Posts: 4012
Great run, MUGG. I like that OoB glitch. It's nice to see an improvement on VBA24-M too. Yes vote, of course.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
Wow, this was unexpected. Very nice! It was fun to see more shots in play, especially the one in 1-3 that dug into the low tunnel and collected a bunch of coins. I also thought it was really funny how the first lion boss exploded twice. I'd recommend getting a screenshot from 4-3, where Mario is following behind one of those missiles, and it looks like the missile is growing out of his plane's nose. Alternately, there's that one place in 4-1 with three ninja guys in the air stacked up over each other; that would also make a cool screenshot.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Player (12)
Joined: 6/17/2006
Posts: 498
Amazing improvement and auto-scrolling levels even more entertaining than before! Congratulations MUGG!
Joined: 4/6/2012
Posts: 44
Location: Lawn, PA
I love the new strategy, not to mention abusing the auto-scrolling glitch. I'm voting Yes because you actually bothered to kill world 1's boss because you had Mario circle around single blocks like a boss because I liked the run. A lot.
1/60 of a second is important; every frame matters.
Editor, Skilled player (1936)
Joined: 6/15/2005
Posts: 3239
I'm currently trying out a comparison encode. I video dumped this submission in v24 and the old movie in v22, and I noticed some things: * The frame difference at the start of 1-1 is only 1 frame in favor of the old movie. * The frame difference from 1-1 to 1-2 is only 1 frame in favor of the new movie. Since the submission says that the frame difference should be +24 at the start of 1-1, the encodes might be treated differently than what is seen in emulator. Also, I noticed that this submission does a pause after doing the out-of-bounds glitch in 2-3 right before touching the axe. Is this pause necessary? Edit: In the encode of the old movie, the few seconds after the final boss is defeated takes longer than in the new movie.
Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
The pause is necessary. --- There are differences in the AVI recording between VBA21 and VBA23+. And on top of that, there is the LCD emulation difference. So making a comparison video will be a tough job...
Ambassador, Experienced player (695)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Awesome improvement. Would have thought that one of us would have checked at some point whether it was faster to powerup before the bonus level, it seems obvious in hindsight. Goes to show that there are still improvements to be found even in very tightly optimized movies. As a bonus you get more points having fun with the fireballs.
Player (245)
Joined: 7/30/2006
Posts: 207
Location: Alefgard, USA
Question: Why did you spend time getting the mushroom and fireflower in 3-3? You don't appear to use/need them, and you get the fireflower bonus after the boss anyway.
Editor, Skilled player (1936)
Joined: 6/15/2005
Posts: 3239
The run does not ignore delays caused by bonus screens. The time saved when Mario is already Fire Mario when he walks up to the fire flower bonus more than makes up for the time obtaining mushroom and fire flower in 3-3. Same reasoning for obtaining mushroom and fire flower in 1-2.
Joined: 2/19/2007
Posts: 424
Location: UK
Thanks for the TAS! Fast and nice entertainment choices (like the Tetris blocks). I voted yes.
Personman
Other
Joined: 4/20/2008
Posts: 465
A delightful run made even more delightful. I'm glad you exist, Mugg!
A warb degombs the brangy. Your gitch zanks and leils the warb.
Editor, Skilled player (1936)
Joined: 6/15/2005
Posts: 3239
I had a comparison encode ready but I didn't upload it yet in order to respect みり (who uploaded http://www.nicovideo.jp/watch/sm18637671) and give the video as many views as possible. Then alpha09jp uploaded his own comparison encode. Oh well. Comparison encode by alpha09jp: Account: http://www.nicovideo.jp/watch/sm18657108 No account: http://www.nicozon.net/watch/sm18657108 Normal encode on nicovideo: Account: http://www.nicovideo.jp/watch/sm18637671 No account: http://www.nicozon.net/watch/sm18637671 If anyone wants to know how I did my own comparison encode, I can upload to Youtube and provide the Lua script I used.
Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
Comparison encode by alpha09jp: Account: http://www.nicovideo.jp/watch/sm18657108 No account: http://www.nicozon.net/watch/sm18657108
Thanks for the comparison video, also thanks to FractalFusion for working on one. I don't understand why the "video difference" is ~ 5.50 seconds. (6.73 shall be neglected as that wasn't really a time saving trick; it was a little "get hit and delay the last shot after the TAS is already over" fool around in the previous movie that I didn't repeat this time). Considering lag frames that last longer than 0.016s will have multiple frames captured in AVI in VBA24m, and considering the LCD difference adding even more frames in VBA24m, shouldn't the difference be smaller than 4.33 seconds *? Why did it turn out to be ~5.50? ---------- * 4.33 seconds is the difference if you subtract 12:08.75 from 12:13.08, i.e. the "movie difference".
Joined: 12/19/2010
Posts: 126
YES vote for me
live life
Joined: 2/12/2008
Posts: 67
Location: San Francisco Bay Area, CA
Easy yes vote. This version is a lot more entertaining than the previous iterations because of the OOB glitch too!
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
vba v24m svn 422
  File: Super Mario Land (JUA) (V1.0).gb
CRC-32: 65d2e7b2
   MD4: e4561bd8434a10070df581058509d545
   MD5: 4488773b10077656653c64b4b7bb53bf
 SHA-1: 034f9a896602efe07263bbb1d69c30f1ecc68369
Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
I'm really confused now. I was under the impression, VBA19,21,22 will record ONE FRAME during a frame that takes longer than 0.016s, as mentioned so often before. So VBA23,24m will record MULTIPLE FRAMES during this long frame. This doesn't seem to be the case. I made a direct comparision test between VBA21 and VBA24m.
 (in frames)
                                            VBA21                                                  VBA24m

title screen (press "start")      2 in movie, 16 in video                            16 in movie, 16 in video
mario visibile in 1-1               7 in movie, 32 in video                            31 in movie, 32 in video
EDIT: It makes sense to me now. Because the videos are equally long on both VBA21 and VBA24m, I don't lose any time due to the LCD emulation difference. Therefore the time save is greater (~5.5s instead of 4.33s). To clarify, 6.73s difference is dismissed because that takes place after the movie is over. It's neither a new time saver that was added nor a mistake in the old movie, it was just done in the previous run for fun since it didn't matter.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [2091] GB Super Mario Land by MUGG in 12:08.75
Editor, Skilled player (1936)
Joined: 6/15/2005
Posts: 3239
Anyway, here's the comparison video I made: Mediafire (~20MB): http://www.mediafire.com/download.php?7s2lbxsjmiax7m7 Youtube: http://www.youtube.com/watch?v=vUj9ZEWnO1M And the AVISynth script I used: http://pastebin.com/mKC7fuGP Note: I entered the pause and subtitle timings by hand. The timing numbers occur directly on the clip as it is modified. Also, I think it is necessary to feed x264 a video with a width which is a multiple of 4; otherwise the encode is skewed and messed up. Also, I don't know why the internal video dumper of VBA v22 and others is inconsistent with the frame display in emulator, but it may have caused all sorts of problems we never knew about for the last 5 years. Edit: That actually makes VBA v24 more accurate than VBA v22. In the sense that its frame display more accurately indicates the dumped video, of course. I don't know much about emulation accuracy to comment on that, and v24 is known to artificially inflate rerecord count, whereas v22 doesn't. Edit 2: Here's a comparison of SML TAS frames in v24 emulator, and the corresponding frames in v24 video dump. First number is frame in emulator, second is frame in video dump, and third is second minus first. Each measurement is taken when Mario first appears in position at the start of a new level from beginning of 1-2 onward, except for the last measurement which is when "5000" appears after beating the last boss.
2311 2313 2
4531 4534 3
8289 8293 4 
10686 10691 5
12864 12870 6
20228 20238 10
23535 23545 10
25954 25965 11
29884 29896 12
33087 33100 13
36046 36060 14
43728 43742 14
So it is still inaccurate, just not as much.
Joined: 1/17/2008
Posts: 133
Re: GamerNetworkOnline. I looked for a thread on this and couldn't find one. It is my understanding that on youtube, two identical videos cannot be monetized. Youtube has a proprietary algorithm for determining how similar two videos are (or at least as far as their audio content goes). I have dealt in the past with a particular audio track sold at a website that offers inexpensive hip-hop backing tracks. Someone had monetized, somewhere on youtube, a track they made using said backing track. As a result the guy who wanted to use the track found he could not monetize his own rap over the same track. Monetization on youtube gets approved or disapproved almost instantly for some users, and this was one such user. By uploading various test videos and attempting to monetize them he was able to see almost immediately if it "worked" or not. Even modifications such as slowing or speeding up the track or changing its pitch didn't fix the problem. I ended up recreating the track for him. Eventually I got it to a point where the track was so similar to the original that my own version of it triggered their algorithms for duplicates and failed to monetize. We worked it down to a point where we found that adding/removing a single instrument (a strings section playing a chord) made the difference between the track being recognized as unique. The process was not unlike the process I've seen related to the eur-orion constellation and determining the minimum amount of pixels that must be blacked out on an image of a scanned piece of currency for photoshop to not "see" it as a scanned image of money and refuse to allow editing. What we did was with audio but it was a similar trial and error process while dealing with an unknown algorithm. The crappy part is that the guy I was working with abandoned the project, partially because of how important being able to monetize is to him above other things, and I never got any sort of compensation or satisfaction of seeing the track reach the light of day. But this experience leads me to believe that if you upload and monetize a TAS you made, then nobody else will be able to monetize that same TAS. If their algorithms are honed enough, this is a potentially excellent solution to preventing people from doing what that particular youtube account started doing. On the flip side of the coin of youtube monetization, I am unable to monetize a song that is entirely my own work, on my own channel... because I did not upload it to youtube for over a year after making it, and in that time several other people uploaded it themselves, and one of them along the way must have monetized it. For close to 12 months now the status of my video's monetization has been "pending", and my understanding is that it stays that way forever and nobody ever reviews the case. Nevermind that I proved to them more than reasonably that the work is my own. I have been able to monetize other videos without incident. The only problem I see with this solution is users being unwilling to monetize their own TAS videos because they are concerned they do not have the right to, since they do not own the rights to the game. I don't have a good solution to this other than to point out that youtube has allowed and continues to allow many people to monetize things they did not own or have permission to, that clearly can be proven to be other people's work. Since you made the input that is playing the game you're arguably far more in the right to monetize a video of the playback than the many youtube users who are blatantly making money from others' work. When it asks you to type an explanation in the box when you are monetizing a song, it is sufficient to write "I wrote and performed the music in this video", so some variation of that should be fine for a TAS. On the other hand, the fact that we were able to get GamerNetworkOnline removed has implications that it is in fact not OK to monetize any sort of video game footage. So either youtube is taking this stance, or they are just incidentally removing particular videos or channels when they receive a lot of complaints. The former is how it should work, but the latter is my theory of how it actually works... I've seen overwhelming evidence that most of the processes are never touched by an actual human and are completely automated to have as little man-time involved on individual issues as possible. If they take the former stance then it should be quite easy for us to shut down anyone else who attempts to monetize TASes they didn't make. If the latter is true then only big and repeated complaints from the public lead to anything, and monetizing your own TAS uploads on a personal basis is probably the best shut-out solution. Those who monetize other videos on their channel will be rightfully hesitant to attempt this, because if youtube ever has a problem with it because of video game rights and a channel has several monetized TASes on it, they're looking at a chance of losing monetization privileges or having their account closed. I'd like to see some attempts made to test my monetization theory as it applies to TASes because the audio and video portions of a TAS are different in several significant ways from a filmed video, a static image, or the audio of a song. It'd at least be another tool in the arsenal if we can confirm that one guy monetizing a TAS prevents others from monetizing the same TAS without substantially modifying the video or changing the audio to something else entirely. (Insubstantial parts of the video should not affect the algorithm, i.e. the encoder's animation/screenshot/logo at the start and the overlay of the movie name and rerecord count in the first few seconds) edit:
rog wrote:
it is in fact not OK to monetize any sort of video game footage. So either youtube is taking this stance
They have explicitly stated that it's not ok, except in the case of let's plays. http://support.google.com/youtube/bin/answer.py?hl=en&answer=138161 They rarely ever enforce it though.
Yeah, that's the crux of it. Everything is automated and virtually nothing is enforced until a threshold of people complain, and even then it's uncertain. If the monetization uniqueness algorithms work as well on videos of TASes as they seem to do on songs and some videos, I'm saying it might be a risk worth taking as protection, if the risk is indeed as small as it seems, for an author to upload and monetize his own TASes to ensure others cannot. It's also an open question whether or not this uniqueness algorithm would prevent monetization of, say, a 1 second improvement TAS, if the previous version still exists on YT as a monetized video. I'm trying to think of a way to undermine would-be assholes without undermining the good guys too.