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.

# Tutorial

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

The Tutorial is a cave of Spelunky Classic, entered from the title screen, whose signs teach the controls; a player's very first game starts there.

![A grey stone sign carved with the word TUTORIAL](https://spelunky.ai/wiki/media/sprites/sTutorialSign/frames/0%404x.png)

| Tutorial |                         |
| -------- | ----------------------- |
| Levels   | 0, before the first[^1] |

It's one cave, built in the room editor, that walks the player through the game's moves: running, jumping,
hanging, the whip, ducking and crawling, ladders, carrying and throwing, [ropes](https://spelunky.ai/wiki/rope) and
[bombs](https://spelunky.ai/wiki/bomb), each taught by a sign that shows its message while he stands at it. A [Snake](https://spelunky.ai/wiki/snake), a
[Bat](https://spelunky.ai/wiki/bat) and some treasure are there to try them on. Its exit ends the lesson: the game starts over, and
the next level is [the Mines](https://spelunky.ai/wiki/mines)' first.

## Generation

### Getting there

**Clip: Into the Tutorial.** On the title screen, the player walks left into the tutorial door. The Tutorial loads with no bombs and two ropes, and as he runs right the first signs welcome him to the tutorial cave and tell him the jump key. ([video](https://spelunky.ai/wiki/media/clips/tutorial/door/clip.mp4))

The title screen has a door to the Tutorial under a sign of its own, to the left of the START door[^2]. Taking it starts the Tutorial as level 0, with no bombs and 2 ropes[^1]. In the clip, the player walks into the tutorial
door, arrives with 0 bombs and 2 ropes, and the first signs greet him[^3].

On the game's first run, when its high score table holds none of the statistics it keeps there, the game
counts the player as new[^4]. The title screen then bricks over
the tutorial door and its sign[^5], and the START door leads to
the Tutorial in its place, once[^6][^7]. Every later game started from START begins on
level 1.

### The cave

The room editor laid out the whole cave, 42 blocks wide and 19 high, with the player's start at its top
left beside a door back to the title screen[^8]. [Level generation](https://spelunky.ai/wiki/level-generation)
adds no monsters, treasure, traps or shops to it[^9], but its
bricks are the Mines' and roll as they do anywhere, so some show gold and a few hide gems or items, a new
draw each time[^10]. It's never a [dark level](https://spelunky.ai/wiki/dark-level)[^11].

The way runs right along the upper cave, up a ladder to a high ledge, back down into the lower cave and
left along it to the exit at the bottom left. Its seventeen signs each show their message, both lines in
white, while the player touches them, and for 100 steps after he leaves: a sign sets the message's timer to
200, but on a lit level it runs down twice as fast ([Messages halved on lit levels](https://spelunky.ai/wiki/messages-halved-on-lit-levels))[^12][^13][^14]. In the order the way passes them, with the default keys:

| Sign                                                                        |       |
| --------------------------------------------------------------------------- | ----- |
| "WELCOME TO THE TUTORIAL CAVE!" "THIS MIGHT BE YOUR FIRST TIME PLAYING."    | [^15] |
| "PRESS Z TO JUMP."                                                          | [^16] |
| "YOU CAN HANG ON LEDGES, TOO!"                                              | [^17] |
| "PRESS X TO USE YOUR WHIP."                                                 | [^18] |
| "COLLECT THE TREASURE!"                                                     | [^19] |
| "HOLD UP TO CLIMB THE LADDER."                                              | [^20] |
| "HOLD UP AND PRESS X TO OPEN CHESTS.", on the high ledge                    | [^21] |
| "HOLD DOWN TO DUCK AND CRAWL."                                              | [^22] |
| "CRAWL OVER THE EDGE TO DO A FLIP HANG." "FALLING TOO FAR CAN REALLY HURT!" | [^23] |
| "DUCK AND PRESS X TO PICK UP ITEMS."                                        | [^24] |
| "PRESS X TO THROW OR USE ITEMS." "HOLD UP TO THROW HIGH AND DOWN TO DROP."  | [^25] |
| "PRESS C TO SELECT YOUR ROPE AND" "X TO USE IT."                            | [^26] |
| "CROUCH AND PRESS X" "TO THROW A ROPE DOWN A LEDGE."                        | [^27] |
| "TO RUN, HOLD DOWN X OR SHIFT."                                             | [^28] |
| "OPEN THIS CRATE FOR A BAG OF BOMBS."                                       | [^29] |
| "PRESS C TO SELECT BOMBS AND " "PRESS X TO USE IT."                         | [^30] |
| "THERE'S LOTS MORE AHEAD!" "USE YOUR WITS AND BEWARE OF TRAPS!"             | [^31] |

A sign knows its message by where it stands, and names the keys the player has set in the
[settings](https://spelunky.ai/wiki/settings), or a gamepad's buttons when one is on ([Controls](https://spelunky.ai/wiki/controls))[^32].
In the clip of a run along the lower cave, the player walks off a pillar, and at the running sign runs off
a ledge and jumps the gap beyond it at 6 pixels a step[^33].

**Clip: Walking and running.** In the tutorial, the player walks left off a pillar at 3 pixels a step and drops to the ledge below. Then, as the sign says "TO RUN, HOLD DOWN X OR SHIFT.", he runs left at 6 pixels a step off the ledge's end and jumps, keeping that speed across the gap to the next ledge. ([video](https://spelunky.ai/wiki/media/clips/speedrunning-basics/run/clip.mp4))

### Leaving

**Clip: Out of the Tutorial.** The player climbs out of the hole his bomb blew in the floor and walks left past the Tutorial's last sign, "THERE'S LOTS MORE AHEAD!", to the exit, and takes it. The screen between levels follows, headed "TUTORIAL CAVE COMPLETED!", and behind it the game starts over, with no money and four bombs and four ropes. ([video](https://spelunky.ai/wiki/media/clips/tutorial/exit/clip.mp4))

The exit at the bottom left leads to the screen between levels, headed "TUTORIAL CAVE COMPLETED!", which
starts a new game: it clears everything the Tutorial gave, the money, the bombs and ropes and the kills,
puts the hearts back, and sets the level to 1[^34][^35][^36]. The next
level is the Mines' first[^37]. In the clip, the player takes
the exit with 3 hearts, $4,000 and 2 bombs, and the game goes on with no money and
4 bombs and 4 ropes[^38].
The door beside the start leads back to the title screen instead, which also clears the game[^39][^40].

## Inhabitants

| Monster                                 | Where                                       |      |
| --------------------------------------- | ------------------------------------------- | ---- |
| [Snake](https://spelunky.ai/wiki/snake) | One, in the upper cave, before the treasure | [^8] |
| [Bat](https://spelunky.ai/wiki/bat)     | One, hanging in the lower cave              | [^8] |

They're the room editor's, not generation's, so there's always one of each and nothing else[^9]. The [Ghost](https://spelunky.ai/wiki/ghost) never comes: it only appears from level
2 on[^41].

## Hazards

The cave has no traps, whatever its last sign says[^8]. What can hurt the player is
the Snake and the Bat, a long fall, as the flip hang's sign warns ([Damage and stun](https://spelunky.ai/wiki/damage#long-drops)), and his own
bombs.

## Items and shops

| Item                                                                                                                                                      |                                                                                        |           |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | --------- |
| [Gold Bars](https://spelunky.ai/wiki/gold-bar)                                                                                                            | Six, in a row in the upper cave                                                        | [^8]      |
| [Gold Bars](https://spelunky.ai/wiki/gold-bars) (a stack)                                                                                                 | One, at the end of the row                                                             | [^8]      |
| [Big Emerald](https://spelunky.ai/wiki/big-emerald), [Big Sapphire](https://spelunky.ai/wiki/big-sapphire), [Big Ruby](https://spelunky.ai/wiki/big-ruby) | One of each, on the high ledge                                                         | [^8]      |
| [Chest](https://spelunky.ai/wiki/chest)                                                                                                                   | One, on the high ledge, never the trapped kind                                         | [^8][^42] |
| [Crate](https://spelunky.ai/wiki/crate)                                                                                                                   | One, in the lower cave, always holding a [Bomb Bag](https://spelunky.ai/wiki/bomb-bag) | [^8][^43] |
| [Rock](https://spelunky.ai/wiki/rock)                                                                                                                     | One, at the bottom right, by the signs about items                                     | [^8]      |

**Clip: The Tutorial's big gems.** The player climbs a ladder to a high ledge of the Tutorial and runs left along it over a big emerald, a big sapphire and a big ruby, collecting each as he touches it. ([video](https://spelunky.ai/wiki/media/clips/big-emerald/tutorial/clip.mp4))

In the clip, the player runs along the high ledge over its three big gems, collecting each as he touches
it[^44]. A Chest's bomb only comes on levels above 0, so the Tutorial's
always opens into gems ([Chest](https://spelunky.ai/wiki/chest#usage)). There are no shops.

## Trivia

- The pause screen calls it "TUTORIAL CAVE", and works out its depth as for any level, 174.8 feet for
  each level past the first, so for level 0 the depth comes out below zero: −147.60 feet where the player
  starts, and still −82.32 on the lower cave's floor ([Negative depth in the Tutorial](https://spelunky.ai/wiki/tutorial-negative-depth))[^45][^46][^47].
- Nothing done there counts toward the statistics the high scores room keeps, as the game counts only
  its own levels[^48][^49].
- An explosion's code means to let it break blocks off the screen only in the Tutorial, but its test,
  `isLevel("rTutorial")`, is true on every level, so explosions break blocks off the screen everywhere
  ([Explosions break blocks off screen](https://spelunky.ai/wiki/explosions-break-blocks-off-screen))[^50][^14].

## FAQ

### How do you get to the Tutorial in Spelunky Classic?

Through the door under the TUTORIAL sign on the title screen, to the left of START. On the game's first run, that door is bricked over and the START door leads to the Tutorial instead.

### Do you keep the Tutorial's money in Spelunky Classic?

No. Its exit leads to the screen between levels, which starts a new game: no money, 4 bombs and 4 ropes, and level 1 of [the Mines](https://spelunky.ai/wiki/mines) next.

### How many bombs and ropes do you get in the Tutorial in Spelunky Classic?

No bombs and 2 ropes. Its [Crate](https://spelunky.ai/wiki/crate) always holds a [Bomb Bag](https://spelunky.ai/wiki/bomb-bag), which gives 3 bombs.

### What is in the Tutorial in Spelunky Classic?

Seventeen signs that teach the controls, a [Snake](https://spelunky.ai/wiki/snake) and a [Bat](https://spelunky.ai/wiki/bat), six [Gold Bars](https://spelunky.ai/wiki/gold-bar) and a stack of [Gold Bars](https://spelunky.ai/wiki/gold-bars), three big gems on a high ledge, a [Chest](https://spelunky.ai/wiki/chest), a Crate and a [Rock](https://spelunky.ai/wiki/rock).

### Does the Ghost come in the Tutorial in Spelunky Classic?

No. The [Ghost](https://spelunky.ai/wiki/ghost) only comes on level 2 and later, and the Tutorial is level 0, so the player can take as long as he likes.

## See also

- **Found here:** [Bat](https://spelunky.ai/wiki/bat), [Big Emerald](https://spelunky.ai/wiki/big-emerald), [Big Ruby](https://spelunky.ai/wiki/big-ruby), [Big Sapphire](https://spelunky.ai/wiki/big-sapphire), [Bomb Bag](https://spelunky.ai/wiki/bomb-bag) (In its Crate)[^43], [Chest](https://spelunky.ai/wiki/chest), [Crate](https://spelunky.ai/wiki/crate), [Emerald](https://spelunky.ai/wiki/emerald) (In its Chest)[^51], [Gold Bar](https://spelunky.ai/wiki/gold-bar), [Gold Bars](https://spelunky.ai/wiki/gold-bars), [Rock](https://spelunky.ai/wiki/rock), [Ruby](https://spelunky.ai/wiki/ruby) (In its Chest)[^51], [Sapphire](https://spelunky.ai/wiki/sapphire) (In its Chest)[^51], [Snake](https://spelunky.ai/wiki/snake), [Spelunker](https://spelunky.ai/wiki/spelunker)
- **Related:** [Explosions break blocks off screen](https://spelunky.ai/wiki/explosions-break-blocks-off-screen), [Negative depth in the Tutorial](https://spelunky.ai/wiki/tutorial-negative-depth)

## References

[^1]: [`objects/oPlayer1/other_animation_end.gml:87-95`](https://spelunky.ai/wiki/source/objects/oPlayer1/other_animation_end#L87-L95)

[^2]: `rTitle`, as the room editor placed it

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

[^4]: [`objects/oGlobals/create.gml:57-69`](https://spelunky.ai/wiki/source/objects/oGlobals/create#L57-L69)

[^5]: [`objects/oTitle/create.gml:100-105`](https://spelunky.ai/wiki/source/objects/oTitle/create#L100-L105)

[^6]: [`objects/oPlayer1/other_animation_end.gml:72-83`](https://spelunky.ai/wiki/source/objects/oPlayer1/other_animation_end#L72-L83)

[^7]: Replay [`fidelity/replays/movement-tutorial-exit.txt`](https://github.com/851-labs/spelunky/blob/059d629be4ffc90c405e1bfef24d0341c70d3c22/fidelity/replays/movement-tutorial-exit.txt), which the clips [Out of the Tutorial](https://spelunky.ai/wiki/tutorial#clip-tutorial-exit) and [Walking and running](https://spelunky.ai/wiki/tutorial#clip-speedrunning-basics-run) play

[^8]: `rTutorial`, as the room editor placed it

[^9]: [`scripts/scrInitLevel.gml:197-198`](https://spelunky.ai/wiki/source/scripts/scrInitLevel#L197-L198)

[^10]: [`objects/oBrick/create.gml:1-16`](https://spelunky.ai/wiki/source/objects/oBrick/create#L1-L16)

[^11]: [`scripts/scrInitLevel.gml:169`](https://spelunky.ai/wiki/source/scripts/scrInitLevel#L169)

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

[^13]: [`objects/oScreen/step_begin.gml:245-256`](https://spelunky.ai/wiki/source/objects/oScreen/step_begin#L245-L256)

[^14]: [docs/quirks.md §1, Bugs and leftovers in the 1.1 source](https://github.com/851-labs/spelunky/blob/059d629be4ffc90c405e1bfef24d0341c70d3c22/docs/quirks.md#1-bugs-and-leftovers-in-the-11-source)

[^15]: [`objects/oMsgSign/create.gml:9-14`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L9-L14)

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

[^17]: [`objects/oMsgSign/create.gml:22-27`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L22-L27)

[^18]: [`objects/oMsgSign/create.gml:28-34`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L28-L34)

[^19]: [`objects/oMsgSign/create.gml:35-40`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L35-L40)

[^20]: [`objects/oMsgSign/create.gml:60-65`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L60-L65)

[^21]: [`objects/oMsgSign/create.gml:41-47`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L41-L47)

[^22]: [`objects/oMsgSign/create.gml:48-53`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L48-L53)

[^23]: [`objects/oMsgSign/create.gml:54-59`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L54-L59)

[^24]: [`objects/oMsgSign/create.gml:66-72`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L66-L72)

[^25]: [`objects/oMsgSign/create.gml:73-79`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L73-L79)

[^26]: [`objects/oMsgSign/create.gml:80-87`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L80-L87)

[^27]: [`objects/oMsgSign/create.gml:88-94`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L88-L94)

[^28]: [`objects/oMsgSign/create.gml:95-100`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L95-L100)

[^29]: [`objects/oMsgSign/create.gml:101-106`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L101-L106)

[^30]: [`objects/oMsgSign/create.gml:107-114`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L107-L114)

[^31]: [`objects/oMsgSign/create.gml:115-119`](https://spelunky.ai/wiki/source/objects/oMsgSign/create#L115-L119)

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

[^33]: Clip [speedrunning-basics/run](https://spelunky.ai/wiki/tutorial#clip-speedrunning-basics-run)

[^34]: [`objects/oTransition/create.gml:20-24`](https://spelunky.ai/wiki/source/objects/oTransition/create#L20-L24)

[^35]: [`objects/oTransition/draw.gml:76`](https://spelunky.ai/wiki/source/objects/oTransition/draw#L76)

[^36]: [`scripts/scrClearGlobals.gml:103-167`](https://spelunky.ai/wiki/source/scripts/scrClearGlobals#L103-L167)

[^37]: [`objects/oTransition/step.gml:17-27`](https://spelunky.ai/wiki/source/objects/oTransition/step#L17-L27)

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

[^39]: [`objects/oPlayer1/other_animation_end.gml:110-131`](https://spelunky.ai/wiki/source/objects/oPlayer1/other_animation_end#L110-L131)

[^40]: Replay [`fidelity/replays/flow-tutorial-title.txt`](https://github.com/851-labs/spelunky/blob/059d629be4ffc90c405e1bfef24d0341c70d3c22/fidelity/replays/flow-tutorial-title.txt)

[^41]: [`objects/oGame/step.gml:26-28`](https://spelunky.ai/wiki/source/objects/oGame/step#L26-L28)

[^42]: [`objects/oPlayer1/step.gml:568`](https://spelunky.ai/wiki/source/objects/oPlayer1/step#L568)

[^43]: [`objects/oPlayer1/step.gml:616`](https://spelunky.ai/wiki/source/objects/oPlayer1/step#L616)

[^44]: Clip [big-emerald/tutorial](https://spelunky.ai/wiki/tutorial#clip-big-emerald-tutorial)

[^45]: [`objects/oScreen/step_begin.gml:55`](https://spelunky.ai/wiki/source/objects/oScreen/step_begin#L55)

[^46]: [`objects/oScreen/step_begin.gml:85-91`](https://spelunky.ai/wiki/source/objects/oScreen/step_begin#L85-L91)

[^47]: [“The Tutorial's pause screen shows a negative depth.”](https://spelunky.ai/wiki/tutorial-negative-depth), [docs/quirks.md §1](https://github.com/851-labs/spelunky/blob/059d629be4ffc90c405e1bfef24d0341c70d3c22/docs/quirks.md?plain=1#L44)

[^48]: [`scripts/isRealLevel.gml:1-8`](https://spelunky.ai/wiki/source/scripts/isRealLevel#L1-L8)

[^49]: [`objects/oPlayer1/step.gml:563`](https://spelunky.ai/wiki/source/objects/oPlayer1/step#L563)

[^50]: [`objects/oExplosion/collision_oSolid.gml:1-2`](https://spelunky.ai/wiki/source/objects/oExplosion/collision_oSolid#L1-L2)

[^51]: [`objects/oPlayer1/step.gml:580-593`](https://spelunky.ai/wiki/source/objects/oPlayer1/step#L580-L593)

### 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/oPlayer1/other_animation_end.gml`](https://spelunky.ai/wiki/source/objects/oPlayer1/other_animation_end)
- [`objects/oGlobals/create.gml`](https://spelunky.ai/wiki/source/objects/oGlobals/create)
- [`objects/oTitle/create.gml`](https://spelunky.ai/wiki/source/objects/oTitle/create)
- [`objects/oTransition/create.gml`](https://spelunky.ai/wiki/source/objects/oTransition/create)
- [`objects/oTransition/draw.gml`](https://spelunky.ai/wiki/source/objects/oTransition/draw)
- [`scripts/scrInitLevel.gml`](https://spelunky.ai/wiki/source/scripts/scrInitLevel)
