SpelunkyFan wiki

Jumping out of a web wearing the one beside it

Verified against the spelunky.ai port v0.1.10 on .

Jumping out of a web wearing the one beside it is a quirk of Spelunky Classic in which a jump out of a web can wear down the web beside it instead.

Caught in a web, the player jumps his way out: each jump wears the web down, and it breaks on the eleventh. But the jump looks for the web in one place and wears down the one it finds in another. Where two webs meet, it can wear down the one beside him, so his own holds out for longer and the other breaks first.

What happens

#

The player falls into the right-hand one of three webs side by side and jumps again and again. Most of his jumps fade the web beside him, not his own: that one breaks on the fourteenth jump, while the web holding him is barely worn [1].

A jump out of a web wears down the web beside it. The player falls into the right-hand one of three webs side by side and jumps again and again. Most of his jumps fade the web beside him, not his own: the one beside him breaks on the fourteenth jump, while the web holding him is barely worn.

Why

#

A web starts with a life of 12, fades as it goes down, and breaks at 1 [2] [3]. The player's jump in one finds it and wears it down in two different ways:

if (kJumpPressed and collision_point(x, y, oWeb, 0, 0))
{
    obj = instance_place(x, y, oWeb);
    obj.life -= 1;
scripts/characterStepEvent.gml:294-297, from spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC (Spelunky User License v1.1b).

collision_point tests for a web at one point, the player's middle. instance_place tests his whole body there, and returns the first web it overlaps in the game's list of webs (in the replay below, the order they were made), which needn't be the one he's in. His body is his sprite's frame, which changes as he jumps. So in the later-made of two webs, near where they meet, some of his jumps wear down the other one. In the earlier-made one, it's found first, and his jumps wear it down as they're meant to [4].

Reproducing it

#

Get caught in the right-hand web of a pair, near the left one, and jump out: it takes more than eleven jumps, and the left one fades. The Giant Spider hangs above two webs side by side, the right-hand one made second [5], and the level's webs can fill alcoves and tunnels next to each other. The replay of the clip's staged scene, on a custom level, drops the player into the right-hand one of three webs; eleven of his fourteen jumps wear down the middle web, which breaks on the last, and three his own [6].

In the port

#

The spelunky.ai port reproduces it exactly: it's in docs/quirks.md's list of the 1.1 source's bugs [4], and the oracle's fingerprint of the replay pins each jump's web. No option turns it off.

FAQ

#
How many jumps does it take to break a web in Spelunky Classic?

Eleven, for a web on its own: each jump takes 1 off its 12, and it breaks at 1. Beside another web it can take more, as some of the jumps wear down the other one.

Why does a web sometimes take more than eleven jumps to break?

The player may be wearing down the web beside it. A jump checks for a web at his middle, but takes the jump off the first web his body overlaps, which can be the next one along.

Where does this happen?

Wherever two webs are side by side: under the Giant Spider, which hangs above a pair, and where the level's webs fill alcoves or tunnels next to each other.

See also

#

References

#
  1. Clip quirks/web-jump-wears-wrong-web
  2. objects/oWeb/create.gml:1
  3. objects/oWeb/step.gml:1-3
  4. Quirk 1 (docs/quirks.md)
  5. objects/oGiantSpiderHang/create.gml:26-27
  6. Replay fidelity/replays/trap-web-jump-wrong-web.txt

Source code

#