Submission #9517: rythin's Linux Yo! Noid 2: Game of a Year Edition "Crust 40" in 03:36.48

Linux
Yo! Noid 2: Game of a Year Edition
Crust 40
libTAS 1.4.6
12989
60.00000000009239
2447
PowerOn
noid.x86_64
v2.2
1caebaacf3f59d435b1fda0a61312533
This TAS is made using a self-ported version of the game, based on a mac build that was never officially released. I was given the unfinished mac build by a developer, as well as permission to redistribute it. Though the build is considered unfinished I could not find any significant differences from the official release.

Mac build: https://archive.org/details/yo-noid-2-goay-mac-v-2.2
Linux build: https://archive.org/details/yo-noid-2-goay-linux-v-2.2

Including the mac build in case you'd like to port it yourself.

-----

This movie uses a completed savefile to access the NG+ character. 
The savefile can be downloaded here: https://www.speedrun.com/yn2goay/resources/dzntx

This game is very prone to desyncs, making a verification movie unfeasible to make and replay.

-----

Sync stuff:
- -force-gfx-direct
- gettimeofday() on
- everything else off/default

The movie was made in 800x600 resolution, but there is no mouse movements so the movie should theoretically sync on any resolution. I've encountered a lot more desyncs trying to encode at 768p or 1050p (4:3) though, so ymmv.

On desycns, most of them I've encountered were on the first level. Occasionally Noid will miss the 2nd or 3rd jump. I simply restarted the movie until it synced properly, usually only took ~3 attempts to get it to go.

There's also a rare desync in the 2nd level (Swing Factory), where the camera turns a little too far left at the beginning. This one seems to happen more often at higher resolutions.

Level 1 also appears to desync a lot more when encoding. Personally I encoded from frame 220 (past the first load) to the end and then spliced it together with an encode of frames 1-220. Not sure how acceptable this is for TASVideos but I figured I should put it out there.

			
Submitted by rythin on 2/4/2025 10:55 AM
Submission Comments
CW: Flashing lights during the ending sequence
Half expecting this to be rejected for one of various technical issues (mentioned in movie annotations) but hey why not give it a shot anyway?
Yo! Noid 2: Game of a Year Edition is the anniversary update to the original game, adding a few graphical tweaks, new playable characters, and importantly reworking the player controller system allowing for some Shenanigans that were not possible in the original builds.
This movie aims to complete the game using the fastest character, Crust 40. (yes, the character is a reference to Crush 40)

Stage by stage comments

New York

The first level of the game is entirely cycle based, as I am reliant on the last boat moving up and down to get to the end of the level. Only real optimization here is jumping off the boat early and jumping off one of the billboard poles to hit the level end trigger from below the platform, rather than doing the intended wallrun across the billboard.

Noid Void 1

I use a tether boost here to get up faster. Tether boosts work by jumping shortly after releasing grapple. The sooner after release the jump is performed the more boost I get. My personal theory is that noid gets his gravity lowered when releasing grapple to make swinging around feel better, but I don't believe this has been confirmed.
After getting up I take an optimal line to the Swing Factory level entrance and touch the loading zone by jumping over the box in a precise way rather than jumping into it. I'm not sure if this is any faster than entering the box normally but it looks cooler!

Swing Factory

Throughout this level I make sure to always either stay near the edge of a platform when walking or jump on the first possible frame. This makes sure I don't set my respawn position so that when I death abuse later I can respawn at the beginning of the level.
The goal on this level is simply to obtain text storage and leave, the fastest way to do that is to skip the factory interior (the walljumps you see from the blue ramp) and talk to the NPC Grick through the wall. This enters the grick dialogue and drops Noid to his death, allowing him to move around with a text box up after respawning, something not normally possible. Once I've obtained text storage I can simply leave the level.

Noid Void 2

This is where the magic happens. A trick called Clamp Warp is performed to skip right to the final level, skipping the need to complete the usual 3 hub levels.
Clamp is the name of the function that runs whenever Noid enters the grounded state. Normally this is a way to track Noid's position relative to the center of the object he's standing on. When finishing a dialogue, the Noid is put into the grounded state for 1 frame, no matter if he's actually grounded or not. In that one frame, the clamp function runs, but because the Noid isn't really standing on anything, the offset from the last thing he stood on is applied to whatever is currently directly underneath him. This means I can transfer the offset from one object to another and teleport. In this instance our two objects are 'The Entire Damn Level' and the tiny little stop sign. By applying the offset of the former to the latter I can warp very far away. The rotation of the object being warped from appears to matter aswell, hence yanking the stop sign and warping at a specific point in the animation was necessary.
This was my best attempt at explaining the trick how I understand it. It's possible I got some details wrong but this is the basic idea.
After the warp I navigate to the final level entrance and perform a dab clip instead of opening the door like a normal person.

Mike's Lair

Nothing much to comment on here, I make it to the bossfight and manipulate RNG to the best of my ability to get good dice spawns.

Possible improvements

I'm still learning how to optimize 3D, I'm sure a good amount of frames could be shaved off simply from better movement, but I think this is a solid baseline.
I had many issues during the Mike fight, dice going through him and not registering as a hit. In general RNG manipulation seems limited to positioning/camera angle which is very annoying to test. I could probably improve many of the dice throws to happen earlier. I generally tried to hit him as soon as possible and if the die failed to register the hit I'd add an extra rotation and try again.
Last Edited by rythin 4 days ago
Page History Latest diff List referrers