We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Crash Bandicoot N. Sane Trilogy

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Crash Bandicoot N. Sane Trilogy

Also known as: Crash Bandicoot: Buttobi San-dan Mori! (JP)
Developer: Vicarious Visions
Publishers: Activision (INT), Sony Interactive Entertainment (JP PS4), Sega (JP Switch)
Platforms: PlayStation 4, Windows, Nintendo Switch
Released internationally: June 30, 2017 (PS4), June 29, 2018 (Windows/Switch)
Released in JP: August 3, 2017 (PS4), October 18, 2018 (Switch)


AnimationsIcon.png This game has unused animations.
AreasIcon.png This game has unused areas.
CharacterIcon.png This game has unused playable characters.
DevTextIcon.png This game has hidden development-related text.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MovieIcon.png This game has unused cinematics.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


PrereleaseIcon.png This game has a prerelease article

Crash Bandicoot N. Sane Trilogy is a remaster of the orange marsupial's original three games that helped form the PlayStation into the brand and console it has become today. Unlike the PlayStation-exclusive originals, ports for the Switch, Xbox One, and PC were made this time around.

Hmmm...
To do:
  • Revisional differences. Source
  • There's interesting stuff in the game executable and VVL/IGZ files; for example:
    • Leftovers from Skylanders Superchargers.
      • There's even textures and text too!
    • scripts/interop/game.vvl has information likely from Vicarious Visions' internal Alchemy Engine docs.
  • Maybe values in IGZ/VVL files have flags to enable the said debug menus?

Contents

Sub-Pages

Read about prerelease information and/or media for this game.
Prerelease Info


NotesIcon.png
Skylanders Superchargers Leftovers
A lot is here! This excludes files not specific to Crash.

Test Levels

There are currently three known test levels, referred to as "whiterooms" in the game's files. They are accessible in the Windows version without hacking or modding, and are confirmed to be in the PS4 and Switch versions.

C2 Level End Test

This level was used to test items related to the mechanic of finishing a level in Crash 2. It can be seen at the beginning of the video. To access this level, edit the launch options of the game in Steam and include this string:

--overridemap whiterooms/wr_c2_levelendtest/wr_c2_levelendtest

C3 Level End Test

This level was used to test items related to the mechanic of finishing a level in Crash 3. It can be seen at around 1:05 in the video. To access this level, edit the launch options of the game in Steam and include this string:

--overridemap whiterooms/wr_c3_levelendtest/wr_c3_levelendtest

Crates

This level not only tests crates, but a whole bunch of other features. Not everything is functional, though. Some unused variants of crates can also be seen here. It can be seen at around 1:23 in the video. To access this level, edit the launch options of the game in Steam and include this string:

--overridemap whiterooms/wr_crates/crash_crates/crash_crates
(Source: BetaM)

Unused Cutscene

Found in the game's files under the name "C2_Cortex_Crystal_05" is this unused fully remastered version of the original cutscene that plays when you get five Power Crystals in Crash Bandicoot 2. It goes unused because you no longer use the center platform to fight bosses, as they are instead located where the old save/load area used to be.

Various other cutscenes still have that type of oversight, however, like how Cortex still says he will talk to you when you get five Power Crystals like he does in the original. This, of course, never happens.

(Source: BetaM)

Unused Objects

Apple

Apple (Unused) Wumpa Fruit (Used)
CrashNST Apple.png CrashNST WumpaFruit.png
CrashNST Apple InGame.PNG

Simply referred to as "apple" in the game's files is this unused model of, well, an apple. It's more than likely an early version of the Wumpa Fruit.

costdownkevin

CrashNST Costdownkevin2.jpg
CrashNST Costdownkevin.jpg

Hidden in the \models\LevelAssets\Barrens directory is this strange untextured gingerbread man-like model, internally christened costdownkevin. It appears to have been named after Activision Editorial Manager Kevin Kelly, as part of a joke among the other developers.

Interestingly enough, this object is actually used in-game, although difficult to notice. It can be seen in the level "Area 51?", being found near Fake Crash on top of a cactus.

attacknode

CrashNST Attacknode.PNG
CrashNST Attacknode2.PNG

An untextured model of a Greeble from Skylanders Imaginators, atop a platform unusually labelled "attacknode". It is present in Junglerollers.pak, itself part of the \models\LevelAssets\generic directory.

The presence of this model in the files isn't quite as strange as it would initially appear, as N. Sane Trilogy was built within the same engine used for the Skylanders series.

Unused Characters

By modifying the zoneinfo files for Makin' Waves, Tell No Tales, Ski Crazed, or Hot Coco, it is possible to replace Coco and her jet ski with one of five unused characters. They seem to be unfinished, as none of them are capable of jumping correctly and their attacks don't always have an effect on crates or enemies.

CrashBandicoot

Unused Used
CrashNST UnusedCrashModelRender.PNG CrashNST CrashModelRenderFinal.PNG
Unusedcrashtrilogy1.PNG

CrashBandicoot.pak contains files for a model of Crash Bandicoot as he appears in Skylanders Imaginators. He has different animations to the ones seen in Skylanders, suggesting this version was either meant to be used for real, or was simply a placeholder until Crash's final model was made.

TemplateLegacy

CrashNST TemplateLegacy.PNG
Unusedcrashtrilogy6.PNG

TemplateLegacy.pak contains a test character presumably used as a starting point for other playable characters. He can be seen in a very early build of the game dating back to 2015, except this version is white instead of orange.

BlasterTech

Unusedcrashtrilogy2.PNG

BlasterTech.pak contains a rabbit character holding some kind of vacuum gun. Its abilities include a stomp attack, shooting dust bunnies, and launching a giant carrot into the air. Clicking in the Left Stick - an input not used anywhere else in the game - activates a green shield. Alternate textures exist for a blue outfit, possibly intended for some kind of team-based multiplayer mode.

BruiserUndead

Unusedcrashtrilogy3.PNG

BruiserUndead.pak contains files for an undead hockey player. He has a dash attack and an unfinished ice attack which actually seems to affect certain enemies. Just like BlasterTech, alternate textures for a blue outfit exist, and a green shield can be activated by clicking in the Left Stick.

WranglerFire

Unusedcrashtrilogy4.PNG

WranglerFire.pak contains files for a warrior character riding a fiery wolf. There are a few different attacks, including one where the warrior throws their axe and a charge attack which can be used to cross some pits. Again, clicking in the Left Stick activates a green shield. Alternate textures exist where the wolf and warrior are blue instead of red.

(Source: Cogmonke)

Unused Vehicle

Hmmm...
To do:
Get a screenshot of this, preferably from the game itself.

By modifying the zoneinfo files for Bye Bye Blimps, Mad Bombers, or Rings of Power, it's possible to replace the biplane with an early version of the Jet Stream from Skylanders SuperChargers, the files for which can be found in AirJet.pak.

Developer Text

Library %s could not be loaded. Check its consistency with the Alchemy dlls in use. System message: %s
%s: Alchemy cannot be re-initialized once its reference count has reached zero.
The headers used to build the Alchemy Core (version %d) do not match the currently registering dll or application (version %d).\nThis usually means some API changed and you are likely to get unexpected behavior.\nTo try and load the dll or application anyways, try putting failOnDllVersionMismatch = false in the Core section of your alchemy.xml
Alchemy v10.0.0 @local (win64-msvc-fin)\nBuilt by scano on Fri Jun 22 14:26:31 EDT 2018
Alchemy v10.0.0 @local (win64-msvc-fin)
http://vvnetlab01.vvisions.com/phprest/index.php/netdb

Debugging Material

Launch Commands

For the Windows version, these debug commands can be specified on a command line or the game's shortcut definition file.

Short Switch Long Switch Description Function
-st --smoketest Execute smoketest.
-stm --smoketestmap Map(s) being smoke tested
-sth --smoketestheroes Hero(s) being smoke tested
-fst --finalsmoketest Final build smoke test (cruder version of full smoketest)
-gt --gametest Execute Game Engine Tests
-cc --codecoverage Run code coverage.
-sttr --smoketestthreadedrender Allow threaded render during smoketest (breaks golden images)
-sp --saveprogress If we want to save our SmokeTest progress
-dx --debugxml Load the debug.xml file during smoketest.
-frh --forcereporthandler Force the report handler callback.
-mm --memorymonitor Enable Memory Monitor
-sr --setregistry Set a registry key
-wfdh --waitForDurangoHost Spam CTRL-Z at the end of smoketest so that DurangoHost.py can quit gracefully.
-om %map% --overridemap %map% Map to use in place of debug map from configuration file. Loads the given map immediately during the bootup.
-b --build Attempt to start and connect to a build server instance just for this process.
-bs --build-server Address and port of a build server (default: localhost:1000)
-ba --build-arguments Command-line arguments to pass to the build server
-bfd --build-final-data Request final data from the build server.
-ps4dm --ps4developmentmode PS4 Development Mode
-mmtid --matchmaking-title-id The title id to use for online matchmaking
-pc %d% --primarycontroller %d% The primary controller to use [1,2,3,4] when launching into a map.
-wd %wd% --windowdatafile %wd% The window settings datafile to use. Defaults to WindowData.igx.
-h --host Name of host computer.
-dn --dotnet Port to use for DotNet debugging (default: 7265)
-wfdd --waitForDotNetDebugger Wait for the DotNet debugger to fully connect before starting a level.
-wfvd --waitForVscDebugger Wait for the Visual Script debugger to fully connect before starting a level.
-gc --gamecomm Port to use for Game Communication (30001)
-hm --headlessMode Run in headless mode. (ShowWindow with SW_HIDE arg) Starts the game with the window hidden.
-gm --gameMode Set the game mode.
-warp --dx11warp Use the DX11 Warp software renderer on Windows platforms.
-cdf --cutscene-dump-frames Dump frames when playing cutscenes.
-ca --cutscene-animation Play a specific animation in a cutscene after level load.
-cn --cutscene Play cutscene immediately after level load.
-hdp --havok-debugger-port Which port to use for the Havok (API) debugger.
-join --join Gamertag to auto-join.
-4kf --4k-fullscreen Forces 4K resolution and fullscreen in the window. Runs the game in 4K fullscreen.
-4kb --4k-borderless Forces 4K resolution and borderless in the window. Runs the game in a 4K borderless window.
-perf --perf Enable perf reporter for levels at a 1080p resolution. Outputs .perf files for the given map, this sets your resolution to 1080p in fullscreen.
-perf4k --perf4k Enable perf reporter for levels at a 4k resolution. Outputs .perf files for the given map, this sets your resolution to 4k in fullscreen.
-gpuWrite --gpuWrite Enable writing GPU info to file on PC. Writes information about your graphics card to a file called *.txt in the directory gpu where "*" is your GPU's name. The file is outputted like:
%s 
Total video memory: %d MB 
Core Clock speed: %d MHz 
Overall Performance Value: %d 

Entering unknown arguments will make the game output a usage message which you cannot see.

Debug Menus

Hmmm...
To do:
  • Are they carried from other games from Vicarious Visions/the engine itself?
  • Sort these out later.

The game has a lot of togglable settings and checkboxes via multiple debug menus throughout the code.

Game

Crash
Unlock Paths
Unlock Time Trials
Override Gems Collected
Crash DDA Rating
Powers
Super Charged Body Slam
Double Jump
Death Tornado Spin
Fruit Bazooka
Speed Shoes Crash 2
Playable Coco Unlocked
DotNet
Hmmm...
To do:
Is this stripped?

Net

Draw
Lobby Status
Session Status
Player Relative Platform Positions
Funnels
Analytics
Base Game Stats
Crash1 Level Stats
Crash2 Level Stats
Crash3 Level Stats
Simulation
Mode
None
Best
Mean
Worst
Intermittent
Custom
Cable Connected
Cell Network
Custom Settings
Bandwidth (KBits/sec)
Mean one-way Latency (ms)
One-way Jitter (ms)
Packet Loss %%

Network Replay

Mode
Idle
Capture
Replay
Load
Dummy Peer
Connect
Disconnect
Activate

Render

Post Process
Motion Blur
Override Defocus Planes
DoF Start
DoF End
HDR NIT
HDR HUD NIT
HDR HUD POW
hdr curve
Max Fur Shells
Override Clip Planes
Near Clip
Far Clip
Show VFX
Show Button Prompts
Draw 
Lights
Draw Tiles
Global Visualization
Is World
Gbuffer
Albedo
Albedo Clipping
Backscatter
Default Renderer
Fur Render
Mode
Windowed
VSync Off
60Hz
30Hz
Use native resolution
Use current resolution: %dx%d
VSync
%s: %dx%d %.2fHz
Window: (%d,%d) %dx%d

Save Load

Save Now
Load Now
Delete
Save
Show Title Screen

Screenspace Target

Screenspace Target Boxes

Sound Bank Debug

(Not connected to build server)
Bank Size

Time Trial Leaderboard

Hmmm...
To do:
This isn't fully stripped, does it work?
Combat
Show Combat Lines
Option
Friendly Fire
Allow Free Camera

Vehicle Upgrade

Upgrade Path Option

Unlock All

Vehicle Upgrade Option

Unlock All
Reset Progress

VFX

Draw
VFX Budget Reporting Fraction

Waypoint

Waypoints
Callback
Draw

World Debug

Draw
World Gameplay Mode

Zone Info

After %s
CompleteMap
Level Objectives
Complete All
Reset All
Map
Initial Relics Collected
Initial Crystals Collected
Complete All Maps

Engine

AI
Display AI Character Names
Audio
Show Doppler Sounds
Base Vehicle
Vehicle Debug Display
Camera
DebugCam Rotation Speed
DebugCam Movement Speed
DebugCam FOV Speed
DebugCam Zoom Speed
Client
Option
Allow No Clip Mode
Allow Skipping Cutscenes

Oddly, Allow Skipping Cutscenes is also present in QATool.

Cutscene
Show Time Elapsed
Loop Shot
Kill VFX At Loop End
Draw Actor Names
Draw Actor Bolt Names
Play
Stop
Reset in-out range
Set in-out range to 36s-39s
Play configured range
In point (sec)
Out point (sec)
Out point (sec)
Seeking accuracy
Client
Draw
Splines
Clock
Draw
Game Speed
Option
Animation Speed
Debug Lock Frame Rate
Command
AI
Heal all enemy AI to max health
Audio
Print Loaded Banks
Play All Character Localized VO
Play All Vehicle Localized VO
Stop Localized VO Playback Test
Camera
Reset Camera
Memory
Dump Selected Pools
Fragmentation Report
Dump All Pools
Dump Vram Report
Dump String Pool Stats
Report Vfx Pool Sizes
Report Vfx Usage
Report Havok Usage
Report Object Handle Manager Usage
Print Memory Report
Option
Pause or Resume world instance timers
Collectible Tracker
Hmmm...
To do:
This isn't fully stripped as the game calls a "Collectibles" option, does it work?
Collectibles
Combat
Show Vulnerable Regions
Show Player Damage Per Second
Ignore crits for DPS Display
Reset Player Damage Per Second
Combat Target
Show Combat Targets
Difficulty
Difficulty Level
Combat
Show Difficulty Calculations
Reset Dynamic Difficulty For Zone
Dynamic Sound
Enable Dynamic Sound Debugging
Update Node
Hmmm...
To do:
This isn't fully stripped as the game calls a said option, does it work?
Options/Debug Update Channels
Entity Debug
Show Actor Stats
God Mode [HEROES]
Hero Undying
Touch of Death
Enemies Undying
Show Custom Parts
Show Entity Parts
Show Most Expensive Entities
Dump Entity Cost Stats
Enable Entity Debug Update
Show Static Count
Show Collectible Counts
Show Entity Scale
Show Entity Names
Show Entity Teams
Show Entity Axis
Show Entity Positions
Show Entity Rotations
Show Entity Model Names
Show Entity Extents
Show Rigid Body Extents
Show Entity Bolts
Show Destructible Stages
Show Actor Count
Show Actor Muting
AI
Display enemy type tags
Combat
Display Movement Speed
Infinite Lives
Kill Hero
Draw
Physics Properties
Health Display
Ground Material
Entity
Draw Visibility Cylinder
Entity Messenger
Send Gravy Message
Game Sound
Audio Options
Show Actor Mute Info
Show Actor Muting
Show Actor Count
Show Actor Stats
Ground Alignment
Ground Alignment
Draw
GUI
Draw HUD
HUD Disable Fading
Havok
Entity
Draw Actor Collision
Option
Debug Havok
Debug Havok AutoCapture
Havok Query
Havok Queries
Option
Dump Havok Queries
Linear Vehicle Spline Mover
Vehicle Spline Lanes
Draw
Nav Power
Display NavMesh
Display NavPower Memory
Options
Toggle Subtitles
Projectile Component
Show Projectile Damage Regions
Show Projectile Collision Radii
Combat
QA Tool
XP Multiplier
KidTest Mode
UI Handler
Audio
EnableAudio
Camera
Invert Pitch Controls
EnableDebugDraw
EnableTargetingDebugDraw
EnableCameraShake
CameraSystemEnabled
ResetCameraWhenExitingNoClip
IgnoreNoClipResetForShortDistances
DebugDrawCameraBoxesInNoClip
DisplayActiveCameras
DisplayActiveCameraTargets
DisplayCameraZoomInfo
DisplayCameraInfo
ToggleFreecam
LockFreeCamToCurrentVisibility
ToggleNoClip
DisplayTetherInfo
EnableTethering
CameraTethering
Draw
Triggers
Traversal Paths
Vehicle Collisions
OnContact Points
Ground Detection
Ceiling Detection
Screen Flash
Hero Position
Option
Reset On Debug Load
Experimental Air Control

Unused Graphics

Explode Text

CBNST Debug Explode01.png

The image has white text saying EXPLODE in the center capitalized. According to the filename, debug_explode01.tga, this is most likely a debug graphic.

Debug Axis

CBNST Debug Axis.png

A debug axis texture, named debugAxisSprite. It seems to be from the Alchemy engine and not specific to Crash.

Placeholder grass

CBNST Placeholder Grass.png

An extremely small grass texture.

Internal Project Names

Hmmm...
To do:
If possible, find the meaning of "mack", is it a developer?

According to the game executable and the private depots, the project was named "Crash Bandicoot Remastered" or simply "Crash Bandicoot". The final would be mack due to the names in the filesystem and game executable.