Submission Text Full Submission Page

1st Nesvideos Dream Team Contest Competition "Gaiden"

from 2006-01-06 to 2006-01-20 (2 weeks)
Contest organized by Brushy

Contest rules:

  • The game to TAS is Super Mario Land 2 (GB) (rom Super Mario Land 2 - 6 golden coins (V1.0) (UE) [!].gb) (information revealed only on contest start day 2006-01-06)
  • Normal difficulty
  • Movie must obey the rules of this site. No cheats and debugging and so on.
  • Everybody in the team must participate in movie making by recording something.
  • No outside help is allowed (but common knowledge is usable).
  • Movie must be submitted to the contest on 2006-01-20 (2 weeks after the start).

Game Boy - Super Mario Land 2 TAS by RED TEAM RULES

RED TEAM RULES IS:
  • BagOfMagicFood
  • FODA
  • Randil
  • Shinryuu

The movie

  • Abuses programming errors
  • No deaths
  • Manipulates luck
  • Aims for fastest completion
  • Takes damage to save time
emulator used: VBA-rerecording-17.1
NOTE: this is the very same video we submitted to the contest, not the planned improved version (which was never made).
This is the winning movie for the competition out of a total of 1 submitted movies (all teams). It's actually very precise and we think that it can't be improved by much, despite the apparently crazy routes.
Our team managed to work together very well, with FODA testing some routes and glitches, BagOfMagicFood doing research on tricks and optimizing the run, while Randil and Shinryuu experimented with the game's physics and did good optimization too. This was throughly a good experience although it was very time taking since we only had 2 weeks to do it!

The pipe glitch:

  • Found at David Wonn's site, this glitch enabled us to cut several minutes of our first route test run (32 minutes long) when used correctly. We've found a lot of bricks with unusual behavior, some would lead to secret exits, some would do damage, some would give several coins per second while some would reset the game and some would even give illegal opcodes which automatically closes the rom! This was very tricky and we started the final version only a couple of days from the end of the contest because of all the experimenting with this glitch and finding better ways to use it. The glitch consists of getting in a pipe and exiting the level so that mario is still going down when he leaves. This way, when you enter another level, mario will still be going down for 1 frame, enough to push him inside the floor. For some reason, there are blocks below on most levels and they even work for boss levels.

The 100 enemies starman:

  • This run kills 99 enemies before entering wario's castle to save a few frames on those ball bosses. We found that feature to be pretty neat :)

The "hit on a passing block rule":

  • If mario jumps just past a block above his head, he is pushed forward 1 extra pixel.

The movement rule:

  • Mario moves 1 pixel then 2 then 1 then 2 and so on while running.

The jump height rule:

  • Mario's jump can be higher if the "A" button isn't held past a certain point (26 frames). If the "A" button is kept on hold for 1 extra frame, the jump height is shortened considerably.

The fall off a ledge rule:

  • If mario is too fast, when he falls off a ledge he will do a little hop up and then start falling slowly. To avoid this, release "B" before the ledge to get low speed enough, so he falls at a considerably higher speed.

The horizontal speed while in the air rule:

  • When in the air, if mario goes below a certain speed, he can't achieve max speed again unless he reaches ground to get running speed.

Bisqwit: Removing Shinryuu from the author list (his own request).

adelikat: Turns out that the pipe glitch can be used to this extend only by using exploiting a bug in emulation rather than a bug in the game itself. This is in violation of the guidelines that state that the games must look like they were done on authentic hardware. As a result this submission must be rejected.
This may turn out to be a good thing since a correctly emulated version will use the glitch to a lesser extend which will probably make it more entertaining to the general audience.


Player (105)
Joined: 6/7/2005
Posts: 290
Location: New York
FODA wrote:
why do you think we didn't get the best route still? because it doesn't look like it? beats me, it is the fastest route, sorry.
Yes because it doesn't look like it. You gotta chill out man I'm not attacking you or your strategies. I bet it is fastest! You're more of a pro at this then I am. I am going purely upon observation, and observation tells me you made a lot of side-tracking when you didn't have to. But maybe you had to! Now if I decide to try and play around with this game myself I will probably find that you're right and that your path is the fastest. You make it seem like I am totally denying you when I can't.
Soft Blue Dragon
Sir_VG
He/Him
Player (40)
Joined: 10/9/2004
Posts: 1913
Location: Floating Tower
Dwedit wrote:
Watching this one, I'm just wondering where the memory block containing those destroyable bricks is, and how exactly the game initializes that memory. I'm wondering if the bricks are indeed initialized by the game filling up the memory, the GB Bios doing it, or the emulator filling it up. I think the memory block containing all that stuff may be in the SRAM area, and the bottom area with the Next Level tile might even be the Z80 stack! I bet predefined save games would mess all that stuff up. Or worse yet, Mario spin jumps on bricks that are actually your save data, and destroys it! Voted Meh, too much walking back to pumpkin zone.
Likely it's a mishmash of data pulled from the ROM into temporary memory, so that when the breakable block is broken, that temporary memory is changed always to "broken", which is why the blocks are never regenerated. But that's just a strange thought.
Taking over the world, one game at a time. Currently TASing: Nothing
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
This TAS is invalid. It relies on a bug in VisualBoyAdvance. (and this bug actually slows you down!) Allow me to explain what's going on after you go downward through the bottom of the screen. The normal level is stored in memory at the SRAM area. The first 'basement' area is RAM at C000-DFFF, which happens to be filled with blank tiles for the area you fall through. The second 'subbasement' area is Echo Ram E000-FDFF. Finally, the first row of garbage is the OAM area (FE00-FFFF) (sprite table area in memory), and the exact behavior of each tile is determined entirely by which sprite of Mario is being displayed. (So that's why you'd see coins which behave continuously, since mario is touching a coin, then the game overwrites the tile with mario's sprites, so you get the coin once each frame...) The second row of garbage blocks is the IO area. Subsequent rows of garbage blocks are ROM addresses. The Echo Ram area (E000-FDFF) is a mirror of C000-DDFF. However, due to a bug in VisualBoyAdvance, it does not treat memory addresses E000-FDFF as a mirror of C000-DDFF, and instead treats them as unique memory having their own values. Initially, these values are zero-filled. You can see this in that you get a ton of destructible bricks for the second subbasement. But the bricks aren't supposed to exist at all! In a properly behaving emulator, the bricks will instead be the same tiles you just fell through. Fortunately, the block that skips you to the next level is either in the OAM or IO region, haven't exactly figured out which tile number does it. This should behave consistently among emulators, assuming of course the game is reading the tiles during VBlank.
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
I was wrong about two things in my last post. First, the level is not stored in the SRAM area, it is stored in the RAM area. Second, correctly emulating Echo RAM means that there are far fewer levels in which you can do the through the ground cheat to beat the level. This really does invalidate the TAS completely. (Pumpkin Zone 1 does happen to be one of the levels in which you can cheat through.) Edit: And Here is the major bombshell: Fixed version of VBA (not a re-recording version) Because far fewer levels are now clearable using that technique, the TAS needs to be completely redone from scratch.
Active player (411)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
rofl
Player (105)
Joined: 6/7/2005
Posts: 290
Location: New York
Dwedit wrote:
I was wrong about two things in my last post. First, the level is not stored in the SRAM area, it is stored in the RAM area. Second, correctly emulating Echo RAM means that there are far fewer levels in which you can do the through the ground cheat to beat the level. This really does invalidate the TAS completely. (Pumpkin Zone 1 does happen to be one of the levels in which you can cheat through.) Edit: And Here is the major bombshell: Fixed version of VBA (not a re-recording version) Because far fewer levels are now clearable using that technique, the TAS needs to be completely redone from scratch.
In the great words of Mortal Kombat...ahem....TOASTY!
Soft Blue Dragon
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Well, then all TAS must be redone from scratch using more perfect emulators? I'm sure none of them behave like the real games. The TAS is what it is. It uses the emulator version it was made on. It is NOT up to us to check if every stance of every movement and trick work on the real cartridge. I won't remake the TAS, it's final. If you want, do it yourself. But your new emulator isn't perfect either.
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
This isn't your average small emulation quirk, this is an earth-shattering, showstopping emulation bug that never should have seen the light of day. Failing to get the basic GB memory map correct is completely inexcusable for any emulator. Every GB emulator other than old VBA has the basic GB memory map correct. It's not "my emulator" at all, I don't mean to take credit for any of it. I just identified that the run depended on an emulation bug, then I fixed that bug. The original VBA developers also independently caught and fixed the same bug a while ago too, but their changes just stayed in CVS. The people who forked VBA based their forks off the buggy 'latest official versions' that did not incorporate the bug fix. Unfortunately, vba-rerecording was one such fork. The real effects of the bug being resolved is that you don't get the exact same effects of falling through the floor. In some levels, you get a bunch of air in both subbasements to fall through until you can exit the level early. In other levels you fall to the bottom where solid tiles block your progress, and there is a wall to your right. Still in other levels, you get a floor at the bottom, but can still move far enough to the right to fall through it and exit the level that way. The main difference is that you no longer get the big wall of bricks consistently appearing in every level to use to get to the bottom.
Post subject: Dear Dwedit
Banned User
Joined: 12/23/2004
Posts: 1850
Thank you so very, very much for making my day. :D
Perma-banned
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Like i said on IRC, this is out of my league. I can only deal with the emulator and what it does. If I'm required to test every bug and reverse engineer it then I'm not the person to make these movies. That's right, it's a waste of time to make runs on emulators if they aren't perfect. I don't like to waste my time. And you're not in the position to demand anything, mister. Good discovery, but don't demand the run to be remade. If you think it has to be remade, suggest it, or do it yourself.
Former player
Joined: 4/16/2004
Posts: 1286
Location: Finland
What the hell crawled up your ass, FODA? Why do you attack Dwedit when he was only being helpful and pointing out a major bug in the emulator? No one is blaming you for the emulator's fault and no one is saying you should have known that this would happen. And Dwedit wasn't demanding anything. He isn't saying that it's your obligation to remake the TAS, he was saying that the run cannot be published the way it is and it will have to be redone in order to be eligible for publication. Why are you taking this so personally? Sheesh.
Joined: 8/27/2006
Posts: 883
Simply boring watch...
Quietust
He/Him
Emulator Coder, Former player
Joined: 7/14/2004
Posts: 250
Too much glitching (much of which relies on incorrect emulation) for me, so my answer has to be "No". Even though a 'proper' run of this game would be far more boring.
* Quietust, QMT Productions P.S. If you don't get this note, let me know and I'll write you another
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
I didn't find it entertaining. It was so obvious what the next action would be (go all the way back to some level, then go all the way to the next level and glitch through it).
Dwedit wrote:
The main difference is that you no longer get the big wall of bricks consistently appearing in every level to use to get to the bottom.
I see this as good news. This could only make a run more interesting. I'll watch it again before voting. P.S. You guys all worked hard and made a remarkable TAS in a short time; I'm not denying that. I'm just commenting on the run itself. P.P.S. I vote no.
Former player
Joined: 3/31/2005
Posts: 192
Location: Argentina
Hmm. This is an interesting turn of events. So this TAS exploited an emulation bug? Has anyone checked it with a real game cartridge and hardware?
Joined: 4/25/2004
Posts: 498
... Y'know, I thought something weird was up with the glitched area being all normal bricks...I remembered it being made of a bunch of scrambled tiles, as Dwedit described, when I did the glitch on my actual cart years ago. I had no way of confirming it on a cart when the TAS was made, though, as I no longer have the cart; I didn't think to try the glitch in a different emulator, either. ROFL. XD
ventuz
He/Him
Player (125)
Joined: 10/4/2004
Posts: 940
GeminiSaint wrote:
Has anyone checked it with a real game cartridge and hardware?
This glitch is easy to perform, just exit level while being in pipe. I tried on real cart but I think my cart is version 1.2 (which fixes that glitch)... I tried on other emulator, BGB, it didn't have long path of blocks but it still have garbages at bottom (with invisible goal door).
Joined: 5/2/2006
Posts: 1020
Location: Boulder, CO
Phil wrote:
rofl
QFT It was no fun to watch anyway. Good catch Dwedit... You win a cookie for unlocking the entire reason behind it as well. Im kinda amazed that this bug has not come to light sooner.
Has never colored a dinosaur.
Joined: 7/26/2006
Posts: 53
I'm with FODA's defence, just because of an error in emulation doesn't mean that the whole run should be redone on a correct emulator. FODA and crew were only able to work with what they have, there is no re-recording emulator that fixes this problem yet, so I don't see why it shouldn't be invalidated because of an issue of incorrect emulation that is yet to be properly fixed, as in having a re-recording emulator that has the fix. Gets my yes vote despite the constant piping, damned game ruined 3 months of my childhood :(
Former player
Joined: 4/16/2004
Posts: 1286
Location: Finland
Did I misunderstand something here? If the TAS is impossible to replicate on actual hardware, it's simply not a valid TAS.
Former player
Joined: 10/1/2006
Posts: 1102
Location: boot_camp
Admiral_Sif wrote:
there is no re-recording emulator that fixes this problem yet, so I don't see why it shouldn't be invalidated because of an issue of incorrect emulation that is yet to be properly fixed, as in having a re-recording emulator that has the fix.
Well now there is ...
Borg Collective wrote:
Negotiation is irrelevant. Self-determination is irrelevant. You will be assimilated.
Former player
Joined: 9/1/2005
Posts: 803
Kyrsimys wrote:
Did I misunderstand something here? If the TAS is impossible to replicate on actual hardware, it's simply not a valid TAS.
No TAS is replicable on actual hardware, so I can't really see that as a valid argument.
Former player
Joined: 4/16/2004
Posts: 1286
Location: Finland
Atma wrote:
No TAS is replicable on actual hardware, so I can't really see that as a valid argument.
You know as well as I do that I meant that TASes should be THEORETICALLY possible to replicate using actual hardware, with perfect reflexes etc. You're just splitting hairs and you know it. The point is that the game must be unaltered. Who would for example enjoy a TAS of SMB3 if there was an emulator glitch that allowed the player to run just run through any wall? It wouldn't be the same game anymore.
Active player (411)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Atma wrote:
No TAS is replicable on actual hardware, so I can't really see that as a valid argument.
Lies
Joined: 5/2/2006
Posts: 1020
Location: Boulder, CO
We search for perfection. To reach that goal, using the features provided by an emulator is irrelevant, as long as the “world” – the game – is unmodified.
In this case, the "world" is no longer "unmodified". It defeats the point of a TAS, and I think most of the people here know this.
Has never colored a dinosaur.