the cutting room mirror

Crash Bandicoot

This article has a talk page!
view on tcrf.net

Crash Bandicoot is more or less one of the killer apps for the PlayStation.

Over the years, the nitty-gritty of Crash's production and technology has been relatively well documented thanks to co-creator Andy Gavin basically publishing the game's floor plan. The game was the product of fighting with limited technology and codifying 3D platformers and would later be tweaked across regions. Bits and pieces of the game would fall through the cracks, including an otherwise finished level called Stormy Ascent.

Sub-Pages#

Resources#

Password Test Screen#

Crash1-Debug-PasswordTest.png

In the title/map/options/etc. level, if the game screen (GOOL global 18) is set to 14 (memcard screen) and GOOL global 1 is set to 10, a password test screen can be accessed, meant to test the integrity of the password encoding and decoding system. Spoiler alert, the password system functions perfectly. Once this screen is entered, you cannot leave it, as none of the buttons do anything.

The password test involves generating a random set of game stats, encoding them into a password, generating the inputs for the password using an "auto-password" system used exclusively for this test, type in the generated inputs, decoding the password, and seeing if the stats came out the exact same. The game tries to test one password per frame, but since the whole process runs through a lot of code and heavy operations, the game can only test around 20 passwords per second. The test runs forever, and if a trial fails then a few "no operation" instructions execute and the test simply stops running. Despite the instructions given, no text is printed to the console (no, not your game console) if an error occurs.

Since the game tests any combination of the 26 gems, any combination of the 2 keys, and a random amount of levels from 0 to 26 (even though the actual game has 30 on the main path), the total amount of different passwords it can test is 7,247,757,312. This will take forever.

Also, the "TESTING PASSWORD SYSTEM" title flashes.

Unused Levels#

Stormy Ascent#

Watch on YouTubeStormy Ascent is one of the most infamous cut levels from the Crash Bandicoot series. Originally meant as the final level of the game, it was later cut mostly due to its brutal difficulty.
To access it, use this GameShark code to boot into the level:

US

EU

JP

D0011DB2 3404
30011DB0 0022

D0011DD2 3404
30011DD0 0022

D0011DFA 3404
30011DF8 0022

(Source: Thread on CM Forums)

Programmer and Naughty Dog co-founder Andy Gavin provided commentary for its exclusion from the final version: ''

"It was too hard and we didn't have time to make it easier. I wish we had put it in as some kind of Easter egg, as it was an awesome level, one of my favorite in the game. Long, a bit brutal, but it looked great, and had a real rhythm to it."

''

The level was made available as DLC in the N. Sane Trilogy shortly after its launch, and built into later copies.

Cavern Grotto Level#

Watch on YouTubeAn eye-catching subterranean environment, this unused level was present (and also unused) in the disc of the April 8 prototype build. While all of its assets still exist on retail copies, and remain unchanged from the April 8th build, the game freezes when forced to load the level due to its older format, rendering it unplayable. The footage of the level shown above is therefore taken from the prototype. Its level ID is 04.
The level features a unique entrance not replicated anywhere else in the game, where Crash spawns airborne, and descends onto the scenery as if he had fallen down from above ground. However, the level itself is unmistakably unfinished - there are no obstacles or enemies present in this level, and the cave located across the wide acid pit leads nowhere, rendering it impossible to finish the level. There are various old fruits laid across the path, but do not appear as they refer to removed objects.

Bonus Round#

An unused bonus round level, meant for super long bonus rounds, of which there are none in the game, meaning you'll need an invincibility or similar cheat to get to the end. It has been left in a vastly incomplete state, with wrong outdated textures and old files, such as the crystals at the start having wrong textures and Crash's warp in effect being rainbow-colored. Tawna is meant to be waiting at the end, but missing files will make her crash the game instead. It has a similar layout to the Brio bonus rounds, with different colors, and files for Brio are also present. It contains old versions of the code files WillC (Crash), FruiC (fruit and pickups), DispC (HUD and bonus round selection), ShadC (shadows and boss health meter), DoctC (witch doctor Aku Aku), BoxsC (boxes and explosion particles), WarpC (warp out), KongC (Koala Kong boss), BonoC (bonus rounds), GamOC (general game progress) and CardC (memory card save/load and passwords). Its level ID is 26. The code is slightly newer than the E3 demo version of the game. Differences between the E3 demo and this one include:

  • Crash has his additional idle animation exclusive from the Japanese release.
  • Crash's Wumpa idle animation is now implemented, but a bit janky:
    • The Wumpa fruit performs a little zigzag when it flies upwards.
    • Crash turns purple before the Wumpa fruit falls on him.
    • No particles are made when the Wumpa fruit splatters over Crash's face.
    • If you move Crash around before the Wumpa fruit falls down, it will always land on him no matter his position.
    • The Wumpa fruit won't draw if Crash is facing sideways.
  • Crash doesn't have any voice at all, lacking the classic "Whoa!" sound effect when he dies, for example.
  • Crash will still perform his idle animations during invincibility.

Unused Ending Epilogues#

To do:
Check the North American version.

The normal ending after defeating Cortex was originally meant to, similarly to the ending in "The Great Hall", play a series of epilogues with each of the six boss characters. This cutscene-level has all the data needed for epilogues and even specific (placeholder) text for it, but the normal ending cutscene simply never plays them. With hacks, the epilogue can still be played just fine. The reason for their (partial) removal is unknown, possibly to make 100% completion have at least some sort of unique reward. In the Japanese version, the Pinstripe and Cortex epilogues have their translated level name as the title, possibly by accident/coincidence.

Unused Screen Offset Variables#

GOOL globals 44 and 45 set the horizontal and vertical offset of the screen projection respectively, and are completely unused besides being set to zero on boot. The vertical screen shake also offsets the screen projection, but is stored separately.

Oversights#

River Fish Shadow Oversight#

The fish in the levels "Upstream" and "Up the Creek" spawn a shadow, but it never appears in-game because the fish never set their shadow flag.

Normal

Fixed

Ripper Roo Shadow Oversight#

Ripper Roo spawns a shadow in his boss fight, but it never appears in-game because the shadow flag is never set.

Normal

Fixed

Pinstripe Boss Generator Oversight#

Due to an oversight in how the screen shake variable is checked, at the end of the Pinstripe boss battle when Pinstripe shoots the generator, the screen is moved up slightly and then back down after a few seconds. The original intent is to keep the screen shaking until the boss ends and Crash celebrates, which looks very nauseating anyway. The oversight happens in this piece of code for the generator (shown as Lisp pseudocode):

(if (< SHAKEY 0)
  (setf SHAKEY 4.0)
  (setf SHAKEY -4.0)
  )

At first, SHAKEY is set to -4. After the game finishes setting up its graphics matrices using the -4 value, it automatically flips the sign of SHAKEY and sets it one value closer to zero (in this case, -4 becomes 3). On the next frame, this code runs again: SHAKEY is not lower than zero, so it is set to -4. The game uses -4, sets it to 3, etc.. At the end of the boss fight, the value is set to zero, returning the screen to normal. This can be fixed if the branch condition is flipped.

"Lights Out" Sky#

The level "Lights Out" actually has a sky, meant to be seen when Crash takes the yellow gem platform up and outside the castle. Unfortunately, this nice view is never seen in-game as the model for the sky isn't set to ignore the natural darkness of the level. Oops.

Oddities#

"Generator Room" Cortex Render#

Generator Room

Final

Generator Room was one of the first levels made for the game - the texture work done for the monitors scattered across the map that plays an animated camera movement of Neo Cortex's completely static model was similarly done very early on and reveals what Cortex looked like at that point in development. He doesn't have the iconic N on his forehead and the circles under his eyes are black instead of red. His eyes are very different - instead of being stretched-out textures, they appear to be modeled with polygons, just like the other characters added to the game early in development (such as Crash, Pinstripe, and Papu Papu).

Unused Scenery#

Ripper Roo Offscreen Platform#

Crash1-RooHiddenPlatform.png

Just slightly off-screen in the Ripper Roo level, there is a platform on the side of the waterfall that is slightly offset. The idea that Crash would directly climb up the waterfall was explored in a scrapped level which was made much earlier in the game's development.

Sunset Vista Last Floor#

Crash1-Editor-SunsetVistaEndArea.png

The last floor of "Sunset Vista" continues well after the point where the level normally ends. The world geometry gets progressively more incomplete and less textured. The collision and camera function properly, but there isn't exactly much to stand on. There is an invisible wall at the far right edge at the end.

Unused Sounds & Sound Oversights#

The generator that is destroyed in Pinstripe's boss battle plays a sound that is played at such low volume that it is nearly impossible to hear in-game.

The sound of the boomerang hazard in the level "Whole Hog", itself not used in the final game.

The Japanese sound effect for Brio getting hit (the English version being a sort of "doh!") plays at a stupidly low volume in-game and is therefore inaudible.

Unused Music#

To do:
Demonstrate a recording of them in-game.

Four music tracks contain leftover note data that do not play a sound, either by accident or due to technical constraints. All of these missing instruments are also present in the "pre-console" versions released by Josh Mancell, the game's composer.

Level

In-Game

Fixed

Notes

Village (2D)

A flute sample can be heard towards the end of the track which was later used in the Jungle levels in Crash Bandicoot 2.

Power Plant (2D)

Some hi-hats are missing in-game.

Ripper Roo

The most notable difference here. The restored instruments include leftover snares, crash cymbals and hi-hats.

Koala Kong

Contains a missing cymbal instrument. This version of the song can be heard in the E3 demo.

Unused Bonus Round IDs#

The way bonus rounds work is that the game chooses a bonus round ID and the bonus round level separately. Each of the bonus round levels is split up into four sections, and each section spawns a set of objects (boxes) according to the bonus round ID. Even though all bonus round levels have four sections, the ending may be after the second, third or fourth sections. This means that you can play a bonus that's normally a Brio bonus in the Cortex bonus level or the long Tawna bonus level. There are five bonus levels in the game, one of which goes unused:

  • 24: Short Tawna bonus (2 sections long).
  • 25: Brio bonus (3 sections long).
  • 26: Unused bonus (4 sections long).
  • 33: Long Tawna bonus (3 sections long).
  • 34: Cortex bonus (3 sections long).

Bonus round IDs are also not linearly mapped to levels. Which bonus level Crash gets teleported to and which bonus round ID to use is determined in DispC, based on which type of pickup Crash has collected 3 of and the level you are in.

Pickup

Level

Bonus ID

Bonus Level

Tawna

Jungle Rollers

0

33

The Great Gate

4

24

Upstream

10

33

Rolling Stones

8

24

Native Fortress

1

33

Up the Creek

11

24

The Lost City

12

33

Temple Ruins
JP version only.

28

33

Road to Nowhere

13

24

Sunset Vista

5

33

Heavy Machinery

18

33

Cortex Power
JP version only.

27

33

Generator Room

2

33

Toxic Waste

6

33

The High Road

3

24

Slippery Climb
JP version only.

29

33

Lights Out

16

24

Jaws of Darkness

17

24

Castle Machinery
JP version only.

26

33

The Lab

19

33

(default)

0

33

Cortex

Sunset Vista

9

34

Jaws of Darkness

15

34

Brio

Rolling Stones

14

25

The Lost City

7

25

Heavy Machinery

21

25

Slippery Climb

20

25

"Lights Out" does not have any Tawna pickups in it, so bonus round 16 goes unused. In the Japanese version of the game, 8 new bonus rounds are added, and bonus rounds 22, 23, 24 and 25 are not used.

Watch on YouTubeWatch on YouTube

Code Revisions#

To do:
Document.

Code for one object may not be the same across levels.

Dummy Files#

Every version of the game contains dummy files to pad out the game's disc content. While these are normally used to push the data of the game towards the centre ring of the disc, according to Andy Gavin this was mainly to deter downloading rips of Crash over the internet2. The European and North American versions of the game contain the file ZBSPTREE.WAD, which is a little over 300MB in size and is filled with useless garbage data. The Japanese version of the game contains the files ABSPTREE.WAD, the same size as the previous file, and ZTAIL.WAD, a 40MB file filled with zeros.

Executable Text#

To do:
Some completely unused text and some other interesting things.

References#


  1. GameFAQs↩︎
  2. Crash Bandicoot – Interviews “R” us :: All Things Andy Gavin↩︎