SpelunkyWiki

Unused content

Unused content in Spelunky Classic is the objects its code defines but nothing in the game makes: the Jordans, a Rope Bag, a basketball, a thwomp trap and more.

The game's files define about thirty objects that nothing in Spelunky Classic 1.1 ever makes: no room places them, and nothing that runs creates them, so no player meets them. Their code is still there, and says what each would do. A few are items, a target and a trap; the rest are blocks, effects and the settings program's controls, which the game's files carry too. Each is in a row of docs/quirks.md's leftovers.

How it works

#

Every object a game has comes from a room the room editor laid out or from an instance_create in the code naming it. None of these appears in any of the 30 rooms' 6,330 placed instances, and no instance_create names one, or names it only in a comment or in a branch no level reaches (the thwomp trap's) [1].

Items

#
ItemWhat its code would do
Jordans (oJordans)Sneakers priced at $50,000, "JORDANS FOR $50000!" [2]. Picked up, they'd show "YOU GOT JORDANS!" and "YOU FEEL LIGHT ON YOUR FEET." [3], and every jump after it would push three times as hard, with twice the speed limit and gravity 0.5 in place of 1, checked before the Spring Shoes' push of half as much again [4].
Rope Bag (oRopeBag)Drawn as the end of a rope, but its type is "Bomb Bag" [5], so picking it up would be a Bomb Bag's pickup: three more bombs, "YOU GOT 3 MORE BOMBS!" [6].
Basketball (oBasketball)Bounces off a hoop's rim (oRimDeflect), and dropping through it (oRim) swishes the net (oBasket) and adds to the Moon Room's count: 1 for a ball carried in, 3 for one off a wall, 2 for any other [7]. The Moon Room is an archery challenge, and has no hoop.
The hoop's net (oBasket), rim (oRim) and rim's edges (oRimDeflect)What the basketball scores through [8]. The Moon Room's alarm would make them, but those lines are commented out [9].
Armed fire frog (oFireFrogArmed)A dead Fire Frog's bomb, by its sprite, but with the live frog's type, "Fire Frog", where the bomb's is "Fire Frog Bomb", and without the bomb's fuse, the alarm that sets it off [10] [11].

The Moon Room's target and the thwomp trap

#
ObjectWhat its code would do
Moon Room target (oTarget)A bullseye for the Moon Room that sways up and down, twice as fast on the right of the room, and swings side to side in the last 30 seconds [12] [13]. An arrow scores 5 for its middle, 3, 2 or 1 farther out [14]. The Moon Room's targets are bats and UFOs instead, but the arrow's step still checks for this one there, and finds none [15].
Thwomp trap (oThwompTrap)A block that waits until the player is below it, within 8 pixels of its column, with a character within 96 pixels of it, then falls, gathering speed up to 6 pixels a step; landing, it waits 100 steps and rises again until it meets the ceiling [16]. Only Olmec's Lair's room script makes one, for a t tile, and none of the lair's room or obstacle strings has that tile [17] [18].

Blocks and effects

#
ObjectWhat its code would do
Gold in the rock (oGold)Breaks into three gold chunks [19]. Only the UFO's laser names it, to destroy it [20] [21].
Big gold in the rock (oGoldBig)Breaks into a gold nugget and two or three gold chunks [22]; the laser names it too.
Cave background (oCaveBG)One of two background pictures, at random [23]; its only instance_create is commented out [24].
Collecting sparkle (oSmallCollect)Rises for a second [25] [26]; the line that made one when the player collects a treasure is commented out [27] [28].
Old arrow trap (oTemp)An Arrow Trap facing left that fires once at the player, a monster, a push block or a moving item in front of it, playing a sound the game doesn't have [29] [30].
Entrance check (oEntranceCheck)Moves 16 pixels a step until it touches a block, then destroys itself, and the block too if it's an Arrow Trap [31] [32].
oBackdrop, oForeground, oFrill, oCaveUpSet a depth, or do nothing [33] [34] [35].

The mothership's oAlienShipFloor is a Block nothing makes either: the mothership's floor is its hull given the floor's sprite [36].

The settings program's controls

#

The game's files carry a copy of the settings program's check boxes, radio box and volume sliders (oCheckBox to oCheckBox4, oRadioBox, oSlider1, oSlider2, oSliderBG), and its OK, key config and gamepad config buttons. None is in the game's rooms, so the game never shows them [37] [38] [35].

Numbers

#
ObjectWhat its code would doSource
JordansPrice $50,000; a jump's push ×3, its speed limit 12, gravity 0.5 while it rises[39] [40]
Rope Bag3 bombs[41]
Basketball1 point carried in, 2 thrown, 3 off a wall[42]
Moon Room target5, 3, 2 or 1 points by how near its middle an arrow hits[14]
Thwomp trapFalls at up to 6 pixels a step; waits 100 steps; rises at 1 pixel a step[43]

Quirks

#

Each object here is in a row of docs/quirks.md's leftovers, unreachable in 1.1:

  • The Jordans, the Rope Bag, the basketball, the armed fire frog and the Moon Room's target [1].
  • The thwomp trap [18].
  • The gold in the rock [21].
  • The cave background and the collecting sparkle [28].
  • The old arrow trap [30].
  • The settings program's buttons [38].
  • The rest [35].

FAQ

#
Are there Jordans in Spelunky Classic?

Not in any game. The Jordans are an item in the code, priced at $50,000, that would treble the push of every jump, but no level, room or script ever makes one.

Is there a thwomp in Spelunky Classic?

Only in the code. A trap that drops on a player passing under it and rises again is written, and Olmec's Lair's room script would place one for a t tile, but none of its rooms has that tile.

Is there a basketball game in Spelunky Classic?

No. A basketball and a hoop that score into the Moon Room's count are in the code, but nothing makes them: the Moon Room is an archery challenge.

Can the level editor place the unused objects?

No. The level editor makes only what its tiles name, and nothing else that runs, the editor's code included, creates an unused object, so no level, generated or custom, has one.

See also

#

References

#
  1. oJordans, oRopeBag, oBasketball and oFireFrogArmed are unreachable, docs/quirks.md §1
  2. objects/oJordans/create.gml:3-8
  3. scripts/scrStealItem.gml:193-203
  4. scripts/characterStepEvent.gml:351-362
  5. objects/oRopeBag/create.gml:3
  6. scripts/scrStealItem.gml:68-78
  7. objects/oBasketball/step.gml:6-56
  8. objects/oBasketball/step.gml:6-39
  9. objects/oMoonRoom/alarm_0.gml:1-4
  10. objects/oFireFrogArmed/create.gml:3-10
  11. objects/oFireFrogBomb/create.gml:3-6
  12. objects/oTarget/create.gml:7-8
  13. objects/oTarget/step.gml:10-39
  14. objects/oTarget/collision_oArrow.gml:7-18
  15. objects/oArrow/step.gml:24-37
  16. objects/oThwompTrap/step.gml:1-37
  17. scripts/scrRoomGen5.gml:191-194
  18. oThwompTrap is unreachable, docs/quirks.md §1
  19. objects/oGold/destroy.gml:1-6
  20. objects/oLaser/collision_oSolid.gml:1-14
  21. Nothing creates oGold or oGoldBig., docs/quirks.md §1
  22. objects/oGoldBig/destroy.gml:1-10
  23. objects/oCaveBG/create.gml:1-8
  24. scripts/scrInitLevel.gml:231
  25. objects/oSmallCollect/create.gml:3
  26. objects/oSmallCollect/step.gml:1
  27. objects/oPlayer1/step.gml:2001
  28. oCaveBG's and oSmallCollect's only instance_creates are commented out, docs/quirks.md §1
  29. objects/oTemp/step.gml:1-45
  30. oTemp (solid) calls sound_play on sndArrowTrap, docs/quirks.md §1
  31. objects/oEntranceCheck/step.gml:1-4
  32. objects/oEntranceCheck/collision_oSolid.gml:1-2
  33. objects/oBackdrop/create.gml:1
  34. objects/oForeground/create.gml:1
  35. The rest of the game's objects that nothing makes., docs/quirks.md §1
  36. Nothing creates oAlienShipFloor., docs/quirks.md §1
  37. objects/oCheckBox/create.gml:1-6
  38. Dangling references to config.exe resources, docs/quirks.md §1
  39. objects/oJordans/create.gml:8
  40. scripts/characterStepEvent.gml:351-356
  41. scripts/scrStealItem.gml:68-70
  42. objects/oBasketball/step.gml:42-52
  43. objects/oThwompTrap/step.gml:11-27

Source code

#