  _____            _             _          
 / ____| v.0.99.5 | |           | |         
| (___  _ __   ___| |_   _ _ __ | | ___   _ 
 \___ \| '_ \ / _ \ | | | | '_ \| |/ / | | |
 ____) | |_) |  __/ | |_| | | | |   <| |_| |
|_____/| .__/ \___|_|\__,_|_| |_|_|\_\\__, |
       | |                             __/ |
       |_|                by Derek Yu |___/  (c) 2009

=========================
 INTRODUCTION
=========================

"Legends speak of a Colossal Cave that extends deep underground, so twisted
by time that its passages shift like the sand under which it lies... the Cave
is said to be filled with fabulous treasures, but also incredible danger!"

Spelunky is a cave exploration / treasure hunting game where the goal is to
grab as much treasure from the cave as possible.  Every time you play the
cave's layout will be different.  Use your wits, your reflexes, and the items
available to you to survive and go ever deeper!  Perhaps at the end you may
find what you're looking for...

Don't be afraid to die!  But also don't be afraid to live!  Happy Spelunky-ing!


=========================
 CONTROLS
=========================

NOTE: THE CONTROLS CAN BE CONFIGURED WHEN THE GAME LOADS.

Left, Right - Walk
Up          - Climb Ladders and Vines
Down        - Crouch
X           - Whip, Throw Item, Use Item
Z (or W, Y) - Jump
C           - Cycle Whip, Bombs, Rope
B           - Use Bomb Shortcut
R           - Use Rope Shortcut
F           - Flare
P           - Purchase/Bet
Esc         - Pause/Menu (Quit Game)
F4          - Toggle Fullscreen
F9          - Take Screenshot
M           - Toggle Music

- To RUN, either start walking and then press down, or hold down either Shift,
  Ctrl, Alt, or Spacebar while walking.  You can disable "Down for Running" when
  the game first loads.

- To PICK UP ITEMS, crouch by them and press X.  You can throw them by pressing
  X again.  Hold up to throw high, and down to drop.

- Certain items, like weapons, can be used, instead of thrown, with X.

- You start each game with 4 BOMBS and 4 ROPES.  To use them, cycle to them
  with C and then press X to use.  The bomb must be armed first. Ropes can be
  thrown upwards or downwards, depending on whether you're standing or crouching.

- You can HANG ON TO LEDGES by jumping into them.  You can also flip onto a
  ledge by crawling over it.

- OPEN CRATES AND CHESTS by holding up and pressing X.

--------------------
 GAMEPAD SUPPORT
--------------------

Spelunky does support gamepads natively.  To use a gamepad, plug it into the
number 1 USB slot and then enable gamepads when the game starts.


           USB
            |
  LT        |       RT     Left Trigger  - Flare
            |              Left Bumper   - Bomb Shortcut
  ___LB     |     RB___    Right Trigger - Purchase/Bet
 /     \____=____/     \   Right Bumper  - Rope Shortcut
.                       .  D-Pad         - Move
|   |   9      10   4   |  Button 10     - Pause/Menu (Quit Game)
|  = =             1 3  |  Button 1      - Whip, Throw Item, Use Item
|   |               2   |  Button 2      - Jump
|                       |  Button 3      - Run
|      LA       RA      |  Button 4      - Cycle Whip, Bombs, Rope
|      ___________      |  Left Analog   - Move
'     /           \     ' 
 \___/             \___/


=========================
 LEVEL EDITOR (WIP)
=========================

--------------------
 EDITING LEVELS
--------------------

Press F2 at the title screen to go to the level editor.  You will be prompted
for a level name.  Type in the name of an existing level, or a new level.

Use the mouse to place tiles (left button) or erase tiles (right button).  Use
A and S (or the mouse wheel) to switch tiles within a group.  Press Escape to
exit the level editor (you will be asked if you want to save the level first).

The number keys 1-4 select the different groups, which are:

  - Blocks
  - Enemies
  - Traps
  - Items

NOTE: more tiles will be available to you in the level editor as you play
through the game and meet certain requirements.  However, you do not need to
reach any areas to play custom levels, even if they contain tiles you have not
unlocked yourself.

Click on the "Edit Info" button to change one or more of the following:

  - Level Name
  - Author
  - Music (Cave, Lush, Ice, Temple, and Boss are the current options)
  - Starting Life
  - Starting Bombs
  - Starting Rope
  - Next Level

"Next Level" is the name of a level to go to when you exit this one.  If this
is left blank or the level is not found, then exiting this level will take you
to a win screen.

You can also click "New Level" to load a new level or "Test Level" to test your
level (dying or exiting will return you to the editor).

--------------------
 PLAYING LEVELS
--------------------

To play the level, press F3 at the title screen.  You will be prompted
for a level name.

--------------------
 SHARING LEVELS
--------------------

Levels are saved as ".lvl" files in your levels directory.  To share a level
with other players, you can either send them the file or you can simply open
up the file in a text editor (e.g. Notepad), copy the level data, and then
paste it into an e-mail or on a forum.  Other users can copy that data and
save it to a .lvl file to play on their own computer.

=========================
 ISSUES
=========================

1. The game just ends immediately after the setup screen!

- Your graphics card may be compatible with Game Maker surfaces, which
  Spelunky uses.  Try running the game with fullscreen "off" and see if that
  helps.

2. There are strange visual glitches in the game.

- That is probably another graphics card issue.  I am looking into it.

3. The game runs slowly on my computer!

- Try turning "High Detail" off when the game loads.  Sorry, Game Maker is
rather slow and I'm not the best programmer!

4. This game is too hard!

- Spelunky is more like a "roguelike" game in that death is fast and always
  permanent.  It adds a certain tension to the game that makes it compelling.
  In short, you're meant to die many times before you complete the game, if
  ever.  It's supposed to be tough!

5. Any plans to port the game to [game console]?

- Spelunky is made in Game Maker, so a port to a game console is not all that
  easy.  At some point, I am planning on releasing the source code, and then
  if someone wants to attempt to rewrite the game in C++, Java, or some other
  "adult" programming language, they are free to do so, so long as they do it
  under the license under which I will release the source code.

6. When will you release the source code (.gmk file)?

- Probably 6 months to a year after v1.0 of the game is released.  Possibly
  sooner.  I don't know!

7. I have something to tell you about the game!

- I'd love to hear it!  Contact me at yu.derek@gmail.com.


=========================
 LICENSE
=========================

Spelunky is freeware.  Feel free to distribute it, so long as you include all
the files, including the executable, this readme, and the sounds folder.


=========================
 CREDITS
=========================

This is a GAME by Derek Yu (http://www.derekyu.com).  It was MADE WITH Mark
Overmars' Game Maker 7.0 (http://www.yoyogames.com/make). 

The BASIC PLATFORM ENGINE was by Martin Piecyk
(http://www.pages.drexel.edu/~mfp27/platformengine/).

The MUSIC was by George Buzinkai (http://buzinkai.net), and Jonathan Perry
(http://www.jonperry.com).

The SOUND EFFECTS were created in Dr. Petter's SFXR
(http://www.cyd.liu.se/~tompe573/hp/project_sfxr.html).

This game incorporates ChevyRay's SCREEN-SCALING SCRIPTS.

BETA TESTING was handled by Annabelle Kennedy, Benzido, Chutup, GeneralValter,
Guert, Graham Goring, Haowan, Hideous, Inane, increpare, Kao, Mark Johns,
Melly, Paul Eres, Super Joe, tantan, Team Quiggan, Terry, Xion, and Zaphos.

MANY THANKS to Matt Thorson for help implementing gamepad support.  And also
Alec, Aquanoctis, azeo, Bob le Moche, Brandon McCartin, Devlin, dock, Drakkar,
Dragonmaw, Eclipse, Farbs, FishyBoy, Gainsworthy, KniteBlargh, kYn, lowpoly,
mirosurabu, Mr. Yes, nanotie, Nitro Crate, PaleFox, Pishtaco, Powergloved Andy,
Saladan0, sergiocornaga, Sparky, teknogames, and The-Imp for general feedback
and bug-reporting starting with v0.97.

After v0.97, so many new people played the game and gave me great feedback
that it would be very difficult to list them all.  My thanks to them as well.

Spelunky comes packed with CUSTOM LEVELS made by Acedio, Captain Zeroth,
Chutup, Fifth, Kao, Omnilith, Reath, TurboBurrito, and Xion.  These were made
in the built-in level editor.

The game takes INSPIRATION from many things, including Spelunker (NES), La
Mulana (http://agtp.romhack.net/project.php?id=lamulana), Balding's Quest
(http://forums.tigsource.com/index.php?topic=46.0), Aztec (Apple II), Nethack
(http://www.nethack.org/), Indiana Jones, and, maybe possibly, Cave Story
(http://www.cavestory.org/)!

SPELUNKY is a game that would not exists without the help of many people.
My thanks to them!

And special thanks to Fran, for reasons only known to her! <3


=========================
 VERSION HISTORY
=========================

--------------------
 0.99.5 - 1/17/2009
--------------------

+ New to level editor:
    + load level interface shows list of available levels.
    + user can load and test levels from the editor.
    + the Damselrus.
    - fixed a few bugs with entities in the level editor.
+ Added: alternate light sources to dark levels.
+ Included: custom levels by users in "levels" folder.

= Improved level generation.
= Reworked blood generation.  This hopefully fixes a number of blood-related
  issues.
= Rewrote screen shaking code.
= Arrows now stick in walls.
= Buffed the machete and mattock.
= Tweaked the pitcher's mitt.
= Weapons now do damage on the backswing.
= Player will now auto-pickup bomb bags, bomb boxes, and rope piles.

- Fixed fatal error: game could hang during transition to [SECRET].
- Fixed fatal error: whipping while exiting the game via rope would crash.
- Fixed bug: player could die from falling a short distance off a platform.
- Fixed bug: [SECRET] was missing a lot of graphics.
- Fixed bug: boulder physics behaved strangely.
- Fixed bug: arrow traps would not always activate when they should.
- Fixed bug: holding up and reaching an exit while carrying an idol or a
  damsel would cause you to drop them before you exit.
- Fixed bug: characters could get shot while exiting a level.
- Fixed bug: standing on [SECRET]'s head could get you squashed.
- Fixed bug: armed bombs could be switched away.

? Fixed fatal error: "trying to use non-existant surface" crash.
? Fixed bug: with certain graphics cards there was a black box behind every
  sprite.

--------------------
 0.99 - 1/10/2009
--------------------

+ Added to level editor:
    + "All" tiles, unlockable through play.
    + Users can choose starting life, bombs, and rope.
    + Users can choose music for each level.
    + Users can connect levels together.
+ Added: [SECRET] between areas 3 and 4.
+ Added: new content (it's a [SECRET]!).
+ Added: music and sound volume sliders to config screen.
+ Added: "start" button to joystick configuration.
+ Added: "x4" resolution option to config screen.
+ Added music: "ice.ogg".
+ Added: miscellaneous sound effects.

= Improved level generation.
= Tweaked player movement.
= Shopkeepers no longer sell duplicates of one-use items.
= Transitions display items the player is carrying.
= Player now cannot have the jetpack and cape equipped at the same time.
= [SECRET] has a new property.
= [SECRET] damage is now based on [SECRET].
= Reduced music file sizes significantly.
= Made "title.ogg" and "cave.ogg" loop smoothly.

- Fixed fatal error: held items caused crashes in a variety of ways
- Fixed fatal error: jumping on [SECRET] could lead to a crash.
- Fixed fatal error: blowing up [SECRET] with bombs could lead to a crash.
- Fixed bug: certain deaths would cause high scores to not be counted.
- Fixed bug: money exploit.
- Fixed bug: on gamepads that didn't have analog sticks, "up" always
  registered as being pressed.
- Fixed bug: shopkeeper follow AI would freak out if player was holding
  a "for sale" item high enough above him.
- Fixed bug: crawling on ice was problematic.

---------------------
 0.98.1 - 12/29/2008
---------------------

- Fixed fatal error: pressing pay on the title screen caused a crash.
- Fixed fatal error: picking up bow caused a crash.
- Fixed various bugs with the level editor.

---------------------
 0.98 - 12/29/2008
---------------------

+ Added: level editor.
+ Added: gamepad configuration.
+ Added: analog stick support.
+ Added: flare key to key configuration.
+ Added: a new item.
+ Added: a new shop type.

= Tweaked player movement.
= Made Climbing Gloves easier to use.

- Fixed fatal error: Holding up or down while pressing the action key during
  Tunnel Man's greeting would cause a crash.
- Fixed fatal error: Selling [SECRET] to shopkeepers would result in a crash.
- Fixed bug: messages displaying only the default key values.
- Fixed bug: resolved most/all issues regarding exiting levels and items.
- Fixed bug: crates occasionally give you broken capes.
- Fixed bug: certain items would destroy explosions!
- Fixed bug: gold collected that hasn't been added to your money total should
  resolve once you exit the level.
- Fixed bug: throwing bombs while holding damsel would hit damsel.
- Fixed bug: flipping over ledges while holding damsel sometimes hurts damsel.
- Fixed bug: jumping off ladders with [SECRET] would open [SECRET].
- Fixed bug: in certain situations, player can stay invisible after blinking.

---------------------
 0.97.1 - 12/25/2008
---------------------

= Added some original beta testers to the credits that were missing.

- Fixed bug: pressing action key skips [SECRET]'s dialogue entirely.
- Fixed bug: holding down run but not left or right should stop player
  instantaneously.
- Fixed bug: level generation creating broken paths.
- Fixed bug: breaking Mattock left invisible Mattock behind.
- Fixed bug: [SECRET] dropping priced item when near shops.
- Fixed bug: skipping intro flavor text would sometimes cause two characters
  to appear instead of just one.
- Fixed bug: certain enemies were not counting as kills, or were being counted
  as other enemies.
- Fixed bug: enemies killed by environment were counted as player kills.
- Fixed bug: enemies outside of room are now destroyed.

---------------------
 0.97 - 12/24/2008
---------------------

+ Added: key configuration.
+ Added: gamepad support.

= Let the player replay the tutorial from the title screen.
= Removed possibility of trapped chest from tutorial.
= Dropping ropes into the ground/wall now impossible.
= Let player run by holding down action key.
= Let player duck when standing between solid and platform.
= [SECRET] now only appears after level 1.
= [SECRET] now only appears after warning, with change in music.
= [SECRET] now turns [SECRET] into [SECRET].
= Prevented [SECRET] from appearing inside a tree.
= Made [SECRET]'s power more obvious.
= Increased message timeout.

- Fixed fatal error: hitting a key during fade-in/fade-out during credits
  could hang the game.
- Fixed fatal error: held items would randomly cause a crash.
- Fixed bug: in End Game, door opened prematurely.
- Fixed bug: shopkeepers getting angry over items they're not selling.
- Fixed bug: close window button now works.
- Fixed bug: "YOU GOT THE..." message repeating.
- Fixed bug: could use up flares on title screen.
- Fixed bug: unable to use rope/bomb shortcuts while holding an item.
- Fixed bug: skulls and jars shatter if held when exiting a level.
- Fixed bug: could see [SECRET] description prematurely.
- Fixed typo in introduction: "furroughed" instead of "furrowed."

---------------------
 0.96.1 - 12/21/2008
---------------------

First public release.