Speedrunning is kinda cursed https://www.youtube.com/watch?v=CEQWT9rSkfM

Did you know this? Apparently if you bought a copy of Super Mario Bros. 3 in the US, depending on when you bought it the "bros" in the logo is either aligned left on the label or right.

*If the logo on your cart is aligned right, you can't get a world record under current strategies.*

And until *last year*, nobody realized this was a problem. It was believed the versions were functionally identical.

(image source reddit user stang189)

Mario 3 Version Difference Is Faster VS Slower!?

YouTube

If this video confuses/bores you: Read this post then jump to 10:19.

In warpless SMB3 runs, there's an early (second world) instance of randomness where a hammer brother can run either right or left, and if it runs left you can skip three entire levels and save an entire minute:

https://smb3.bf0.org/smb3mechanics/2018-08-22-early-hammer/

Getting this randomness is important, so players use a "manipulation"– they play in a very precise way (in Mitch's case, literally miming along to a video of a TAS) to get exact random numbers.

Early Hammer

An in-depth description of Early Hammer and Hammer Brother movement

SMB3 0r4ng3
Infosec-minded people watching this video will have a slow-dawning realization that what this speedrunner is haltingly describing is a timing attack performed on the video game. The version difference would not have been a problem if Nintendo had used constant-time algorithms in their end-of-level score check arithmetic. There's some DJB shit going on here.

Incidentally Mitchflowerpower says something near the end of the video that really sounds like a Quote. Like something that would go in a list of Quotes. This is like a dictaphone from an alternate universe version of The Witness that has better philosophy of science.

"I can't take all the credit for figuring this out. I can only take credit for asking the right questions." – Mitchflowerpower

Several people joked "well… my Mario 3 cart is the one on the right… I guess I can't be a speedrunner now!!" To be clear, in my off-the-cuff estimate, the "right bros" cart is on average about 26 frames slower over the course of a warpless run, or a little under half a second. For an entry level runner, this is not a significant difference. You have to be doing something so fancy that the 30% chance of losing one frame at the end of a level makes a difference. Mitch is doing something that fancy
@mcc can’t stop reading $hit… as sh*t in the screenshot😆
@mcc a lot of swearing in that code…

@mcc "This is like a dictaphone from an alternate universe version of The Witness that has better philosophy of science" is a great line.

Blow wrote that he wanted make a game for "people who read Gravity's Rainbow", and I think he nailed that as long we're talking about people who read it for a compulsory humanities credit in first year, cranked out a disinterested C+ essay and never thought about it again.

I'd like to play The Witness That Might Have Been someday.

@mhoye @mcc this makes me want to go back in time and un-read Gravity's Rainbow

@ravindra @mcc The incredible thing to me about that game was how fast it went from being a game to being a job. Like, once you've understood the gag - and if you didn't quite get it by the time you get to the top of the mountain, that's when you're clubbed over the head with the punchline - then the whole world stops being an exploration and starts being A Chore.

On the other hand, it did give us this amazing clip: https://youtu.be/GdQp-KSmwT8

An amazing moment in The Witness

YouTube
@mhoye @mcc incredible. What really elevates it is the camera movement, as though the player is looking for someone else in the room that the video might be addressing
@ravindra @mcc I hadn’t even noticed that, but you’re right. “You smart.” “Uh …who?”
@mcc whoa, @Patashu!
(@Patashu check out the rest of the thread if you haven't, too! Cool speedrun stuff. :3)
@mcc @mikeymikey earlier today, without having seen this toot, I was struck by the fact that speedrunning is effectively security research where the researchers get annoyed and think the target is cheating when patches are issued to fix vulns. I wonder if there’s a future where it’s a more typical vulndev endeavor, where glitches are bountied, the runners get *credit* (and maybe money) but the credit is not expressed as WRs, and glitchless runs become the standard.

@glyph I'd be surprised if that happened. The long tail of game enthusiasm greatly exceeds the support life cycle of most games.

But now you have me wondering about long term monetized games like WoW and their general approach to this today 🤔

@mikeymikey yeah I don’t think it’s likely, more that I think it’s culturally interesting to see the interplay of developer intent for crafting an experience, even a competitive experience, and how runners react to it, which is an artifact of this economic reality rather than anything inherent to the medium
@mikeymikey like, if you could imagine a world where, due to some unforeseen legalistic rules interaction, someone discovered that if you balanced your racket on the net, some automated score counter would decide that you were getting a point every second in tennis. Like, the ITF wouldn’t just shrug and say “well, I guess racket-balancing is any% tennis now, we’ll just invent a new category where you actually still have to hit the ball sometimes”. They’d change the rules!
@mikeymikey don’t get me wrong I still think speedrunning is interesting, I don’t particularly want to see its weird culture of collaborative software-artifact breaking go away, but I also don’t see developers agreeing to this social contract of “we will always make vulnerable versions of games available for continuity”, in fact quite the opposite, nintendo clearly wants you to patch and never downgrade. It seems like it’ll come to a head at some point for newer games.
@glyph @mcc @mikeymikey They have their own terms for a lot of the same things too
@mcc that video is astoundingly insufferable (complete with a baked-in ad) for what amounts to "code changes result in slightly different frame timings, causing rng to be slightly off for manipulation"
@Xkeeper This is this man's job
@mcc i'm aware, but when i'm literally mashing the right arrow skipping through the video for a shred of actually interesting or useful information and (as you pointed out) it's over halfway into it, idk. maybe some jobs are just bad
@Xkeeper UBI now, free mitchflowerpower
@mcc him and everyone else who has to make youtube sludge content to please The Algorithm, and also everyone else

@Xkeeper @mcc I can't watch videos like this, RGM Explained, etc for an orthogonal reason:

"I had this idea before the show existed, but never acted on it to make a reality. And now I'm bitter that it's too late".

Lmao, I'm petty. At least I'm honest?

@cr1901 @Xkeeper It's not too late though there are like, still still a lot of retro game quirks that don't have explainer videos

@mcc @cr1901 jumping in since that was one of my long-time passions too (and you can see the failed sputters of that dying dream in my posts about things i find), turns out having a "real" job and depression/everything else makes it hard

alas: ubi would fix this

@mcc @Xkeeper (To be fair, I am better suited for blog posts. And I still have one blog post in the pipeline that X helped me with:

How the batshit IKAAAE Game Genie code works and why it's so batshit.)

@cr1901 @Xkeeper I would watch this video
@mcc Reminds me of how expert Space Invaders players back in the day would always be counting their shots, because the "random" bonus from shooting the saucer was based on the number of times you had fired mod 5

@mcc I'm guessing the NES-UM-US*-1* is relevant here?

(which seems like something people *would* notice, so maybe not)

@barometz Different production runs yeah. Apparently the names romdumpers use for the two versions are "program 0" and "program 1".

@mcc I knew about the labels...I didn't know the actual ROMs were different.

Good stuff. :)

@mcc does the japanese version have the same tech as us prg0?

@darkwitchclaire You'd have to ask Mitchflowerpower or someone in his community.

Mario 3 JP came out like a year and a half before Mario 1, so it's reasonable to assume it's *closer* to the original Mario 1 printing (the faster one, if I understood mitch right?) than the later one. But remember this isn't *exactly* tech– it's a manipulation, and what matters is that your cart is *the same* as the one you designed the manipulation for, not that a special capability is possible.

@darkwitchclaire And the JP version (mitch has at least 2 videos about this) is *very* different from the US version, due to the presence of a fade-in animation that occurs at the start of *every level*. The manips wouldn't even *almost* work the way they do with a "right bros" US cart. The JP version actually even has several tricks that make it potentially faster, but those tricks have to race against the enormous time loss due to the level fadein.
@mcc Oh no, I have the bad-at-speedruns version of the game. There go all my hopes and dreams.

@mcc @bigzaphod Ah, *that’s* why I can’t get the record!

(No, it’s because I have zero speed running skill. I have no idea which version I have. 🤣)

@mcc Ah yes, the two enantiomers, levosupermariofratres III and dextrosupermariofratres III

@mcc like that pilotwings demo bug, which most of the copies have.
hard mode: the ROMs for the broken and working versions are identical!

https://twitter.com/Foone/status/1126996260026605568

foone🏳️‍⚧️ on Twitter

“Today's weird discovery: Pilotwings (1991) has a set of demos that play if you don't press any keys, and one of them acts differently depending on when your cartridge was made, basically. Does the plane crash or not?”

Twitter
@foone @mcc That was fascinating. Thank you.
@foone @mcc bit of a hindsight gut punch towards the end of that thread. RIP Near. good info tho
@foone @mcc holy cow, all 3 of these examples (SMB3, WW, Pilotwings) are amazing. Thanks for sharing.

@mcc @bigzaphod just checked my copy.

Dang it! There goes my chance at a WR ;-(

@mcc Maybe the most fascinating part of this story to me is that if it weren't for some turbo-pedant designer at Nintendo of America who *insisted* that the label be "fixed" for the next edition, there might not be any way to tell the carts apart without testing them.

@collinsworth @mcc

Well, the revision number is there on the right cart -- revision 1 -- but not a lot of people would notice!

@mcc I bought Japanese ファミコン version at K Electronics in San Francisco along with a "Honeybee" FC->NES adapter (also a copy of Gradius II) before the US version was released.

It had other version differences from the North American release, though apparently even in Japan there were different ROM variants: https://www.mariowiki.com/Super_Mario_Bros._3#Version_differences

Long story short: the USA version is less difficult.

Though I seem to recall when I worked for The Museum of Art and Digital Entertainment, there may have been later ROM variants even in Japan which were made a little bit easier?

Super Mario Bros. 3

Super Mario Bros. 3 is a 2D action-adventure platform game for the Family Computer and Nintendo Entertainment System. It is the fourth installment in the Super Mario series and is recognized as the third in Japan. It was released for consoles in...

Super Mario Wiki
@mcc I always wondered why the hell everyone kept calling it "Kuribo's Shoe" when it was clearly referred to as "Goomba's Shoe" in my ("Bros." on the right) game.

LB: This post is absolutely fascinating, even though I essentially only understood about 60% of what's being said.

@mcc

@mcc ...So which one do the ROMs have
@Nyla_Smokeyface both roms are in circulation. Dumpers love collecting variants
@mcc even worse than the carts, different console revisions can also play games slightly differently, there's plenty of games where if you don't have the correct version of the console you can't get the best RNG for stuff like boss patterns. Games can be HARDER on different console revisions as well due to slight differences in timing
@mcc sadly my childhood copy is right-aligned.