Speedruns thread

Ghost X

Moderator
I wasn't exactly conscious of Dream's speed records, I liked his channel for other reasons. Sad that it seems he has cheated, given his videos seem pretty entertaining, and arguably would've had a large pull anyway. Guess that's greed for you.
 
TAS-only credits warp discovered for Paper Mario: The Thousand-Year Door. The game is cleared in 25 minutes by doing a very specific series of inputs with three controllers. Most humorously, 9 minutes are spent approaching a sign (in a very noisy fashion!) in order to reach a specific value for the Next Event ID.

Explanation video below.


It employs overflow- and heap manipulation to encode a single script command.

According to the end of the video this is NOT arbitrary code execution (ace) because the code itself is not being rewritten, but the methods of heap manipulation are still in the same vein as what you'd see in an ace run. This is the result of roughly five years of a collective effort to reverse-engineer the game's code and achieve arbitrary code execution. With this heap method they are getting pretty close to reaching that goal.

- [LOTAD] Paper Mario: TTYD Any% in 24:38 (Credits Warp) as executed by SolidifiedGaming
 

X-SOLDIER

Harbinger O Great Justice
AKA
X
Some really cool stuff in the SMC community over the last week.

April 7th, 2021 – Niftski broke the final second barrier in the SMB Any% with his run in 4:54.948

Bismuth does a REALLY good job of breaking down what the sub 9:00 barrier progress looks like, as well as covering the extreme challenges with breaking into the barrier of getting a 4:54 looks like in these three videos based on Kosmic's runs as well as TAS runs of SMB – though some are a little older now. I expect he'll make a new one for Niftski's run as a follow-up at some point.
2018:
2019:
2018:

This video shows all of the runs that broke the 5 final remaining "second barriers" in SMB, and where they saved time layered on top of one another. It's really interesting to see how they use different tactics and have different optimizations, approaches and efficiencies in certain levels, but they're all bound by the barrier of frame rules and specific tactics to really start to split them apart.

ADDITIONALLY:

Kosmic has been busy working with some folks on an SMB TAS Speedrun with minimal A Presses since 2016 that just got completed.

Feb 3, 2016 – Kosmic having the idea of doing a minimal A presses SMB TAS

May 27, 2020 – HappyLee showing some of their work in 8-2

April 10, 2021 – The Minimal A Presses Speedrun TAS is debuted on Twitch (on the 10th, and then put all the YouTube videos up on the 13th). One of the people watching this live for the first time is Niftski who'd just gotten his 4:54 run a couple days earlier.
HappyLee's footage of their TAS running in emulation with the inputs so that you can watch them super clearly.
A commentary by Kosmic & Kriller on making the TAS and some of the absolutely insane things the team did to pull it off.



X:neo:
 

X-SOLDIER

Harbinger O Great Justice
AKA
X
+1 to all of that, and his comparison to it being exactly like the methodology of a High Score Run rather than a Speed Run is spot on.

There's a perfect example of Speedrun-viable Pause use in Kosmic's Minimum A Press TAS video, and exactly how Kosmic describes it as well:
"It's literally optimal. You'll get a slower – the pattern doesn't come as quickly without using pause"

Using pause in a Speedrun of any kind should be something where it's not something for the PLAYER but it's something for the GAME. I think it mostly falls into three different use-cases:
  • In Kosmic's TAS, Pause use is causing the Cheep Cheep pattern to occur more quickly
    • That's solely about optimization of the in-game event speeds.
  • In Karl Jobst's Perfect Dark example, Pause causes the cutscene to play normally while the in-game timer is paused
    • That's solely about the reduction of the in-game timer total.
  • In Karl Jobst's Minecraft example, pause is allowing the player to gain information while the in-game timer is paused
    • That's solely about providing a break for the player for optimizing while removing any time-based pressure.
It's easy to think of Pause use like this. Imagine a game where there is an exploit discovered where you could trigger pause to occur every single frame. This would allow you to walk through a game with a map of frame-specific inputs taking as long as you need. By the end of that, you haven't created a speedrun, you've created a linear execution of a TAS without any time constraints.

At the core of the issue, it's the same struggles that arose because of NTSC & PAL where there is an unfair advantage given to users who have more ability to react to things in a longer period of time or because of frame rates have an easier time to execute particular functions. It's aslo not dissimilar from the underwater level in Mario 64 being optimized around lag, but that's because parts of those are hardware & software limitations that are universally shared experiences. That's also like Zelda 64, where some cutscenes can play at different speeds based on the RNG of how psychics objects interact, so that's just included as a part of the luck element of a run.

I think that the general rule should be that if pause is allowed in a game where it also stops the in-game timer, you should list the "Optimized Time" AND the "Execution Time" individually for both runs. The "optimized time" would always be the "WR Goal" because the execution time can always equal but never be lower than any given optimization time. That means there's a way for someone who doesn't use pause or who uses it most efficiently to have the world record. Meanwhile, someone who is really meticulous but uses pause a lot could find an optimized time for a real-time run and help establish a new "WR Goal" to try to lower existing execution times. Essentially the "Optimization Time" functions the same way that a TAS would in setting up goalposts for what the WR speed theoretically could be for a real-time execution.

That's really simple if you can run a timer side-by-side, like for most console games and like almost every speedrunner who streams already does. However, if loading times are an issue, as is hardware inconsistencies like it is with Minecraft – just apply the time spent on the pause screen as an offset value to come up with the "execution time" that avoids including disparate in loading times.




X:neo:
 

X-SOLDIER

Harbinger O Great Justice
AKA
X
Relevant to the Minecraft thing, there's actually a technical change that updates this in the latest 21W16A snapshot that was released today:
  • The statistic for play time has been renamed to play_time
  • There is now a statistic for “Time with World Open” (total_world_time) that also includes the time when the game was paused.
So, it looks like the devs are just stepping in and taking care of this from a technical level and side-stepping any issues that the community will have to deal with individually, which is pretty damn awesome, and also happened just... INSANELY fast.




X :neo:
 

X-SOLDIER

Harbinger O Great Justice
AKA
X
Karl does a good job of summarizing the things that I posted about, and was one of the people I'd been waiting on seeing a video from and was happy to today. I expect that we'll see a couple more of them still coming around over time once they've had the time to compile the content and make videos from people like Bismuth & Summoning Salt, so it's all still very much worth a watch as they each focus on slightly different elements and information on this – since it's a REALLY big deal for that game.



X :neo:
 

X-SOLDIER

Harbinger O Great Justice
AKA
X
Speaking of Tetris: There's a new style of gameplay in addition to DAS & Hypertapping that's looking like it'll make a big shift in getting more people into the competitive scene who weren't capable of the extremely fast execution needed for hypertapping.


It's also a little bittersweet, since long-time champion Jonas Neubauer passed away unexpectedly back in January, and it was the generation of players capable of hypertapping that finally managed to dethrone him, so there's a lot of wishing that we could've seen what he'd've been able to have done with this technique.


Still though, it seems like we're likely to have some really good competition coming up and more limits being pushed in the Tetris world that were previously much more limited or potentially impossible to have achieved without these techniques. It's always crazy seeing when old games that look to be hitting their theoretical maximums get new life and possibility breathed into them.



X :neo:
 
Top Bottom