Jump to content
IGNORED

Speedruns


Timmo
 Share

Recommended Posts

For anyone interested in seeing the insane shmup run from GDQ that people were talking about the other day, here's the official upload. Even if you have no interest in the genre, this is an incredibly exciting and tense run. 

 

 

Link to comment
Share on other sites

Been catching up on VODs over the last couple of days - the Fallout Anthology run by TomatoAngus (silent G) is a fantastic watch and commentary. Dude usually uploads some proper shitpost speedruns on YouTube, so seeing a much more reigned in tone worked amazingly well and was properly funny.

 

Trying to watch the FF8 run in chunks, which is also able to keep my attention with the commentary. Absolutely didn't occur to me that you can brute force the earlier fights with low HP limit breaks (I remember the Aura cheese, mind). Also didn't realise Triple Triad's RNG was determined by when you hit the 'play' action!

Link to comment
Share on other sites

1 hour ago, Siri said:

Been catching up on VODs over the last couple of days - the Fallout Anthology run by TomatoAngus (silent G) is a fantastic watch and commentary. Dude usually uploads some proper shitpost speedruns on YouTube, so seeing a much more reigned in tone worked amazingly well and was properly funny.

Run in question.

 

 

The Fallout 4 part of the run is highly interesting as the runner explains in great and entertaining detail how and why speedrun tricks work. FO4 starts at the 1 hour mark run time or 1 hour 2 minute mark YouTube time

Link to comment
Share on other sites

Saw the Zelda Skyward Sword run. Lost track of everything eventually. What I got was that if you die and reset when restarting, you spawn as the character in the title screen. Then you can play through the game in the splash screen, opening certain save files to trigger certain flags, which then copy to the save files, but those flags relate to the location of the save file rather than skyloft. Looks utterly bizarre and misses almost everything.

Link to comment
Share on other sites

A few days ago this was discovered:

 

 

From the video description:

 

Quote

Several new innovations means that SRM ACE any% can now be done on humans on the N64 console. Speedruns can be done in under 14 minutes using this method, meaning over three minutes are saved by it.

 

- By adding a few more transitions back and forth between the deku and kokiri room, spawning different actors each time, we add a lot of degrees of freedom to manipulate the heap. This allows us to find a heap manip that not only allows us to SRM an actors's function draw pointer (which is harder on N64 compared to iQue), we can also influence the angle we have to drop our unloaded rock at to be C000, a cardinal angle which is fairly easy to get. Finding this manip required hacking together a heap simulator specific to Kokiri forest (which has many unusual actor allocation behaviours).

 

- Two obvious things I missed previously: you can pause during Walking While Talking to make the A button no longer softlock, giving unlimited tries and picking up and SRMing the rock. Also you can walk behind the kokiri shop which makes navigating during the blind section safe and easy.

 

- The camera "likes" to lock to cardinal angles, especially when Link is almost facing them, holds ess forward, and some other situations. This lets us drop the rock with angle C000 making a certain immobile rock's draw function pointer be 801F0000

 

- Thanks to the new heap manip, when we spawn the seed its rotation will itself be located at 801FC000. We get its horizontal angle to the right value by climbing the fence and pause buffering an exact number of max inputs to the right, and its vertical angle using an idea by Jolin012 where we can tell exactly what our Y input is by going into c-up mode and checking exactly where the camera settles. We use the N64 controller's neutral reset feature (L+R+Start on a real controller) to transfer such an exactly measured input into slingshot mode and rotate up by a certain number of frames, then max input down and rotate a bit more. All this gives Link an overall angle of 0CAE5DA3. At this point, we need to ready a seed and cancel it at the third frame, giving it an angle of 0804697D. Interpreted as code, this is a jump to filename (on version 1.0).

 

- Finally, the ACE itself had to be reworked to not require any non-RTA viable inputs (meaning no precise joysticks). Brainstorming together with Natalyahasdied we were just barely able to find a way to do this. The immobile rock next to the punching Kokiri has been SRM'd to jump to seed rotation. The seed rotation jumps to filename. The filename stores the value in the "$gp" register into the game's current cutscene, and then jumps to controller 1. Controller 1 loads the value FFF6 or FFF7 into $gp (both work) using the buttons Z + ddown + cup + cdown + R, and the joystick in position X = -1, Y = -9/-10. The Y position can be found easily enough using the visual cue of the screen rotating very slowly with the slingshot out. The X position has no cue, but if you get the value wrong, the game will simply continue without any issue and you can continue to adjust the stick (also -1 isn't exactly a hard value to begin with). Controller 3 is simply a jump to safety that uses only easy inputs, specifically ddup + cleft with the joystick at -128,-128 (which requires resetting neutral while the stick is in the top right, then moving it to the bottom left). All this code actually has to run twice before the credits warp will be triggered, but this happens anyway because draw functions run every time. So if our heap manip, drop angle, seed angle, and controllers were all right, we get a credits warp!

 

Another explanation:

 

https://www.reddit.com/r/speedrun/comments/ep0edw/rta_viable_credits_warp_in_kokiri_forest/fehg486/

 

Quote

So the general idea behind the trick is this:

 

You want to pick up a rock and then have it unload from memory without Link becoming aware that it has unloaded. This results in Link's held actor pointer pointing to a memory location that is free for reuse. Most of the "random" stuff happening before the rock is lifted is done to force the rock to load at a specific memory address. With nothing in hand, we reload the room, and now the the memory address that use to store the rotation of the rock now stores the low half of the draw function pointer of the rock that the Kokiri child is trying to lift (which I'll call "kid rock"). Since "kid rock" isn't in view range, the draw function doesn't execute, and we can safely spin Link around to set the draw pointer to jump to a specific address, and lock it in by throwing the held nothing. You then use the slingshot to fire a Deku Seed that has a specific set of X and Y rotation values. You do a few things before this though to force the Deku Seed to be in a memory location such that the draw function pointer points to the seed's X and Y rotation values. Lastly, you get into a specific position and hold down a specific set of joystick and buttons on controller one and controller three. The game camera then moves automatically such that "kid rock" now starts drawing itself and activates it's payload.

 

The payload itself works like such:

  • The "kid rock" draw routine jumps into the XY rotation components of the Deku Seed
  • the XY rotation forms a jump into the player's name.
  • the player name is crafted to run a single opcode that sets the current cutscene number to the state of the $gp register (which is 0) and another jump, this time into controller input
  • the $gp register is special in that the game never uses it for anything
  • controller 1's input attempts to set the $gp register to either 0xFFF6 or 0xFFF7
  • controller 3's input simply sets a jump that will eventually give control back to the game
  • finally, since the draw function is called on multiple frames, the next update cycle will write a cutscene number 0xFFF6/0xFFF7
  • with the cutscene number set, a cutscene plays. In the RTA route, the last cutscene that was played is going to be the title screen cutscene, which forces Link's position to be out of bounds, forcing a void out
  • finally, you respawn into the the credits

 

 

Got that? Me neither.

 

 

 

 

Since this was discovered, Lozoots has been playing LOZ:OOT a lot:

 

qMT1uxw.png

 

The current record (skip to about 9:35 for the start of the weird, apparently random, actions):

 

 

Link to comment
Share on other sites

  • 2 weeks later...

Just got round to watching the AGDQ 2020 Super Metroid Impossible run. What a game to end on.

 

If anyone hasn't seen, they do a few panels at the events which are up on YouTube. Here's one I found quite interesting on the submission process. Looks like they're encouraging more wider displays of skill other than speed-running, hence the shmup and previous Tetris blocks, etc.

 

 

Link to comment
Share on other sites

  • 2 weeks later...

Narcissa Wright got OOT down to 9:09:

https://www.reddit.com/r/speedrun/comments/ezjime/the_legend_of_zelda_ocarina_of_time_any_90985_wr/

 

EDIT: And a few hours later, she gets an 8:48 :lol: https://www.reddit.com/r/speedrun/comments/ezsomu/oot_any_848983_by_narcissa_wright/

 

 

 

However from the comments, this doesn't count as a world record :

 

Quote

These new "WRs" using Slingshot Skip are currently not accepted on the leaderboards, since they require hardware mods and/or input viewer to execute. This may of course be subject to change. Lozoots currently still has the WR on the official leaderboards: https://www.speedrun.com/oot

Finder of the skip MrCheeze describes it as "TAS only" for that reason: https://youtu.be/mamKr3ITNaI

 

Quote

This strikes me as odd, given the first ACE route required a controller 3 held in position with rubber bands. Seems like it also required tools, but was AOK since it broke ground for this new regime of WRs.

Quote

Yeah, it was opening a can of worms. Though the original ACE credits warp was made RTA viable by making the joystick position a humanly possible bottom left corner (-128, -128). That position is easily found and theoretically that could just be held with your feet. Slingshot skip requires some weird in between position (+105, +125) that you can't even manually find without additional tools and would be more difficult to hold as well.

 

More technical stuff from that linked video!

https://www.youtube.com/watch?v=mamKr3ITNaI

 

Quote

Since the discovery of the Kokiri credits warp, there have been two holy grails left for OoT any% speedruns: ocarina skip and slingshot skip. (Sword/shield/nuts cannot realistically ever be skipped.)


On Jan. 18, Jolin012 and r0bd0g found the first ocarina skip, but it was kinda slow, dependent on an RNG seed drop, and required calculating a new heap manip: https://www.youtube.com/watch?v=b45xe...


On Jan. 30, before we had even worked out a new heap for the previous method, Blini found a new ocarina skip that suffered none of these issues: https://www.youtube.com/watch?v=hYXq5...

 

So all that remained for any% to be "solved" is slingshot skip. The reason slingshot has been needed so far is this: Using SRM, we can make it so that the code intended to run a certain immobile rock's draw function instead jumps to elsewhere in memory. But via SRM alone, we can only jump to locations within the actor heap, not to truly manipulable locations such as filename. But slingshot seed rotation gave us one extremely manipulable 32 bit word on the heap, so we were able to use draw pointer SRM to jump to seed rotation, and from seed rotation to filename, and use filename to credits warp.

 

Eliminating slingshot from the run means either finding something else on the heap we can manipulate enough to form a jump to filename, or else coming up with a new ACE entrypoint other than draw pointer.

 

One candidate for this is short coordinates. Certain actors, such as deku nuts and spin magic, have their coordinates stored within them as short ints. In particular, their Y and Z coordinates form a single 32 bit word that we can use as an instruction for ACE purposes. Unfortunately we're constrained by what Y and Z coordinates are actually achievable in Kokiri Forest, so we can't form a "jump to filename" instruction. One of the few meaningful instructions we can form is "jr", meaning jump to the address currently located in some register. Taking a look at what addresses happen to be located in registers at this time ( https://pastebin.com/PGc5f6aH ), most of them don't seem to point to manipulable memory... with one notable exception. By some amazing freak coincidence, register $t3 JUST HAPPENS to be pointing exactly at controller 3 inputs in memory. That's right, controller 3 is making a comeback with this strat. By inputting an exact input on controller 3 - including, most notably, a unit-exact joystick input - we can jump to filename and finally use the filename itself in order to trigger the credits warp, in the same manner as the previous strat. 

 

So, the overall ACE flow goes like this:
Immobile rock draw function pointer (801F9004) - using SRM, we manip this to have a value of 801F8000, so that execution jumps there when we look at the rock.
Spin magic YZ position (801F8000) - climb the cliff and use the setup that I do to set its Y position to 0160-0x017F (decimal 352-383) and its Z position to XX[048C]8 (decimal 8+64*n). Anything satisfying these constraints will form the instruction "jr $t3", which jumps us to the address already there for us in the register, which is 801C84E4.
Controller 3 (801C84E4) - Should have the inputs dup + cdown + (105,125) , which forms the instruction "j 8011A5F4".
Filename (8011A5F4) - This filename uses the same code as in the previous strat: "3. dベNgべ" which is  03EADFC8 A3B8CB53 which is "jr $ra; sb $t8, 0xCB53($sp)" which will set the "next cutscene" value to FFF8 on every other frame the kid rock draws, and then return.

 

Of these steps, only the need for an exact controller 3 joystick makes this whole strat a TAS one. But with this particular execution path, there's no way around that requirement.

 

 

 

 

On 19/01/2020 at 19:16, David Heath said:

This is why Any% in early 3D games is dumb.

 

Normally I agree: these glitch-filled runs are rarely my favourites to actually watch. I tend to prefer glitchless runs that at least bear some resemblance to the way the games were intended to be played, and retain the gameplay that appealed to me in the first place.

 

But I love following the progress of how these bugs and exploits are discovered and made practical for real-time runs. This period of OOT speedrunning is wonderful for that!

Link to comment
Share on other sites

  • 1 month later...

https://kotaku.com/white-house-doctor-we-need-millennials-to-stay-healthy-1842401810

 

https://www.youtube.com/watch?v=ZhNOuDYKkzM

at 12:50

 

Quote

Coronavirus Task Force response coordinator, Dr. Deborah Birx, called on millenials to take the threat of infection more seriously. Why? Because they are “part of that group that brought us innovation, particularly throughout all of their ability to look around corners and skip through games.”

 

“I always went level by level,” Birx said. “I didn’t realize you could go from level three to level seven—that’s what they’ve taught us. They look for things that we don’t see, we need them to be healthy.” It’s unclear which game Birx was talking about. Maybe Super Mario Bros. 3.

 

What on earth?

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Not a speedrun (this comes in under 5 hours while actual speedruns use a glitch to basically skip through 90% of the game - a recent GDQ stream featured it) but someone doing Alien: Isolation on Nightmare difficulty with no damage and no human kills. The absolute highlight has to be the notorious Medical section (see the 57:25 mark), where he barrels through it in under a minute when most players would just have fled under the nearest stretcher the second Alan makes his entrance then spend hours tiptoeing around in sheer terror.

 

 

I've found this a rather fascinating game to watch people play through generally as even without the big chap, people really struggle with basic things like understanding when the game is introducing things such as map terminals and interactables. What seemed straightforward to me was something a lot of people struggled with and while I admit my initial instinct were to think rather uncharitably about them, it eventually made me reconsider how prevalent conditions like ADHD actually are now* as it does appear many people now struggle to focus (especially on PC) and are constantly looking around everywhere like the proverbial blue-arsed fly and so constantly missing prompts and highlights right in front of them. It must be incredibly challenging for developers to balance creating an immersive world and unobtrusive UI elements while ensuring the game is also accessible for people with these kinds of issues and doesn't penalise them for it, and I guess in this case, CA failed to take such things into account.


Anyway, going way off topic now but yes, check out the way this guy does Medical, it's hilariously cathartic.

* In fact just recently, one streamer I do like recently did a video revealing he had been diagnosed with it and how difficult it made things for him generally, frequently missing and/or overthinking things when the answer was simple and directly in front of him.

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

I just went looking online to see if there was an online SGDQ, and not only is there but it starts in 24 hours. Weird! But also fucking brilliant, especially because the first few games are actually really interesting to me  - https://gamesdonequick.com/schedule

 

Also, here's an interesting video about SMB3 that I quite enjoyed earlier detailing how the run works. I've watched Mitch a few times and know he's incredible but the amount of work in a ten minute run is staggering when it's all broken down:

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Use of this website is subject to our Privacy Policy, Terms of Use, and Guidelines.