Attributes
- Aims for lowest real time / frame count
- Takes damage to save time
- Uses all of the glitches I could find and one could imagine of
Overview
This is an improved any% TAS of SNES Hook, which improves the currently published run by Zidanax by 7206 frames. Stage by stage comments take emulation differences in account.
The massive improvement was reached after applying many newly discovered techniques and glitches I found, and keeping the general optimization higher throughout the TAS, and utilizing
a hitbox viewer LUA script I coded.
New glitches
There are a bunch of new techniques and glitches I discovered and only after that I decided to TAS this, due to realizing how enormous amount of time they could save together.
Edgecutting
It is possible to enter inside walls up to 3 px when starting from above or below them because of a fault in the engine. This is the most common method to enter walls and floors during the TAS.
Auto-zipping (left and up or both)
Zip which automatically moves Pan 1 block (16px) per frame left, up or both of those. Doable with various inputs after Pan is already inside a wall. Unfortunately this is rarely useful outside of the stages 8 and 10.
Zipping diagonally (all diagonals)
You need to be inside a wall: Pan's flying hitbox is shorter and wider than the normal hitbox which is used for collisions during all other scenarios. By rapidly switching the hitbox size it makes it possible to zip
towards any diagonal direction this way. 1 hitbox change = half block (8 px) zip. What defines the direction is Pan's Y-Speed direction (up or down) and facing direction (left or right).
Zipping up a wall (up only)
See stage 3 after acquiring flyfuel: this is similar to diagonal zipping except this time we aren't inside a wall. Flying against a wall with just correct Y-Speed and then starting to rapidly switch the hitbox size allows to zip
up the wall half block (8 px) per frame.
Storing water physics
See stage 5: it is possible to make the game think Pan is still underwater by avoiding certain blocks which have the purpose of deleting water flag. Having water physics outside of the water makes the game push Pan downwards
one block per frame (16 px). This was the only way I found to enter the floor near stage 5's exit and zip there as a shortcut.
Air underwater
Using edgecut and moving against the same wall while being underwater makes Pan lose the swimming state and you can for example start to fly underwater afterwards.
Flyrunning
With proper positioning and correct knockback framerule it is possible to store the speed of the flight (2ppf) into running Pan and build it up to 2.5ppf from there. Used twice during the TAS (stages 5 and 10)
Water -> ground speedkeep
Jumping to water keeps the previous X-Speed Pan had, and it is possible to maintain it with a frameperfect down input just after Pan emerges from water and starts to walk. Used once (stage 1).
Maintaining running without moving
Mashing down input as fast as possible makes it possible to just run stationarily and maintain the speed. Used on a few occasions.
Benefits of pausing
- Starting to run without a sword slash
- Getting the knockback framerule you want. Knockback operates on a 4-frame rule, and with pausing you can avoid the horizontal movement of it entirely (see stage 1: staying inside the wall after hitting a spike).
Things to avoid
This section is for listing the things which the player should avoid while playing.
Jumping and landing
Each jump and landing costs 1 frame.
Falling off an edge
Falling off an edge costs 1 frame unless you sword slash.
Flying while filling the flyfuel
Fuel fills at rate of 4 per frame but if you are flying, the rate drops down to 3.
Score calculation drawbacks during end of a stage
- Each unnecessary hp remaining costs 16 frames.
- Each flyfuel remaining costs 1 frame unless you have less than 16 flyfuel.
- Each stage second remaining costs 1 frame.
- Each stage minute remaining costs 10 frames.
Ground sword attack
Sword attack loses 1 frame at the end of it unless it ends midair. Acceleration is impossible during a slash.
Going without flyfuel
General rule of a thumb is that each frame of refilling flyfuel saves 0.5 pixels, so it definitely is almost always worth it to take all you can.
Horizontal movement speeds
- Walking = 0.75 pixels per frame.
- Jumping = 0.75 pixels per frame.
- Jumping after walking for one frame = 1 pixel per frame.
- Running with full speed = 1.5 pixels per frame.
- Flying = 2 pixels per frame.
- Flyrunning with full speed = 2.5 pixels per frame.
- Diagonal zipping (all diagonals) = 8 pixels per frame.
- Automatic zipping (left and up only) = 16 pixels per frame.
Stage 1: -172 frames
Score screen: +3 frames
- Water -> ground speedkeep and zipping were the main timesavers
Stage 2: -1 frame
Score screen: +1 frame
- This stage is very laggy on lsnes, so I had to find a route which avoided most of the lag but had some unnecessary jumps.
Stage 3: -338 frames
score screen: +5 frames
- More thoroughly optimized, zipping up a wall was used later on.
Stage 4: -442 frames
Score screen: +8 frames
- Zipping and killing the boss as low as possible helped a bunch.
Stage 5: -1169 frames
Score screen: -12 frames
- From flyrunning to zipping to air underwater to storing water physics. Boom
Stage 6: -310 frames
Score screen: -45 frames
- This icy stage was crushed with the enemy damageboost to get past the icy pillar much quicker, followed by an edgecut slopeclip.
Stage 7: +2 frames
Score screen: -1 frame
- Time was lost on purpose to make the knockback 4-framerule align in stage 8.
Stage 8: -3188 frames
Score screen: -29 frames
- Although this place is very dark, you may not see it but zipping was so helpful that it saved almost a whole minute.
- Boss strategy was improved aswell.
Stage 9: -159 frames
Score screen: +3 frames
- Some optimizations here and there, bird boss is killed much quicker and zip towards the exit saved some frames.
Stage 10: -1453 frames
Score screen: -25 frames
- Finally, a stage where auto-zipping could be used both leftwards and upwards! In fact the leftwards autozip had to be interrupted for a short moment,
or the area's exit just wouldn't spawn otherwise (what the heck?).
- Hook's area is mostly filled with slopes, which disallow zipping... Flyrunning saves the day!
Stage 11: +1 frame
Score screen: -32 frames
- For some reason, Hook was one frame longer invulnerable compared to zidanax's version, before the 1st strike could be landed. I wonder why.
Thanks
- Thanks to Zidanax for the previous TAS for providing existing material to compare against.
- Thanks to the speedrunning community for discovering a few useful things like clipping through midair slopes / ascent on midair slopes after receiving damage.
- Thanks to Aran;Jaeger for some feedback and attempting to help with the glitch hunt.
Truncated: Looking very good! The previous movies of this game didn't have that many tricks, so these new zipping techniques improve the entertainment of the movie in addition to making it faster. Accepting as an improvement to
[870] SNES Hook by zidanax in 14:27.98.