Lord_Tom
He/Him
Expert player (3273)
Joined: 5/25/2007
Posts: 399
Location: New England
Got 36:19 on track 0; comparable improvement should be possible on track 1. Should be a couple weeks to get this run together. :)
Experienced player (699)
Joined: 2/19/2006
Posts: 742
Location: Quincy, MA
Lord Tom wrote:
Got 36:19 on track 0; comparable improvement should be possible on track 1. Should be a couple weeks to get this run together. :)
Very cool. Beats my best on console track 0 time by 7.50 seconds. I love how the TASes always pwn me at the games I rock at.
Super Mario Bros. console speedrunner - Andrew Gardikis
Lord_Tom
He/Him
Expert player (3273)
Joined: 5/25/2007
Posts: 399
Location: New England
I'm 2/3 done with an improvement to tracks 0,1,2,5 that will save a bit over a second overall. Unfortunately, there seems to be some laxity between optimal real-time and track-times, as well as seemingly arbitrary frame gains/losses between tracks. As a result, the timer for track 3 starts 2 frames later relative to when the bikes start in the published run, giving me a slower in-game time despite completing the level at exactly the same speed. Anybody know about this behavior? It seems to me kinda frame-rulish...
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I recognize this, I've TASed several games where the in-game time depends on a timer that's constantly running in the background, even between the levels. For example, it could be a timer (let's call it A) that runs from 0-255 constantly, and the in-game timer increases/decreases whenever A is divisible by 16. In this case, you want the level to start when A is as far away from a multiple of 16. I haven't looked at it in this game, but there usually isn't a way to manipulate this timer, usually you'll have to start the level slightly sooner/later in order to achieve the best possible in-game time. If you're having trouble finding the necessary RAM address(es), I can try and find it for you, I've dug up these kind of addresses before. Just throw me a PM with the movie file if you want to keep the movie from the public for the time being. :)
Lord_Tom
He/Him
Expert player (3273)
Joined: 5/25/2007
Posts: 399
Location: New England
Thanks, Randil, will give it a look. I suspected something like that was going on, but was hoping for a (manipulable) alternative. Unfortunately for Excitebike there doesn't seem to be a way to drop frames during the transition between tracks, meaning the only way to get the best in-game time for track n+1 may well be to lose time on track n. On the happier side, it looks like I actually benefitted from this effect on an earlier track...:)
Lord_Tom
He/Him
Expert player (3273)
Joined: 5/25/2007
Posts: 399
Location: New England
Ok, figured it out. Just as Randil said, there's a 0-255 counter at 3f which drives the speed counter (0-3 loop). When a level starts, another counter at 7e5 is counting down; after it reaches 0, there's a set number of frames before the in-gamer timer starts, BUT a variable number of frames before the engine starts depending on what the speed counter is doing. Optimal behavior occurs when, on the frame 7e5 wraps around, the speed counter is going from 2-->3. In the worst case scenario, 7e5 wraps when the speed counter is going from 3-->0, resulting in the loss of 3 in-game frames. Looking at tracks 0-4 for my and JXQ's runs, we're even overall in terms of this effect. However, JXQ's run has the best possible outcome for track 5 (I'm not there yet), so my run will end up 0-3 frames down because of it, without any obvious way to avoid it, though I'll check if there are cases where losing 1-2 frame in a certain level gains >1-2 frames in the next one. This run should hit the workbench in a week or so...
Experienced player (699)
Joined: 2/19/2006
Posts: 742
Location: Quincy, MA
I always wondered... does pausing and unpausing the game right when a track starts faster than just waiting there? I'm guessing it's the same amount of time, just a thought. EDIT: Also, definitely looking forward to this one. Hopefully I can improve my console times a bit more.
Super Mario Bros. console speedrunner - Andrew Gardikis
Lord_Tom
He/Him
Expert player (3273)
Joined: 5/25/2007
Posts: 399
Location: New England
Pause/unpause takes a long time in this game due to the annoying sound effect, so it can't be of practical use. Also, just found that I can, in fact, drop a frame in track 2, letting me start track 3 3 frames earlier, so it should be possible to achieve a (tiny) net benefit from the annoying counter behavior.
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Lord Tom wrote:
Also, just found that I can, in fact, drop a frame in track 2, letting me start track 3 3 frames earlier, so it should be possible to achieve a (tiny) net benefit from the annoying counter behavior.
I think this brings up an important question about entertainment/speed trade offs for this game - personally, I'd rather see track 2 beaten 1 frame faster and wait 3 more frames between levels - I really don't mind those 3 extra frames between the levels. I think it's more important to optimize the actual play time. That's just my opinion, although now that we're talking about these very tiny time differences, I don't care much either way. :)
Experienced player (699)
Joined: 2/19/2006
Posts: 742
Location: Quincy, MA
I definitely want to see the fastest track times for each track. I mean the actual time of the TAS doesn't seem as important to me.
Super Mario Bros. console speedrunner - Andrew Gardikis
Senior Moderator
Joined: 8/4/2005
Posts: 5770
Location: Away
I'm with andrewg here. Track times are more representative of optimization that's going on.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Lord_Tom
He/Him
Expert player (3273)
Joined: 5/25/2007
Posts: 399
Location: New England
I may have explained things "sub-optimally" ;) As it turns out, with the technique I'm referring to, the in-game/realtime distinction is not important. To illustrate, here are the 2 simplified scenarios: Finish Track 2 as fast as possible: Track 2 (real): +0 frames Track 2 (in-game): +0 frames Track 3 (real): +3 frames Track 3 (in-game): +3 frames Total: +3 frames Drop a frame in Track 2: Track 2 (real): +1 frame Track 2 (in-game): +1 frame Track 3 (real): +0 frames Track 3 (in-game): +0 frames Total: +1 frames Two conclusions from this: 1. Overall, time is saved by dropping a frame in track 2 BOTH real and in-game 2. It is not possible to get the fastest possible in-game time for both tracks I do agree that in-game time makes the most sense for this game since that's what flashes up on the screen (and to follow precedent).