Game objectives
- Emulator used: BizHawk-2.8
- Pay Moneybags
- Get your money back
About the game
Spyro is trying his best to help a poor bear in need of money.
Moneybags
Moneybags appears at 12 different locations, spread between 3 homeworlds and 4 realms, and he is asking between 100 and 1000 gems to unlock more or less useful things for Spyro. The total amount he asks for is 4100 gems, out of the 10000 available in the game. Once you defeat the final boss, you get back all the gems you gave him and he disappears from any of the 12 locations where you didn't pay him already (with all the things related to him unlocked).
Movement
Movement | Speed |
Proxy | Up to 1000+ |
Charging | 243 |
Swiming | 222 |
Gliding | 199 |
Charging (in the air) | 191 |
Walking | 143 |
Speed conservation (aka double jump, proxy, scenery proxy, ...)
Under most circumstances, charging while in the air will keep Spyro's vertical speed at the moment of the charge with a slow deceleration. Other movements like jumping and hovering can also preserve horizontal speed. This is the basis of several glitches, including:
Double jump: Charging at the top of a jump
Proxy: Charging at the same frame Spyro is forcefully ejected from an object (usually a dead body) which he can't cross except when charging. The closer to the object, the faster the ejection
Scenery proxy: Charging when the game reposition Spyro after he crosses a solid surface from out of bounds
Sproderman: Charging when glidding close to a wall is giving you a positive vertical speed (right before the glide is forcefully interrupted because you gained too much height from it) to gain even more height and start gliding again
The gem route
Each level contains 400 gems, and entering a new level has a loading times cost of 20-30 seconds, so the number of levels visited should be limited. There are 2800 total gems in the levels where Moneybags appears. The 4 speedways are by far the fastest levels to gather gems, as you can easilly get all 400 of them in under a minute. One of them is locked under a 6 orbs requirement, but there are enough of them close to our path for it to not be an issue.
While these levels alone make the total gems available equal to 4400, missing only 300 of them would require to get a lot of out of the way gems, to the point where it is better to add an extra level instead of going for them. I chose Breeze Harbor for this as it is the level with the highest concentration of high value gems (35 blue, 15 yellow) while it also has a swim in the air glitch available.
Picking the level in the first homeworld instead would have been great to not have to revisit it later, but I could not find an efficient way to do so.
Glimmer
Nothing special here, I went for the most direct route that didn't involve backtracking.
Summer Forest
Sproderman to reach the first orb, followed by a scenery proxy to barely reach the Ocean Speedway portal.
Ocean Speedway
Final time is 42.53, best known time without superflame is 45.35 (RTA).
Summer Forest
Second orb then out of bound into Crush.
Crush
While the fight seems pretty straight forward, Crush angle was manipulated for him to do as little rotation as possible before moving to his next spot, saving a few frames ervey time, and resulting in a fight ~52 frames faster than in the current any% TAS
Autumn Plains
With a double proxy (a frog ejecting Spyro into another frog), it's possible to reach an indecent amount of vertical speed, enough to reach the top of the level where some extra gems are waiting. The Gulp skip is very precise (literally pixel perfect on one of the 3 coordinates).
(Solving) Gulp
Be it in RTA or TAS, Gulp has always been a pain to deal with due to the amount of RNG involved in his fight.
While he has 8 HP or more, 2 birds will drop one egg each at a random location, which will hatch a fixed item (10 HP = barel, 9 HP = bomb, 8 HP = rocket) after a random amount of time. Once his HP drops below 8, the pattern is similar, except that there are 3 birds and the item hatched is random for each egg.
The optimal fight is 2 hits in one eggs rotation, then 2, 3 and 3. Since Gulp has some invulnerability frames between hits, so the absolute priority is to do the first hit of an egg rotationas as soon as possible, and then there is some leniency in the time frame you have to do the next ones.
So I made a deeper analysis on how all these events are generated and the result are the following:
1. Bird #1 (and Bird #3 if HP<8) is generated at a position based solely on camera position (he spawns behind Spyro) and at the same time the location where the egg will be dropped is randomly chosen between 25 different possible locations
2. Two frames later (60 FPS), Bird #2 is generated with the same logic
3. At the moment the bird drops his egg, the time for the egg to hatch is randomly chosen between 120 and 220 frames, and the item is randomly chosen (if HP<8)
The time for a bird to drop an egg is deterministic and based only on his initial position (256 possible values), the drop location (25 possible values) and whether it's Bird #2 or not (as he is not following the same paths than Birds #1 and #3) for a total of 256 x 25 x 2 = 12800 different combinations to check. It ends up that among these, there are exactly 2 combinations which allow the egg to be dropped 137 frames after the Bird #1 is generated.
Fastest drops for Birds #1 and #3 :
Fastest drops for Bird #2 :
So I went for this combination, manipulating the egg to hatch after 120 frames, and manipulating the other birds to drop their eggs on other close locations (and fast to reach for them). As such, this fight is more than 5 seconds faster than the current any% TAS.
Winter Tundra
I made a detour to get the superflame power-up in Dragon Shores. In the any% it isn't done because Ripto is still sligthly faster overall without the detour, but here since I have other levels to do (in particular speedways), it is worth to take it.
Canyon Speedway
Final time is 25.30, best known time is 26.70 (RTA).
Winter Tundra + Summer Forest
Getting the remaining gems on unexplored areas then warping back to Summer Forest.
Aquaria Towers
Lot of possible gems routes here, mostly limited by the fact that paying Moneybags teleport you further forward in the level.
Breeze Harbor
While in the swim in the air glitch, the game will softlock if Spyro is hit by any enemy.
Autumn Plains
Another double frog proxy to reach the island with the 6th orb and 75 gems.
Metro Speedways
Final time is 28.00, best known time is 28.06 (TAS).
Magma Cone
Different routes possible, I went for the one which seemed the faster to get exactly 200 gems, as it's the last moment when I had some leeway about which gem to take or not.
Icy Speedway
Final time is 30.36, best known time is 37.63 (RTA).
Winter Tundra
After unlocking the door with an headbash, you have a short time window when you can get a proxy, I used it to reach the pengouin faster.
Ripto
Phases 1 and 2 are trivial with the superflame. Phase 3 however is weird and I still can't really figure out what the faster strat is supposed to be. This version of phase 3 is 1.5s faster than the current any% TAS.
Special thanks
Moneybags for sponsoring this TAS (probably).
Possible improvements
Better gem route (I know, shocking).
Suggest screenshot :
frame 4999 or 5006
ThunderAxe31: This is an interesting idea for a new movie goal, and I really like the spirit of innovation of it. The goal set by the author is to pay all the Moneybags services available in the game, and then beating the final boss. It's just as simple as that, and results in middle ground between fastest-completion and full-completion. Really cool!
Accepting as a new Alternative branch.