If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Spelunky (2012)

From The Cutting Room Floor
(Redirected from Spelunky (2013, Windows))
Jump to navigation Jump to search

Title Screen

Spelunky

Also known as: Spelunky HD
Developer: Mossmouth[1]
Publishers: Mossmouth[1], Microsoft Studios (360)
Platforms: Xbox 360, PlayStation 3, PlayStation Vita, Windows, PlayStation 4, Nintendo Switch
Released internationally: July 4, 2012 (Xbox 360), August 8, 2013 (Windows), August 27, 2013 (PS3, Vita), October 7, 2014 (PS4), August 26, 2021 (Switch)


GraphicsIcon.png This game has unused graphics.
ItemsIcon.png This game has unused items.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
Carts.png This game has revisional differences.


ProtoIcon.png This game has a prototype article
PrereleaseIcon.png This game has a prerelease article

Spelunky is a critically-acclaimed roguelike platformer that will teach you to fear frogs and self-sacrifice.

This game is a remake of the 2008 freeware original, also called Spelunky. To avoid confusion, the older game has been officially called Spelunky Classic and this remake has gained the unofficial community name Spelunky HD.

Hmmm...
To do:
  • The Trial Version can be activated in the full game, which allows the unused Trial Version content leftover in the game to be seen.
  • There are more unused graphics and even unused objects.
    • The Spelunky Classic flare exists in the game.
  • The flooded mines level feeling is actually in the game and has a flag in memory. It is very unfinished, but does have behavior.
  • Useful Cheat Engine tables to investigate can be found here, and HD Toolbox features tools like SpecsHD to allow for powerful in-game testing.
    • Some invisible objects can be made visible with SpecsHD. Some used objects actually use unused graphics, like doors using unused Classic-styled graphics and a light-emitting entity using the lightbulb graphic.
    • HD Toolbox features a tool to view the level data of the game. Some of it is unused.
    • This Cheat Engine table on TCRF has entries to enable the Trial Version and Flooded Mines level feeling, which don't have sections in this article yet.
  • Anubis II emits red light in dark levels, which can never be seen as dark levels never happen past when Anubis II starts following you.
  • There may still be more unused text, but it all seems to be error messages or messages related to Xbox LIVE Arcade.
  • Secrets:
    • The eggplant secret needs to be talked about.
    • Selecting the pug Damsel in the options 100 times replaces the pug with a unique sloth Damsel for the rest of the play session.
    • If the pug is the current level's Damsel style, there is a 1/5000 chance to replace the pug with the sloth.
    • A jumping sprite of Guy Spelunky from Classic can be found as a hidden decoration in Tutorial-3. Destroy the tiles above the Damsel to see it.

Sub-Pages

Read about prototype versions of this game that have been released or dumped.
Prototype Info
Read about prerelease information and/or media for this game.
Prerelease Info
SpelunkyHD debug menu subpage icon.png
Debug Menu
Four pages of menus that are still mostly functioning!
SpelunkyHD alltilesN dice sign.png
Early Graphics in Normal Maps
Some of the normal maps are based on much earlier versions of the graphics.

Unused Graphics

2000m Sign

But I would walk 2000 meters, and I would walk 2000 more.

A "2000m" sign, intended for the screen that transitions between stages; however, as the final boss level is at 1900m and its exit leads directly to the end sequence, this sign is never seen.

Lightbulb

Who needs a lightbulb in a game full of torches, anyway?

A debug graphic used to display the location and color of light sources in the level during development.

(Source: u/tubbins on Reddit (Andy Hull, Spelunky HD Lead Programmer))

DLC Icon

DLC.

This icon was used in the console versions to indicate purchasable playable DLC characters; however, these are included as standard in the Windows release.

Trial Version

SpelunkyHDnagscreen.png SpelunkyHDtrialscreens.jpg

Two images, nagscreen.png and trialscreens.jpg, for use in the PSN and XBLA demos.

Unused Music

The music of Spelunky HD is stored in .ogg format in Spelunky\Data\Music, allowing all the music to easily be listened to. The full soundtrack was released on Bandcamp here, and will be referred to in this section.

Name Song Notes
A05_yama.ogg
A tense, 48 second song. The filename suggests it was going to be related to Yama's boss fight in Hell. This is track #52: Diabolical in the soundtrack. Interestingly, the Bandcamp page says that this is a bonus track not found within the game. It is released with the game, but is unused.
amb_jungle.ogg
57 seconds of jungle ambient sounds. This is not used in the Jungle area.

Additionally, two copies of songs used by the game exist:

  • An unused, slightly louder copy of the song heard in the first level when Quick Start is not used, A01_first.ogg exists in the Music folder. This copy is unused because the actual song played is adventure.ogg. This is track #6: Adventure begins in the soundtrack.
  • An unused copy of the jingle heard when going through the door to the Mines, Lobby_jingle.ogg exists in the Music folder. This copy is unused because the actual jingle played is lobbydrum.wav, a sound effect. This jingle is unaffected by the player's music volume setting, further confirming that the sound effect version is used. This is track #1: Adventure jingle in the soundtrack.

Unused Sounds

Name Sound Notes
bookdead.wav
The sound of a single off note, increasing in pitch. The filename suggests it is related to the Book of the Dead item.
chime2.wav
A chiptune-like sound.
chime4.wav
A pleasant chime sound.
crushblock.wav
This sounds like a combo of a push block landing and using spike shoes to stomp an entity that gets damaged and survives.
death.wav
This sound is very interesting: it is a death jingle!
Due to the amount of dying that happens in the Spelunky experience, this jingle probably would have gotten very, very frustrating to listen to.
dm_victory01.wav
These four sounds are a series of chiptune-like fanfares. The filenames suggest that these were victory fanfares for the Deathmatch mode.
dm_victory02.wav
dm_victory03.wav
dm_victory04.wav
homing_loop.wav
This sound was likely going to be the idle sound of the psychic waves used by Alien Lords and Anubis. The name of an enemy psychic wave appearing sound is homing1.wav, and a player's psychic wave sound from using the Sceptre is named homing2.wav, which have similar names to this unused sound.
idol_get.wav
These five sounds seem to show the development process that eventually led into idol_get06.wav: the sound heard in the ending when the "YOU MADE IT!" text appears.
idol_get2.wav
idol_get3.wav
idol_get4.wav
idol_get5.wav
on_ledge.wav
The sound of a single whoosh. The name on_ledge.wav suggests that this sound would play alongside the player character's unbalanced animation when on the edge of a tile.

Additionally, a copy of a sound used by the game exists:

  • An unused copy of the ominous sound heard during the camera pan up Yama's Throne at the start of the level, yamaamb.wav exists with the sound effects. This copy is unused because the actual sound effect played is yamaamb.ogg, a song in the Music folder. This "song" is affected by the player's music volume setting, further confirming that the music version is used.

Unused Text

The English text of Spelunky HD is stored in plaintext in strings.pct in Spelunky\Data\Localization, allowing all the text to easily be viewed and edited. For every line of text presented, the internal string key is said, then the actual text is said on the next line.

Unused Journal Entries

Text for a few journal entries not obtainable in the game exist.


A journal entry for a trap not present in the game at all: Flame Trap. This text is placed after Ceiling Trap's text, and is before Spike Ball's text. Note how the text has a typo from "shoot" not being plural.

IDS_JOURNAL_FLAMETRAP
Flame Trap
IDS_JOURNAL_FLAMETRAP_DESC
It shoot jets of flames in short bursts.

The trap was possibly implemented, but ultimately abandoned at a very early stage of the game's development. The design would have been similar to an Arrow Trap, but with a flamethrower-style effect of around three tiles' range, cycling between an on and off state.

(Source: BeatTheDev (Andy Hull, Spelunky HD Lead Programmer)

A journal entry for the dead are restless level feeling in Jungle, revealing that its official name would have been Cemetery. Strangely, the string key uses a misspelling of cemetery using an "a" in place of the final "e".

IDS_JOURNAL_CEMETARY
Cemetery
IDS_JOURNAL_CEMETARY_DESC
This barren place is home for all manner of undead creatures.

A journal entry for the wet fur level feeling in Ice Caves, revealing that its official name would have been Yeti Cave. Note how the description text's first sentence appears to be missing a word between "family" and "yetis".

IDS_JOURNAL_YETICAVE
Yeti Cave
IDS_JOURNAL_YETICAVE_DESC
Home to a family yetis. No wonder it smells!

Lush Leftovers

In Spelunky Classic, several things point to the second area being named Lush. Spelunky HD officially names the area in-game as Jungle, but it was going to be named Lush like Spelunky Classic. In the development of Spelunky HD, the concept of giving areas more interesting names like Lush was tried, but it "ended up not feeling right". This concept of more interesting area names was tried again and used in Spelunky 2.

(Source: u/mossmouth on Reddit (Derek Yu, Spelunky series creator, Spelunky HD Lead Design))

Despite Lush not being the final name, there are unused strings that use the name Lush. There is enough unused text to replace every instance of Jungle with Lush, suggesting that this rename was done very late in development. The string key for Jungle's journal description still uses LUSH. The background graphic assets for Jungle are also stored in a folder named LUSH, using the filenames lushbg.jpg and lushsmallbg.png.

Journal entry name:

IDS_JOURNAL_LUSH
Lush

Deathmatch level group name:

IDS_LUSH
LUSH

Level name displayed at start of level:

IDS_LEVEL_2_1
LUSH 2-1
IDS_LEVEL_2_2
LUSH 2-2
IDS_LEVEL_2_3
LUSH 2-3
IDS_LEVEL_2_4
LUSH 2-4

Unused Shop Text

Shop text to buy an item exists for all items found in the Items section of the journal, including items never sold in shops. Strangely, there is even a string to buy an Idol.

IDS_BUY_ITEM_CRYSKNIFE
Buy Crysknife
IDS_BUY_ITEM_LASERGUN
Buy Plasma Cannon
IDS_BUY_ITEM_SHIELD
Buy Shield
IDS_BUY_ITEM_VLADSWINGS
Buy Vlad's Cape
IDS_BUY_ITEM_ROYALJELLY
Buy Royal Jelly
IDS_BUY_ITEM_IDOL
Buy Idol
IDS_BUY_ITEM_KAPALA
Buy Kapala
IDS_BUY_ITEM_VLADSAMULET
Buy Vlad's Amulet
IDS_BUY_ITEM_UDJATEYE
Buy Udjat Eye
IDS_BUY_ITEM_HEDJET
Buy Hedjet
IDS_BUY_ITEM_SCEPTRE
Buy Sceptre
IDS_BUY_ITEM_BOOKOFDEAD
Buy Book of the Dead

In Spelunky 2, Plasma Cannon, Shield (in the form of Metal Shield), Royal Jelly, and Hedjet would go on to be sold in shops, making the strings viewable there. Spelunky 2 constructs the shop text dynamically instead of manually defining a message for every item like Spelunky HD.

Unused Level Name Strings

Some levels have unused text that appears in the top-left of the screen when entering a level from a different level name being displayed instead.


IDS_LEVEL_4_4
TEMPLE 4-4

Unused because the game instead displays "OLMEC'S LAIR".


IDS_COMPLETED_4_4
4-4 COMPLETED!

A similar string also exists for clearing 4-4, which goes unused because the level transition to Hell 5-1 instead says "LAIR COMPLETED!".


IDS_LEVEL_5_4
HELL 5-4

Unused because the game instead displays "YAMA'S THRONE".

Spelunky Classic Leftovers

A few strings relating to content from Spelunky Classic exist and are unused. This suggests that the related content was going to return, but it ended up getting cut.

Tunnel Man

Tunnel Man has text suggesting that the shortcut requirements at one point was going to be exactly like Classic: donating money instead of donating specific items over multiple runs. The * character inserts a line break into the text.

IDS_TUNNELMAN2
You can donate a little bit of money each time. I'll remember how much you've paid me.
IDS_TUNNELMAN3_1
So what do you say?*I still need $
IDS_TUNNELMAN3_2
 to build this shortcut.

There is also text to control how much money to donate.

IDS_DONATION
DONATION
IDS_DONATION_GUIDE
@L Change Amount*@A Confirm

Kali

Kali's messages has one unused line. This text is almost the exact same message said in Classic when Kali rewards you by setting your bomb count to the maximum of 99.

Spelunky Classic
(Used)
Spelunky HD
(Unused)
YOUR SATCHEL FEELS VERY FULL NOW!
IDS_KALI_SATCHEL
Your satchel feels very full!

Shopkeeper Text

Duplicate Welcome Text

Shopkeepers have 26 possible names, and there are 8 possible types of shop. Instead of dynamically creating the welcome message for a shop during the game, every possible permutation of name and shop already exists in strings.pct. The list of shop welcomes includes an unused 9th entry for every name, which is just a copy of the used 1st welcome for a General Store.

For example, here are welcomes 1 and 9 from just Ahkmed. The only difference is in the string key, with 0-25 representing the name and A-I representing the welcome.

Welcome 1
(Used)
Welcome 9
(Unused)
IDS_SHOPWELCOME0A
Welcome to Ahkmed's General Store!
IDS_SHOPWELCOME0I
Welcome to Ahkmed's General Store!

Unused Isolated Shopkeeper Names

As mentioned above, Spelunky HD already has every permutation of welcome message for a shop in strings.pct. This is done instead of dynamically creating the welcome message during the game. The strings.pct file also has unused strings of all 26 Shopkeeper names without the welcome.

IDS_SHOPKEEPER_NAME1
Ahkmed
IDS_SHOPKEEPER_NAME2
Bob
IDS_SHOPKEEPER_NAME3
Cosmo
IDS_SHOPKEEPER_NAME4
Darwin
IDS_SHOPKEEPER_NAME5
Error
IDS_SHOPKEEPER_NAME6
Frank
IDS_SHOPKEEPER_NAME7
Garth
IDS_SHOPKEEPER_NAME8
Hakim
IDS_SHOPKEEPER_NAME9
Iggy
IDS_SHOPKEEPER_NAME10
Jimbo
IDS_SHOPKEEPER_NAME11
Kevin
IDS_SHOPKEEPER_NAME12
Lou
IDS_SHOPKEEPER_NAME13
Max
IDS_SHOPKEEPER_NAME14
Nacho
IDS_SHOPKEEPER_NAME15
Omar
IDS_SHOPKEEPER_NAME16
Pancho
IDS_SHOPKEEPER_NAME17
Quincy
IDS_SHOPKEEPER_NAME18
Ron
IDS_SHOPKEEPER_NAME19
Sparky
IDS_SHOPKEEPER_NAME20
Tarn
IDS_SHOPKEEPER_NAME21
Ulf
IDS_SHOPKEEPER_NAME22
Vern
IDS_SHOPKEEPER_NAME23
Willy
IDS_SHOPKEEPER_NAME24
Xorn
IDS_SHOPKEEPER_NAME25
Yoshi
IDS_SHOPKEEPER_NAME26
Ziggy

All the names match the used welcome messages, except for one: IDS_SHOPKEEPER_NAME22, which is Vern. The used welcome messages use the name Verne, which has an extra "e" at the end of the name compared to the unused Vern.

Welcome 1
(Used)
Name String
(Unused)
IDS_SHOPWELCOME21A
Welcome to Verne's General Store!
IDS_SHOPKEEPER_NAME22
Vern

This name oddity does not end in Spelunky HD, as this Shopkeeper name returned in Spelunky 2. The sequel uses Vern, which is the unused name from HD. The developers of Spelunky 2 likely looked at the unused name strings in HD, unaware that these strings are unused, and based the Shopkeeper names off of that. This resulted in the used name not returning, and the unused name finally becoming used in a different game over 8 years later.

Unused Death Message Text

Text that is displayed on the game over screen describing the cause of death.


Odd death text related to Kali that is not the same as the text used when getting sacrificed.

Death by Sacrifice
(Used)
Unused Death Message
(Unused)
IDS_GAMEOVERDESC_SACRIFICED
I offered myself to the Black Goddess.
IDS_GAMEOVERDESC_KALI
I was cast into oblivion by the Black Goddess herself.

IDS_GAMEOVERDESC_FRIEND
At least I made a friend!

This message was likely related to Hired Hands or unlocking a character mid-run.


IDS_GAMEOVERDESC_FAR
Alright! That was the farthest I've ever gotten!

A message that would have been perfect for dying after setting a new depth personal best. Spelunky 2 would go on to have a similar message for that exact situation.


IDS_GAMEOVERDESC_BREAK
Whew, I could use a break...

Maybe this message would be displayed to encourage taking breaks after dying a lot in a session?


Hmmm...
To do:
Dying to an enemy with an entity ID of 0x4BB or 1211 displays this death message with the one-line cause being listed as "Death".
IDS_GAMEOVERDESC_SLAMMED
I was slammed hard into a wall.

A message that would have been perfect for dying from the throw of a Shopkeeper, Yeti, or Hawk Man.

Deathmatch Group Names

Deathmatch has unused strings for names of arena groups that are leftovers from the Spelunky: Arenas DLC for the Xbox LIVE Arcade version of the game.

IDS_ARENA_DLC1
EGG
IDS_ARENA_DLC2
LARVA
IDS_ARENA_DLC3
PUPA
IDS_ARENA_DLC4
ADULT

The Windows version comes with all the DLC and naturally integrates it with the game. The DLC arenas are instead unlocked by defeating certain enemies and are named after the enemy instead of the strings above. EGG, LARVA, and PUPA are unlocked by defeating Old Bitey, Yeti King, and Alien Queen respectively. What is interesting about this leftover text is that a completely unused fourth DLC group is here: ADULT. This suggests that the Arenas DLC was going to include 8 more arenas for a total of 32, but the ADULT group was cut. The name for this cut arena group also continues the name theme of the other DLC groups.

Miscellaneous Unused Text

This text is placed after the "The sceptre fits, but nothing is happening!" text, and is before Anubis II's warning in City of Gold.

IDS_WRONG_KEY
The key doesn't fit in this door.

This text was very likely intended to be displayed when the key used to open the locked chest containing the Udjat Eye was brought to the locked City of Gold door. Nothing happens when this is done in the game.

(Source: u/mossmouth on Reddit (Derek Yu, Spelunky series creator, Spelunky HD Lead Design))

This text is placed before the "SPELUNKY" text displayed at the beginning of the credits.

IDS_CREDITS
CREDITS

This text is not the same string as the credits menu option in the Help & Options menu, which only has the first letter capitalized instead of being in all caps.


IDS_HEADER_BOMBS
BOMBS
IDS_HEADER_ROPES
ROPES
IDS_HEADER_MONEY
MONEY

These strings seem to be for some kind of UI/HUD element, but are unused.

XBLA Leftovers

There are a bunch of Xbox Live related text leftover in the Steam release.

IDS_ERROR_NOTCONNECTEDPOST
You are not connected to Xbox LIVE. Your score will not be added to the leaderboards.
IDS_ERROR_NOTCONNECTEDVIEW
You are not connected to Xbox LIVE. Please connect to view leaderboards.
IDS_ERROR_SIGNEDOUT
A player has signed out or changed gamer profile. You have been returned to the title screen.
IDS_ERROR_NOTCONNECTEDCONTENT
Sign in to Xbox LIVE to access online content.
IDS_ERROR_NOTCONNECTEDLOCAL
Sign in to Xbox LIVE to post your score to the leaderboards.
IDS_WARNING_NODEVICE
You have not selected a device. Your game will not be saved. Would you like to continue anyway?
IDS_ERROR_CORRUPTDLC
The DLC could not be loaded and may be corrupt. Please redownload it from the Xbox LIVE Marketplace.
IDS_ERROR_NEWSTORAGE
The storage device has been removed. Would you like to select a new storage device?
IDS_ERROR_CORRUPTSAVE
The save file appears to be damaged and cannot be loaded. Would you like to overwrite it with a new save file?
IDS_ERROR_BADSTORAGE
The storage device appears to be damaged and cannot be accessed. Would you like to select another storage device?
IDS_ERROR_CANTSAVED
The game was unable to save. Would you like to select a different storage device?
IDS_ERROR_FULLDEVICE
The destination device is full. Would you like to select a different storage device?
IDS_GUIDE_CONNECT
@A Connect to Xbox LIVE
IDS_GUIDE_GAMERCARD
@A Gamer Card
IDS_ERROR_FAILTOSIGNIN
You must be signed into a gamer profile to play Spelunky.
IDS_ERROR_AVASSET_FAIL
The game failed to write to your gamer profile. An Avatar Award could not be saved. Try again?
IDS_ERROR_TRIALAVASSET
You have earned an Avatar Award! Upgrade to the full version now to unlock it.

Miscellaneous Content

Unused Kali Favor Values

Some entities have unique Kali favor values that cannot be seen because the entity is impossible to sacrifice.

Dead entities are worth half favor (if they have a corpse that can be sacrificed).

Entity Favor Notes
Green Knight 2 Impossible to stun.
Damaging a Green Knight spawns a Caveman, which has the same favor value.
Croc Man 8 Impossible to stun for long enough to sacrifice.
Always teleports instead of taking damage, making sacrificing the corpse impossible.
A Croc Man falling into lava will teleport and stun, but the stun internally lasts for zero frames.

Unused Health Values

Some entities have health values that cannot be seen either because the entity is invincible or because the entity cannot be damaged with normal methods.

Entity Health Notes
Tunnel Man 99 Tunnel Man cannot be damaged in the entrance or in level transitions.
Ghost 9999 The Ghost is possible to damage, and ultimately kill, through the following methods/oversights:
  • A UFO laser shot will deal 1 damage, causing the Ghost to get knocked upwards.
  • Entering lava deals 99 damage, so 101 dips in lava will kill the Ghost.
  • The abyss in Ice Caves-style levels deletes entities that go too far into it, which includes the Ghost.
Magma Man 99 Can be instantly defeated with a Freeze Ray.

References