Forums  /  Super Mario series  /  Super Mario Bros. 3  /  IMPORTANT: Timing rule change for any%
  KiruaKirua

In any% (and only in that category), the time now ends on the 1st frame Mario is visible inside the chamber (and not on the 1st frame the chamber itself is visible). The entire LB has been retimed (by me) and edited. You can see all the changes here:

http://pastebin.com/7PZXCfhN

If you think I made a mistake, don't hesitate to contact me or another mod and we'll look into it. As far as I can tell, the only "problematic" run is Fernando's because it's so borderline it should be framecounted from the source (but even then I think the new time should be accurate).

If you're wondering why we decided to change that (there was discussions about it on Discord), I put in that pastebin the message I initially posted on Discord about all that:

http://pastebin.com/dgvcchWf

Among the people who expressed their opinion on the subject, there was an overwhelming support for 1st Mario frame, a couple of people in favor of last input, and nobody wanted to keep the old system (it was shit so that's no surprise). If you want to see the full discussion, I should be able to pastebin it (also if you're not in Discord and want an invite, just ask, most runners are there already).

Additionally, I now added the possibility to add milliseconds to the times in the LB. PLEASE ONLY USE THAT IF YOU FRAMECOUNTED YOUR RUN. Don't just write down what livesplit says if you manually started and stopped the timer. Rounding down to a full second isn't a problem right now but it could be one in the future for short categories in particular. If you don't want to bother framecounting your run (and honestly, don't bother unless you're going for WR in one of the two short categories), you don't have to worry about it, times in whole seconds are perfectly fine.

Edit: oh and one thing, we kept the "If the game crashes the run is invalid" line in the rules, but one of the purposes of stopping the timer on Mario is you only see him if the game didn't crash, so we basically stop the timer when the run is confirmed to be valid.

KingOf_JonnyBoyKingOf_JonnyBoy, Exciton97Exciton97 and 6 others like this. 
  BloboproBlobopro

Thanks for taking the time to retime all of these! I definitely agree, stopping on the frame Mario appears makes more sense. I just ran a new PB with this method, and I have to say it's a bit more stressful when stopping the timer, but aside from that it's totally fine. Again, retiming all of the runs must've taken up quite a few hours, so I'll have you know we all appreciate it!

KiruaKirua likes this. 
  ElipsisElipsis

While I was in the "last input" camp, I appreciate all the thought and time you put into this.

KiruaKirua likes this. 
  OkmenautOkmenaut

How can i exactly framecount or get the time for a run? Which tools do you use and how do you get the time from a new run?

I have tried to time my runs "exactly", but most of the time the mod has retimed it. I used VLC and the plugin "jump to time"to get the first time in ms when the red dot left from "1 Player Game" disappears and the time when Mario appears in the princess room to take the difference But this seems not to be a good way.

 
  KiruaKirua

Anything happening on the title screen is actually not consistent in terms of frames (and also nothing visible happens for a bunch of frames after pressing start so you can't rely on any visual cue). You're probably thinking you pressed start later than you did because of it when rewatching the video.

My first recommendation would be to use a timer (livesplit for example) because as long as you make sure to start the game and the timer at the same time (or as close as possible), you'll know what second you got most of the time without any doubt (don't worry about milliseconds).

For borderline situations where you want to make sure, or if you just want to know how to framecount, the important thing to know is that the first frame Mario is visible in the overworld after starting the game is frame #258. So when I framecount my runs, I use that as a reference (I use vdub because it tells you which frame you're at in the video at all times). For example, if i see Mario in the overworld on frame 10258, I know my run started on frame 10000. When you framecount there's a bunch of things to remember though. The most important things are to make sure you know exactly at which fps your video was recorded (I record mines at 60 fps flat) and very importantly if you didn't drop any frame. A timer is a convenient "safety" to check for that (although softwares like OBS and all tell you if you dropped frames) because after framecounting, you can compare with what the timer said, and you'll notice a discrepancy if frames were dropped.

For example, let's say you started your timer on the exact frame the run started (you'll easily see that after calculating what the first frame of the run was as long as the timer is visible in the recording), and stopped your timer 3 frames early. After framecounting your run and dividing by the fps to get your time, you should have a time equal to what livesplit was saying plus 3 frames. Always nice to double check that (although you shouldn't worry about framecounting if not going for the WR tbh).

tl;dr: start by using a timer, it'll solve 95% of your problems (as long as you're using it correctly), and remember that you can't know when a run started just by looking at the title screen because it's not visually consistent.

edit: the framecounting method in this post was found out later to be very slightly inaccurate unless your video framerate happens to be exactly identical to the NES framerate, please don't use it

 
  TheRealSampaiTheRealSampai

Glad this was posted as I came here to ask about the game crashing as you enter the chamber. Does anyone know what causes this? It has happened the last few times in a row for me.

 
  KiruaKirua

It's random as far as we know. That being said, it's supposed to be uncommon. If you got it many times in a row (in fact if you get it even once), i'd recommend hard resetting the console (or emulator?) instead of soft reset. Some memory values are not dumped after a soft reset and it's not out of the question they could affect the warp and cause that every time. Particularly considering they can affect some other aspects of 7-1.

TheRealSampaiTheRealSampai likes this.