Proto:Spyro: Year of the Dragon/April 25th, 2000 build/Unseen Differences
This is a sub-page of Proto:Spyro: Year of the Dragon/April 25th, 2000 build.
Some of the differences can't be seen by the naked eye.
Contents
Level Names
The level select menu is the only location in this version of the game where levels are given real names. In the internal level list used by the portals (most of which do not exist), the Atlas (which is not usually accessible in this version), and the debug console (which is certainly not seen by the player), the levels are all referred to as "Level" followed by their level ID. None of these level names are seen under normal conditions. For the sake of comparison, their level select names, earliest demo names and final names are included below.
Apr 25 Internal Name | Apr 25 Level Select Name | May 25 Demo Name | Final Name | Present In Apr 25 |
---|---|---|---|---|
Level 10 | None | Sunrise Spring Home | Sunrise Spring Home | Yes |
Level 11 | None | Sunny Villa | Sunny Villa | Yes |
Level 12 | Cloud City | Cloud City | Cloud Spires | Yes |
Level 13 | None | Molten Crater | Molten Crater | Yes |
Level 14 | None | Seashell Shore | Seashell Shore | Yes |
Level 15 | None | Mushroom Speedway | Mushroom Speedway | No |
Level 16 | Sheila's Home | Sheila's Alp | Sheila's Alp | Yes |
Level 17 | None | Buzz's Dungeon | Buzz's Dungeon | No |
Level 18 | None | Crawdad Farm | Crawdad Farm | Yes |
Level 20 | None | Midday Garden Home | Midday Garden Home | No |
Level 21 | Iceberg | Icy Peak | Icy Peak | Yes |
Level 22 | None | Enchanted Towers | Enchanted Towers | No |
Level 23 | Swamp Party | Spooky Swamp | Spooky Swamp | Yes |
Level 24 | Rice Paddies | Bamboo Terrace | Bamboo Terrace | Yes |
Level 25 | Country Speedway | Country Speedway | Country Speedway | Yes |
Level 26 | Sgt. Byrd's Home | Sgt. Byrd's Base | Sgt. Byrd's Base | Yes |
Level 27 | None | Level 27 | Spike's Arena | Yes |
Level 28 | None | Level 28 | Spider Town | No |
Level 30 | None | Evening Lake Home | Evening Lake Home | No |
Level 31 | Aztarctica | Frozen Altars | Frozen Altars | Yes |
Level 32 | Lost Fleet | Lost Fleet | Lost Fleet | Yes |
Level 33 | None | Fireworks Factory | Fireworks Factory | No |
Level 34 | None | Charmed Ridge | Charmed Ridge | No |
Level 35 | None | Honeycomb Speedway | Honey Speedway | No |
Level 36 | Bentley's Home | Bentley's Outpost | Bentley's Outpost | Yes |
Level 37 | None | Level 37 | Scorch's Pit | No |
Level 38 | None | Level 38 | Starfish Reef | No |
Level 40 | None | Midnight Mountain Home | Midnight Mountain Home | No |
Level 41 | None | Crystal Islands | Crystal Islands | No |
Level 42 | None | Desert Ruins | Desert Ruins | No |
Level 43 | None | Catacomb Caverns | Haunted Tomb | No |
Level 44 | None | Dry Gulch | Dino Mines | No |
Level 45 | None | Harbor Speedway | Harbor Speedway | No |
Level 46 | Agent 9's Home | Agent 9's Lab | Agent 9's Lab | Yes |
Level 47 | None | Level 47 | Sorceress' Lair | No |
Level 48 | None | Level 48 | Bugbot Factory | No |
Level 50 | None | Level 50 | Super Bonus Round | No |
Moneybags Values
Looking over the array of values that Moneybags requests the player gives to him, we can see that (unsurprisingly) only four levels have Moneybags present at this point - all ones that can be seen in-game:
Level | Apr 25 Value | Final Value |
---|---|---|
Cloud Spires | 200 | 200 |
Spooky Swamp | 100 | 500 |
Sunrise Spring | 100 | 300 |
Icy Peak | 100 | 500 |
Molten Crater | N/A | 300 |
Charmed Ridge | N/A | 600 |
Midday Gardens | N/A | 700 |
Evening Lake | N/A | 1000 |
Desert Ruins | N/A | 800 |
Midnight Mountains | N/A | 1300 |
Frozen Altars | N/A | 800 |
Crystal Islands | N/A | 1000 |
Dongle Protection
Dongle protection is present in this build, which can stop the game from running on real hardware and certain emulators. There's a couple unseen strings which correspond to the protection:
BASLUS-99999SPYRO3
This string indicates what save data would be present in the dongle.
Bad Dongle
Should no dongle be detected, this string is output to the console.
Atlas and Options Menu
While the Atlas and options menu cannot be accessed under normal means in this version, there is some very basic functionality which can be accessed using external tools.
There are two WAD files corresponding to the Atlas contents, as opposed to the one used in the final game. Both contain apparently identical graphical data for the Atlas, but some different text strings and code. There are no gem, egg or character icons present at this point.
Atlas
The first of these WAD files corresponds to the Atlas, which can be loaded by setting the value at address 0x800694CC to 0x0C while on the pause menu.
Graphically, the Atlas looks very similar to how it does in the final game, except for the text layout on the page - the nine levels of each homeworld are laid out in a 3x3 grid on the page - though at this point all of the level names are simple placeholders. The font used by the Atlas is the pause menu font rather than the standard Atlas font. There's not a whole lot to do in this version of the Atlas, as changing the page just reveals the same page again.
The first WAD contains the following text strings, all of which are displayed on-screen. They're grouped by which of the two pages they appear on.
On the left page:
First Level Second Fourth Level Hub Sixth Level Seventh
On the right page:
Level Third Level Level Fifth Level Level Eighth Level
This all culminates in the level names taking the following layout across the double page:
First Level | Second Level | Third Level |
Fourth Level | Hub Level | Fifth Level |
Sixth Level | Seventh Level | Eighth Level |
Options
The second of these WAD files is near identical to the first, though notably the first three strings are switched out for the following, suggesting that the options menu would have, at one point, existed within an Atlas menu, rather than the standard pause menu:
Audio Video Memory Card
The rest of the graphics in this WAD - and seemingly, the code, too - match the Atlas WAD. As such, it doesn't appear that the options menu has any functionality at this point, aside from the page-turning simulator already present in the Atlas. It comes as no surprise to find out the page displays essentially identically to the Atlas, except that the first, second and fourth level names have been replaced. The page layout ends up with the following entries, including one nonsense entry thanks to the "Level" string being leftover from the Atlas:
Audio | Video Level | Third Level |
Memory Card | Hub Level | Fifth Level |
Sixth Level | Seventh Level | Eighth Level |
The page can be loaded by setting the value at address 0x800694CC to 0x11 while on the pause menu.
Shell Fragments
All eggs - except for the unusual ones used in Sunrise Spring - also come with unused shell fragment models within the same moby class. There are only three shell types, and all egg types seem to use the same three shell fragment models.
Spyro 2 Leftovers
While the title screen is obviously a Spyro 2 leftover, there's a few more leftovers that aren't seen during normal gameplay.
Strings
Several strings corresponding to mechanics and collectables that aren't present in this version are still knocking around.
Difficulty:
The minigame difficulty counter actually would end up being used in a few of the game's demos before going unused in the final game (despite still being present in the game's data). It's unused in this version, too.
You already have this orb
As orbs are the main collectable in Spyro 2, this is never used... except! The orb string can actually be seen by re-entering a level already entered using the level select cheat codes and collecting an NPC-given egg for the second time, as explained below.
You already have this talisman Talisman
Similarly, the associated Talisman strings are still present.
Cutscenes
The level and moby models used in the first two cutscenes of the second game are still present in the game's data, but none of this data is used and seemingly cannot be loaded, possibly because the code used to run the cutscenes are themselves not present. Attempting to enter the IDs of these cutscenes (70 or 71, according to Spyro 2) using the level select cheat code will simply cancel the code as if no cheat had been entered at all; the same cannot be said for other invalid values. Forcing the game to load these IDs will only result in crashing.
Loading Screens
Spyro 2's loading screens - the ones seen at the start of the game, before and after bosses, when travelling between worlds and when entering the demo mode - are still present.
Loading Skyboxes
The WAD containing the skyboxes shown during loading transitions is identical to the one in Spyro 2, meaning the loading skyboxes are the same. However, as the array handling which skybox is shown per level (address 80060ED0) is zeroed out, all levels show the loading skybox for Glimmer.
The loading skyboxes are all unused anyway, as the player cannot normally access Sunrise Spring in order to access a portal in this version. Despite this, due to the array being zeroed out, even if the player were able to reach Sunrise Spring they'd still need to modify the skybox array in order to view these extra skyboxes, making them... even more unused?
Many of these skyboxes - including the Glimmer skybox - do not appear in the final game.
Re-Entering Levels
Using the level select cheats rather than the menu allows you to re-enter levels without all the progress variables being reset. That is, the game will still be aware of the fact that you've already completed the level.
Of particular note is the egg behavior when re-entering levels. NPC-given eggs and eggs placed throughout the level behave differently in a number of ways in this build, but of particular note is that even eggs placed throughout the level seem to respawn on re-entry, something that would never occur in the final game (except for rare cases of minigame-given eggs that are essentially just eggs placed in the level disguised to appear to spawn from the minigame). They seem to not be saved as collected, so the player does not receive a notification telling them they'd already collected the egg when they collect them for a second time.
By contrast, the NPC-given eggs, when they can be collected a second time, do inform the player of this. However, they do so by telling the player that they have already collected that orb, due to leftovers from Spyro 2. The dragon name clashes with this notification, as seen in the image.
Adding to the pecularities is that certain features of a level do not regenerate on returning to the level as one would expect. Of particular note is that the end-of-level NPCs seem to only leave the level in Bamboo Terrace, Lost Fleet and Bentley's Outpost. There's no exit portals in this build, so these characters are not seen to leave their respective levels via portal as the former two would in the final game, but losing a life or entering a sublevel reveals that these characters are the only ones that despawn after doing so, in this version (with the exception of Sheila's Alp, but this is true of all NPCs in that level, and these are not NPCs that would leave the level, so it is not significant in this case). As such, it seems to be the case that the level ending mechanics were slightly more complete in these levels, possibly due to them all being levels created particularly early in development. For other levels, the end-of-level NPC will instead stick around upon returning to the level, and will even give you an egg a second time should you complete their tasks again.
There's a number of oddities surrounding a few aspects which don't seem to carry across as they should when re-entering a level:
- In Sunny Villa, the gates at the end of the level will lower again and trap the Mayor a second time.
- In Icy Peak, the gondola does not automatically travel down the mountain.
- However, the gondola can still be used without having to speak to the end-of-level NPC first upon returning to the level - by contrast, on the first entry into the level, prior to collecting the egg from the end-of-level NPC, the gondola will not work.
- In Spooky Swamp, the tea lamps unlight and the door to Sleepyhead has to be re-opened. No whirlwind to the end of the level spawns even when completing the level without re-entry.
- In Lost Fleet, the breakable walls return.
- In Bentley's Outpost, the pushable blocks in the final section inexplicably sink into the ground, presumably due to a glitch. This allows them to be pushed in ways they're not supposed to and seems to make the level impossible to complete.
"Empty" Level Slots
There is evidence in both this version of the game and every proceeding version up to the final game that suggests the game can handle another 3 levels on top of the 37 already in the (final) game. In particular, many arrays used by the game are 40 bytes long and even the arrays handling the conversion between the Level ID and the Level Number (the former starting at 10 and ending at 50 and the latter starting at 0 and ending at 36) suggest that there should be at least another two levels with IDs 60 and 61.
In fact, unpacking the WAD file used in the final game reveals that there are 6 empty WAD files after the level WADs. Since each level uses two WAD files (one for the data and one for the code overlay), one might draw the conclusion that these WADs are reserved for the remaining level slots. In fact, within the Atlas code, the game labels each of these three levels with the name "Empty".
In this version of the game, while most of the aforementioned six empty WAD files are still empty, two of the data WADs (presumably corresponding to levels 60 and 61) are non-empty, if it is to be believed that these WADs would be the ones that become the six empty ones in the final and they're not entirely unrelated.
As it turns out, the WADs are non-empty as they are the level and moby model files for the two leftover Spyro 2 cutscenes. Attempting to load levels 60 or 61 via a portal in the final quickly corrupts the VRAM and crashes the game. Oddly, some emulators treat entering level 60 slightly differently in this version than to the final, even preserving the appearance of the text after the VRAM corruption, perhaps suggesting that the text is still present in the data WAD that is being loaded, in some form. In said inaccurate emulators, the level transition text even claims the player is "Returning To Empty" in this version, whereas in the final game and in more accurate emulators and on hardware the game crashes much earlier than this.
Note that, despite the level IDs these WADs correspond to being 60 and 61, the cutscenes they represented in Spyro 2 had IDs 70 and 71.
Other Unused Assets
- Almost every NPC type for each level seems to have at least one (completely unused) talking animation, despite there being no audio dialogue present in this build. These are likely the ones that game would've used once the audio dialogue and lip syncing had been implemented.
- Hunter's Sunny Villa model doesn't have a talk animation, but it does have a number of animations that would only be used in Enchanted Towers in the final game. The animations are not present in Sunny Villa in the final game, and they certainly aren't used in this version. It's not clear whether the animations were made in preparation for Enchanted Towers or if Hunter was originally planned to have used his skateboard in Sunny Villa.
- The internal gem value array - which is almost entirely unused in this version, due to a lack of an Atlas, and the lack of an indicator that tells you when you've collected all the gems in a level - contains entries for all levels, including the three "empty" levels at the end of the array. In this version, all levels are set to have a total of 400 gems (which would total 16000 gems across the entire game), though the number of collected gems per level caps off at 10000 (as opposed to the final's cap of 20000). Fragments of this array are used in-game when using cheat codes, since one of the cheat codes maxes out the number of gems collected in each level and the current level's gem count can be seen via the HUD, but in fact the gem total is set even for levels that are totally absent from this build.
- The music array - which defines which track IDs to use in each level - has all levels set to use ID 04 (Spooky Swamp's theme) except for the levels which have their own unique themes (Sheila's Alp, Bamboo Terrace, Sgt. Byrd's Base, Frozen Altars, Lost Fleet and Bentley's Outpost). This also includes levels that aren't yet implemented in this build, as well as the three "empty" slots at the end of the array (though these slots would still be using 04 in the final game).