TASVideos

Tool-assisted game movies
When human skills are just not enough

Submission #4456: Nitrofski's PSX Spyro: Year of the Dragon "117%" in 2:27:54.15

Console: Sony PlayStation
Game name: Spyro: Year of the Dragon
Game version: USA v1.1
ROM filename: Spyro3.iso
Branch: 117%
Emulator: PSXjin r723
Movie length: 2:27:54.15
FrameCount: 532449
Re-record count: 628767
Author's real name: Vincent Fortin
Author's nickname: Nitrofski
Submitter: Nitrofski
Submitted at: 2014-10-11 20:53:31
Text last edited at: 2014-10-19 19:31:23
Text last edited by: feos
Download: Download (85568 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:
This first ever completed TAS of Spyro: Year of the Dragon finishes the games with 100% (in-game 117%) game completion, in and outstandingly short 2:27:54! It achieves this feat by the use of carefully planned routes, precisely executed glitches and highly optimized movement.

(Link to video)

Game objectives

  • Emulator used: PSXjin r723 - This version is the first which can complete the game without triggering its Crack Protection (learn more...)
    • Bios: SCPH1001.BIN
    • "Enable Console Output" option must be checked
    • Every other option modifying emulation should be unchecked
  • 100% Completion
  • Uses death to save time
  • Takes damage to save time
  • Heavy glitch abuse
  • Genre: Platform
  • This movie first aims for fastest possible completing
  • This movie then tries to entertain as much as possible
  • This movie is intended for Moon, possibly Star?

Comments

History

In April 2013, I decided to start the laborious project that a 117% TAS of Spyro 3 could end up being. At this time, I knew little about the Crack Protection that prevented previous movies from getting finished, and I thought I may be able to bypass it and still finish it. I also considered that even if I couldn't finish, I would have achieved something big enough that I wouldn't mind.

I spent nearly 3 months TASing with a decently fast progression pace. Then I got to Spooky Swamp (2-3)... To realize that a door that was supposed to be opened was not. Indeed, during Sgt. Byrd's Base (2-C), the game randomly removed from my Atlas the egg that was required to open that door. Having hit the Crack Protection so early was like a punch in the stomach, yet I'm glad I did. Here is why:

After seeing how the Crack Protection was just preventing me from advancing, Hyperbug, some guy that had reverse-engineered Spyro 2's map system, offered his help to try and find a Crack to bypass the protection. It turned out to be a bad solution: it would have taken a LOT of time, and it would have made the submission to TAS video either very hard or impossible. Instead, he tried and succussed into finding a fix for the emulator, that he released under PSXjin's revision r723.

After Hyperbug officialised the fix, I went into trying out the movie into this new version with no success. Spyro bonked on the very first jump.

In the end, I didn't care. I didn't care that I had to start over those 3 months of hard work. It actually only meant that I had the opportunity to fix errors I knew I made and release the TAS with a much cleaner start. As a matter of fact, I saved 20 seconds over the previous version of Sunny Villa (1-1) and just as much in pretty much all of the subsequent levels, just from finding faster routes, using more optimized movement techniques and newly found glitches.

Oh. About newly found glitches... This TAS turned out to be pretty productive on the glitch-finding side. One glitch in particular - the Enemy Proxy, formerly called Dead-body Proxy - was discovered in Seashell Shore and saves an impressive amount of time throughout the TAS. Now... This newly found glitch would have also saved time in already TASed levels, but I didn't want to start the TAS over again, so I decided to just go on and live with the guilt of a sub-optimal start.

Generalities

In Spyro: Year of the Dragon, you play as Spyro, a purple dragon that has been granted the tedious task of finding and saving all the dragon eggs that got stolen by the nasty Sorceress. With you long-time partner Sparx, the dragonfly, you have to accomplish various tasks in order to find all the eggs and gather enough gems to be able to pay for everything Moneybags, a Brazenly Avaricious, Duplicitour, Larcenous Ursine (a bear) wants to sell to you.

Goals

To get 117%, the requirements are:
  • Get all 20000 gems
  • Get all 150 eggs

No skill points are required. Also, you need to get all 15000 gems 149 eggs in order to unlock Super Bonus Round, which has the last egg and 5000 gems.

Acronyms

  • SiA - Swim in Air
  • OoB - Out of Bounds
  • EoL - End of Level

Environment

The Spyro 3 environment is very similar to other games, yet has a few specificities:
  • Not all surfaces are solid. Yet, not all solid surfaces are visible.
  • All inaccessible level portals (i.e. Portals for which you haven't met the requirements) are stored directly under their respective location and can be accessed from Out of Bounds through various means.
  • All area portals have a larger hitbox than what is visible and some of them can be accessed through an inbound bleeding spot.
  • All eggs that are visible before the Hatching animation starts are at all time present somewhere on the map. If they are not visible (e.g. in the hand of a thief or during a cutscene), they are stored somewhere.

Glitches and Techniques (Alt.)

Flamecharge

Action of charging after flaming, causing some but not all gems to automatically home into Spyro upon spawning, up to a certain distance.

This technique is pretty much throughout the whole TAS. Unusual cases will be mentioned when necessary.

Wallglide

By gliding against an angled wall, you can avoid losing height during the glide, allowing to reach places usually too high or too far for Spyro.

Swim in Air (SiA)

As the name implies, SiA is a glitch that allows Spyro to swim in the air, just as if he was in the water. It efficiently allows him to reach places otherwise unreachable with the trade-off of the ability to flame.

Many ways exist to get SiA, and that in many levels. Each will be described in due time.

Spin-Jump

Turning while doing a stationary jump often results in Spyro gaining more height from the jump. Although this technique works with all characters that can jump, it is only used with Spyro and Bentley.

Bentley also combines the Spin-Jump to a club smash, which gives him an additional boost.

Enemy/Fodder Proxy (Proxy)

Proxying is the abuse of a game feature that prevents Spyro's hitbox from getting mixed up with an enemies or scenery hitboxes. In our case, all Proxies will regard things that you can kill, hence the generalization of the term.

By manipulating the game into not limiting our speed through various movement states, we can keep the instant velocity that was procured for longer than the 1 frame it was intended to affect Spyro. With Proxies, we can reach higher ledges similarly to SiA, or just go from point A to point B much faster.

Speed Lock - Side characters only

Small time-saver that allows us to keep the speed from a state through another for all side-characters. (Found during Seashell Shore). The way to trigger it is by locking the camera for 1 frame, every other frame, during a change of state or direction.

Uses:

  • Sheila can move during dialogs and egg cutscenes
  • Byrd can walk at flight speed
  • Bentley can push boxes at walking speed
  • Agent 9 has no use, because he can do even better

Zigzag - Agent 9 only

As Agent 9, mashing both strafe buttons (L1 + R1) alternately has the amazing effect of making him move at tremendous speed. Careful manipulation of speed and movement angle and direction allows for fast gem gathering, wall climbing/bouncing and, therefore, level completion. It is recommended to watch in slow motion to pick every detail of the Agent 9 parts.

Stage by stage comments

H: Homeworld - C: Special Character - F: Speedway (or Flight) - B: Boss - S: Sparx

(1-H) Sunrise Spring Home

First homeworld. After Sunny Villa (1-1), I get SiA using the waterfall right by there and use it to enter Sheila's Alp (1-C). Everything else is straight forward.

(1-1) Sunny Villa

The Sheila area is currently locked, so I access it from OoB. The rest of the level goes pretty much as intended.

(1-C) Sheila's Alp

Nothing special here.

(1-2) Cloud Spires

I use a jump to get to the EoL very early and trigger the activation of a whirling around the center of the level. The Belltower challenge portal have the particularity to keep the velocity from your exit of the area into the main level. This is abused to reach the upper area earlier and makes the route overall much cleaner.

(1-3) Molten Crater

We access Byrd's area by touching the bleeding part over the small hut. This level also has the first and last occurrence of Spyro paying moneybags for anything.

(1-F) Mushroom Speedway

Speedway stats:
  • Time Attack: 36.98
  • Race: 1:25.00

(1-4) Seashell Shore

First level including proxies. It is used in 2 spots, only one of which is really impressive and is used to skip straight to the Bluto area.

In the Sheila challenge, the Speed Lock glitch is used to walk away from the egg and the seals before their animations finish.

Finally, the only reason for the weird Spyro angle in the Wind Tunnel is entertainment.

(1-B) Buzz's Dungeon

Making Buzz run into a ledge will make him stop early, allowing you to hit him without minimal waiting. Turning the camera away from Buzz prevents him from raising his fire wall, which allows for earlier hits. Finally, hitting Buzz as close to Sheila as possible results in less time wasted waiting for Sheila to ground-pound him into the lava.

(1-S) Crawdad Farm

You can skip the Sparx tutorial by looking toward a precise wall and strafing your way up. You can also get unusual angles with Sparx by alternating 2 adjacent directions. The rest of the level doesn't have any skip.

Talking to Zoe after completing each Sparx level will grant him a new powerup. The powerup for this level is an extended range for picking up gems.

(2-H) Midday Garden Home

Between Icy Peak (2-1) and Sgt. Byrd's Base (2-C), I clip under a bridge and get SiA a really original way. The rest of the world has nothing really worth noting.

(2-1) Icy Peak

The route for this level to a long time to work out. The addition of Proxies made for a cleaner version than the "pre-crack-protection" version of the level. As well, I found a way to enter Nancy's area without paying Moneybags that didn't require a bunch of detours. In fact, it actually worked really well with the chosen route.

In this level, we abuse taking hits by charging the TNTs as it will result in their gem to spawn immediately and home into Spyro. As well, I used Spin-Jump in this level to climb onto the ice crystals and skip a few things (i.e. taking the whirlwinds, paying Moneybags).

In this game, if you die while getting an egg, your egg will still get registered to your inventory, but you'll respawn to the last checkpoint you hit instead of the checkpoint you would have gotten from the egg. This is abused to avoid having to glide the way back from an island, near the end of the level.

(2-C) Sgt. Byrd's Base

Sgt. Byrd's flight can be optimized a lot by pressing both strafe buttons at once.

(2-3) Spooky Swamp

So far, this is the level with the most Proxies out of all, by far. One of them is used to skip opening Sleepyhead door by lighting on the lanterns. The other ones are just route optimization.

(2-F) Country Speedway

Speedway stats:
  • Time Attack: 36.25
  • Race: 2:04.80

(2-4) Bamboo Terrace

The level starts with a Proxy that skips all the interactions with the pandas you have to do during the level, all of which take some time. I also get the EoL egg before entering Bentley's area so that, upon reloading the map, all panda interactions are assumed as done, getting a big boulder out of my way. A few proxies here and there to shave some time.

There is one proxy that I'm particularly proud of: the Proxy I get during a Mystery Jar breaking cutscene, before get Madison (and egg). The timing was pretty tight and the route of the whole room was pretty much based around getting that Proxy, since I had to either walk over or in the first "transition room" in order to spawn one of the enemies.

(2-2) Enchanted Towers

This level is unique for the fact that you visit the same area (the main area) with two characters.

This level also has the first occurrence of a big enemy (an enemy that cannot be killed by a charge) that can be flamecharged. Their hammer is a big obstacle to most flamecharges and can cause some flamecharges to be unachievable quickly, hence the fact some gems do not home in.

Skipping to the EoL leaves a lot of gems in the middle of the level that are faster to get as Byrd later on. While waiting for the statue to break and trigger the EoL animation, I go back to the start of the level using a Proxy and break a balloon bottle that is otherwise very slow to get as Byrd.

I tried to entertain as much as possible during the Skateboarding challenge as I had a lot of time to kill.

Finally, as Byrd, you have to be very careful when killing the inflatable flying green toads as they will not die and their gem will not spawn when they are not loaded, and they are only loaded when you look at them. There is one specific case where I do not wait for the gem to spawn before I look away because I relied on the fact that at the end of the bone-gathering mission, you get teleported in a position with a camera angle that would allow that inflatable flying green toad to die.

(2-B) Spike's Arena

By far the most entertaining boss of the TAS. It is the only boss from which you can Proxy, and Proxying from the boss is even used to save time by dealing the final hit on the first possible frame.

(2-S) Spider Town

By using a big spider to push you off the ground, you can strafe your way up the rest of the wall and skip unnecessary backtracks.

The powerup Sparx usually gets from completing this level (the ability to point at gems on demand) was not useful to a TAS, so I skipped talking to Zoe after the level.

(3-H) Evening Lake Home

This world's route had an additional restriction as Hunter get imprisoned a few levels in. Therefore, in order to be able to get all the eggs without revisiting any level, you have to complete Honey Speedway (3-F) and Lost Fleet (3-2) before this happens.

The only skip in this world, again, is to skip paying Moneybags to set Bentley free. Unlike both previous worlds though, this is not achieved through SiA, but through a basic glide OoB into Bentley's Outpost (3-C).

(3-F) Honey Speedway

Speedway stats:
  • Time Attack: 47.36
  • Race: 2:29.53

(3-4) Charmed Ridge

Charmed Ridge is another level that took a while to route. Some bullshit happened that forced me to reroute parts of the level, but in the end it turned out even better than I expected.

There is a lot going on in this level, but I think everything is obvious enough that I don't have to explain anything in particular. Here are a few things:

  • In Jack and the Beanstalk, I bounce off flowers (Proxy) and jump on mushrooms (early charge-jump)
  • Breaking the Mystery Jar and killing the EoL target can result in a softlock is the Mystery Jar isn't broken in time.
  • Proxies, proxies and proxies. This level is a contestant in the "Level with the most Proxies" category.
  • A huge Proxy after the EoL egg skips into the cave with the Fireball powerup. Fireball is then used to break Mystery Jar off in the distance.

(3-2) Lost Fleet

The first Proxy up onto the big boat saves time because you'd have to wait for the EoL character to get into position otherwise. I spend that time getting gems instead.

You can skip parts of the Skateboard race by reaching all 3 checkpoints in order every lap. Over the course of 6 laps, it saves quite a bit of time, but not quite a minute.

Submarine eggs take 13 seconds each.

(3-3) Fireworks Factory

A Fodder Proxy at the very start of the level skips having to take the cannon halfway through the level. The rest of the level is really straight forward.

In Fireworks Factory, you'll see for the first time of the TAS Agent 9's Zigzag in action. Don't blink or you'll miss it.

(3-C) Bentley's Outpost

Speed Locking is used to speed up pushing crates.

(3-1) Frozen Altars

Proxy, Wallglide, Proxy, Wallglide, Skip paying Moneybags, Cat Hockey, Impossible Jump, Boxing, Proxy, Proxy...

First Proxy skips melting the icy using the light ray. Second one just makes the route better. The "Impossible Jump" was just a jump nobody thought possible that, again, helps with making the route for the level generally cleaner.

Bentley's Boxing challenge requires a paragraph of explanation on its own. In this challenge, you play as Bentley. You have 3 attacks and 1 block. The block is useless. The 3 attack go as follows: A jab for 1 damage, a low hook for 2 and a high hook for 3. Usually, it would seem a combination of all 3 with very few jabs would be the best because of the damage per frame ratio, but it turns out the jab is glitched. Sometimes, instead of dealing 1 damage, you'll hit while the opponent is pulling up his guard and still deal damage. Since the opponent is then guarding his head, the game assumes you hit with a low hook and registers 2 damage instead. This is why I keep jabbing. Also, when the opponent is cornered, the "Guard break" effect, as I like to call it, is consistent, meaning a very high damage per frame ratio.

(3-B) Scorch's Pit

Pure RNG manipulation. Since possibilities aren't numerous, it was very easy to get a perfect fight. I tried to vary my attack style and to entertain during the fight.

(3-S) Starfish Reef

Most destroyed of all the Sparx level, this level is usually played as a dungeon, where you have to clear every room before progressing to the next one. By skipping OoB to the boss room as quickly as possible, we keep all the doors open and avoid having to kill everything on our way around the level to get the gems.

The powerup Sparx usually gets from completing this level (the ability to take an additional hit for Spyro) was not useful to a TAS, so I skipped talking to Zoe after the level.

(4-H) Midnight Mountain

Since the last Sparx powerup is very useful and saves a lot of time, our primary goal in this world is to play Sparx's level. To do so, we have to fight the Sorceress (4-B), which requires 100 eggs. We already have that. After the fight, we head of to Bugbot Factory (4-S) and then go off to do the rest. In order to unlock challenges in Dino Mines (4-4) and Haunted Tomb (4-3), we need to complete Agent 9's Lab (4-C). The route was pretty much straight forward from then on.

(4-B) Sorceress' Lair

The Sorceress fight is split in 3 phases: cannon, tank and UFO. In the cannon phase, you're only allowed 2 hits before it spits you out and all cannons despawn. In the tank phase, you're allowed 4 hits and in the UFO phase, you usually have 6 hits left to deal. Not only is it possible to deal an additional hit during each of the first 2 phases, it's also possible, with good timing, to get Agent 9 to take down, for instance, a cannon at the start of the tank phase or a tank at the start of the UFO phase. Now, the UFO is really slow. You always move forward, and you turn very slowly, so the cooldown between 2 hits is pretty big. It's obvious that it's faster to do what we call "UFO Skip" which skips the UFO phase completely. Finally, since Agent 9 is already moving toward another cannon when you're about to switch to the tank phase, it's faster to also have a cannon to drop during tank phase. We call that "Tank Skip". In the end, the TAS did both the Tank and UFO Skips during the fight.

(4-S) Bugbot Factory

Unlike the previous Sparx levels, this one waits a long time before giving you any powerup that could help killing the bugs faster. Since I quickly get overwhelmed by bugs, I decided to use Sparx as a weapon to get rid of all of those who were in my way. It turned out to be very effective. The rest of the level is played as intended.

At the end of the level, Sparx gains the ability to break barrels and vases for us. Since we don't have to worry about vases anymore, this ability saves quite some time. Sparx also gains the ability to warp you to any previously visited level, but that has no use here.

(4-2) Desert Ruins

This next level contains a very unusual method of Proxy. If you're close enough to the scorpions when they attack, they will miss and you will get propelled upward. This is used in a few places, just to optimize route or movement.

(4-C) Agent 9's Lab

Second appearance of our beloved Agent 9. Unlike the previous appearance, this level is exclusively played as Agent 9. Zigzagging is our main tool here: we use it for speed as well as to make usually impossible jumps, effectively skipping slow parts of the level. For example, I use the Zigzag to skip both electric doors in the last area, and to skip the long backtrack that you usually have to do with bombs in your hands to break the metal crate at the start of the level.

(4-1) Crystal Islands

Very special level here... In fact, it's probably the most confusing of all the levels in this TAS. The reason is simple: it has Proxies, SiA, Spin-Jumps, you get to use the flight powerup and keep it for a decently long time, and finally you get to glitch out the map.

First, SiA. This Crystal Islands has a few SiA spots, all of which are useful. In fact, all of them are used once in this route. The first SiA skips having to get the flight powerup before reaching the area with the exploding bottles and the key. It also skips having to get to the end of the level before getting the flight powerup. The second is used to get a gold gem without flying, but also and mostly in order to trigger the map glitch while swimming. Since the swimming state gets carried saved when hitting a checkpoint, we don't have to get it after trigger the map glitch.

Then, the map glitch. By triggering the load of the slide area at the same time as you trigger talking to the EoL magician, you cancel loading the area, but the map ID already changed for the one of the slide. If you then die, all the meta-data from the currently loaded map will be replaced by the one of the slide, resulting in all the gems, eggs, baskets, portals, etc. from the slide to spawn into the main world. Since most of the gems spawn over the void, you get them immediately as they spawn, hence the extremely loud bling noise after the death abuse. After triggering this glitch, all I need to do is to get the egg and all the gems that didn't spawn over the void, saving overall only a few seconds over doing the challenge normally.

(4-3) Haunted Tomb

Another special level, characterized by the fact that your main weapon is an explosive snowball. That snowball can be duplicated if you pick it up on the frame it explodes.

Really nice movement, a lot of unusual flamecharges and, to add on to this, a really impressive tanks challenge.

(4-4) Dino Mines

Last but not least level of the 4th world. This is your last occasion to see Spyro's normal movement, as most of the following levels are going to use the flight powerup. Not much is to say about this level: the route is straight-forward and there is nothing new about the challenges, except maybe that you can go through falling rocks in the wind tunnel.

(4-F) Harbor Speedway

Speedway stats:
  • Time Attack: 39.21
  • Race: 2:14.50

(BONUS) Super Bonus Round

The first thing you'll see is Spyro taking damage and skipping the 18500 gems door. This allows me to get the flight+fireball powerup, and therefore clear the main area completely at once instead of waiting until I unlock the door to kill the UFOs. I then complete the Submarines challenge in a tiny 10 seconds.

The Yeti race was good. I managed to squeeze in an additional skip by getting more of the gems in less laps.

Finally, the Sorceress... You usually have to jump on the UFO and kill her by shooting her, but you can Proxy off the UFO and glide to her, hitting her at a higher rate, so killing her in a way shorter time.

Other comments

It is possible to save time on the first few levels. As I mentioned earlier, I discovered Proxies in Seashell Shore and didn't feel like going back to the first few levels to improve them. There are also a few obvious mistakes throughout the whole TAS.

Suggested thumbnail: Frame 139730


Mothrayas: Judging.

Mothrayas: This run brings me back to the first run I ever judged: #3589: Crash41596 & Hutch's PSX Spyro 3: Year of the Dragon "Enter the Sorceress' Lair with 100 eggs" in 55:16.45. It was a great run, but couldn't be completed and couldn't be accepted due to emulation issues. I was looking forward to seeing the run that would defy the copy protection triggered by poor emulation, and would clear the game completely and do it justice.

Now, two and a half years later, that run is here - and it is well worth the wait. The run looks amazing, it is clear a very high amount of effort is spent on it and overall just looks pretty tight. Especially for such a long run of a 3D game, it is very well done. And despite the long length of the run, it never got boring, thanks to a lot of different factors: the constant gem collection everywhere which made the routing in every area a blast to watch; the variety of tricks and glitches in movement and bossfights; and the variety of characters played in this run with each their own unique actions and tricks (with special mention to Agent 9, whose zigzagging action added a whole new level of flair to the run).

All in all, this is an absolutely great run to watch, all the way through. I'm not sure what else I can say that wouldn't diminish it. Accepting to Stars.

Spikestuff: Time to eat some paper. Publishing.


Similar submissions (by title and categories where applicable):