Spelunky is © 2008, 2009 Derek Yu and Mossmouth, LLC, and is used under the [Spelunky User License v1.1b](https://spelunky.ai/LICENSE.txt). spelunky.ai is an unofficial fan project, not affiliated with or endorsed by Mossmouth. The game and its assets may not be sold.

Music by George Buzinkai and Jonathan Perry; sound effects made in SFXR. From Spelunky Classic 1.1, © 2008, 2009 Derek Yu and Mossmouth, LLC.

# Sign

From the spelunky.ai wiki: <https://spelunky.ai/wiki/sign>.

*For a shop's sign, see [Shop Sign](https://spelunky.ai/wiki/shop-sign).*

A Sign is terrain in Spelunky Classic, a carved tablet in the Tutorial or a custom level that shows its message while the player stands at it.

![A small dark stone tablet with lines of writing carved on it](https://spelunky.ai/wiki/media/sprites/sMsgSign/frames/0%404x.png)

| Sign         |                                               |
| ------------ | --------------------------------------------- |
| Effect       | Shows its message to the player[^1]           |
| Destroyed by | Nothing: it isn't a block                     |
| Object       | `oMsgSign`                                    |
| Found in     | [Tutorial](https://spelunky.ai/wiki/tutorial) |

Signs stand in the [Tutorial](https://spelunky.ai/wiki/tutorial), where seventeen of them guide the player along the cave and teach
him the controls, and in
custom levels, where the [level editor](https://spelunky.ai/wiki/level-editor) gives each one a message of its own. They're part of the
background, not blocks: nothing breaks one.

## How it works

**Clip: The Tutorial's signs.** The player starts the Tutorial and walks along its first tunnel. Each sign he passes shows its message at the bottom of the screen, from the welcome to how to jump, hang on ledges and use the whip. ([video](https://spelunky.ai/wiki/media/clips/sign/tutorial/clip.mp4))

While the player touches a sign, it shows its message, one or two lines, at the bottom of the screen, and sets
the message to last 200 steps, so it stays a while after he walks on[^1].
A message lasts half as long on a lit level as on a dark one ([Messages halved on lit levels](https://spelunky.ai/wiki/messages-halved-on-lit-levels)). The clip shows
the Tutorial's first signs: the welcome, then how to jump, to hang on ledges and to use the whip, each message
coming up as the player reaches its sign[^2].

### The Tutorial's signs

A Tutorial sign's message is set by where the sign stands, which the room editor fixed: one message for each of
seventeen spots[^3][^4]. The ones about a key
name the player's own key for it, or his gamepad's button when he plays with one ("PRESS Z TO JUMP.")[^5]. They run from "WELCOME TO THE TUTORIAL CAVE!" by the entrance
to "THERE'S LOTS MORE AHEAD!" by the exit, with jumping, hanging, the whip, treasure, chests, ducking and
crawling, the flip hang, the ladder, picking up and throwing, ropes, running and bombs between.

### In custom levels

A sign is the [level editor](https://spelunky.ai/wiki/level-editor)'s tile `I`[^6]. In the
editor it starts blank, the editor draws its message over it, and the message, one line, is saved with the
level and read back with it[^7][^8][^9]. A level saved with neither an entrance nor an exit loses its
signs' messages ([Lost sign messages](https://spelunky.ai/wiki/lost-sign-messages)).

## Interactions

- **[Bombs](https://spelunky.ai/wiki/bomb)** pass signs by: a sign isn't solid, and a blast breaks only what is[^10].
- **Other messages.** A sign's message takes the place of whatever message was showing, a pickup's or a
  shopkeeper's, and the next message replaces it in turn[^1].

## FAQ

### How do you read signs in Spelunky Classic?

By walking up to one: while the player touches a sign, its message shows at the bottom of the screen, and it stays after he moves on, for 200 steps, or half that on a lit level.

### What do the Tutorial's signs say in Spelunky Classic?

They teach the controls, in order along the cave: jumping, hanging on ledges, the whip, treasure, chests, ducking and crawling, the flip hang, the ladder, picking up and throwing, ropes, running and bombs, each naming the player's own keys or buttons. The first welcomes him and the last warns of traps.

### Can you make signs in Spelunky Classic's level editor?

Yes. The [level editor](https://spelunky.ai/wiki/level-editor) has a sign tile, and each sign placed gets a one-line message of its own, saved with the level.

## See also

- **Related:** [Tutorial](https://spelunky.ai/wiki/tutorial), [Level editor](https://spelunky.ai/wiki/level-editor), [Controls](https://spelunky.ai/wiki/controls), [Lost sign messages](https://spelunky.ai/wiki/lost-sign-messages), [Messages halved on lit levels](https://spelunky.ai/wiki/messages-halved-on-lit-levels)

## References

[^1]: [`objects/oMsgSign/collision_oCharacter.gml:1-3`](https://spelunky.ai/wiki/source/objects/oMsgSign/collision_oCharacter#L1-L3)

[^2]: Clip [sign/tutorial](https://spelunky.ai/wiki/sign#clip-sign-tutorial)

[^3]: [`objects/oMsgSign/create.gml:9-120`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L9-L120)

[^4]: Room [`rTutorial`](https://spelunky.ai/wiki/source/rooms/rTutorial), as the room editor placed it

[^5]: [`objects/oMsgSign/create.gml:15-21`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L15-L21)

[^6]: [`scripts/scrCreateTileObj.gml:32-35`](https://spelunky.ai/wiki/source/scripts/scrCreateTileObj#L32-L35)

[^7]: [`objects/oMsgSign/create.gml:4-8`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L4-L8)

[^8]: [`objects/oMsgSign/draw.gml:1-7`](https://spelunky.ai/wiki/source/objects/oMsgSign/draw#L1-L7)

[^9]: [`scripts/scrLoadLevel.gml:118-128`](https://spelunky.ai/wiki/source/scripts/scrLoadLevel#L118-L128)

[^10]: [`objects/oExplosion/collision_oSolid.gml:1-15`](https://spelunky.ai/wiki/source/objects/oExplosion/collision_oSolid#L1-L15)

### Source code

- [`objects/oMsgSign/create.gml`](https://spelunky.ai/wiki/source/objects/oMsgSign/create)
- [`objects/oMsgSign/collision_oCharacter.gml`](https://spelunky.ai/wiki/source/objects/oMsgSign/collision_oCharacter)
- [`objects/oMsgSign/draw.gml`](https://spelunky.ai/wiki/source/objects/oMsgSign/draw)
- [`scripts/scrCreateTileObj.gml`](https://spelunky.ai/wiki/source/scripts/scrCreateTileObj)
- [`scripts/scrLoadLevel.gml`](https://spelunky.ai/wiki/source/scripts/scrLoadLevel)
