Spelunky Html5

HTML5 version of Spelunky Classic HD. Contribute to yancharkin/SpelunkyClassicHDhtml5 development by creating an account on GitHub. Spelunky is a 2008 source-available indie 2D platform video game created by Derek Yu and released as freeware for Microsoft Windows.It was remade for the Xbox 360 in 2012, with ports of the new version following for various platforms, including back to Microsoft Windows. The player controls a spelunker who explores a series of caves while collecting treasure, saving damsels, fighting enemies. Spelunky has 2 Chrome Web Store editions, one of which is called 'Spelunky HTML5 Edition' This is an outdated version of Spelunky Classic, and while it has many bugs, the most notable is the 0.5 jump bug. The player will only be able to jump 0.5 tiles, and can, however sprint and ledge climb 1 block. The bug will occur every time the game is launched, and will only happen once until the game.

About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features Press Copyright Contact us Creators.

The level is made of 16 rooms in a 4x4 grid. There are 4 different basic room types:

  • 0: a side room that is not on the solution path
  • 1: a room that is guaranteed to have a left exit and a right exit
  • 2: a room that is guaranteed to have exits on the left, right, and bottom. If there's another '2' room above it, then it also is guaranteed a top exit
  • 3: a room that is guaranteed to have exists on the left, right, and top

The first thing it does is place a start room in the top row. Room type doesn't really affect the start rooms, as it's a special case, but generally speaking a start room is type 1 or 2.

Every time a room is placed, at first it is always a type 1 room (left/right).

Then it decides where to go next. It picks a (uniform distribution) random number from 1 to 5. On a 1 or 2, the solution path moves left. On a 3 or 4, the solution path moves right. On a 5, the path goes down. (If the solution path hits the edge of the screen, then it immediately drops down and switches its left/right direction.)

SpelunkySpelunky Html5

Now here's the thing: if we move left or right, that's all fine and dandy because we've placed down a room with guaranteed left/right exits. But if we've decided to move down, we need to change the room we're in! So the generator overrides the current room to be type 2 (which always has a bottom drop) and we're all good to move down now.

Once it's moved onto the next room, it asks whether the last room we placed was type 2 (bottom drop). If this is true, then this room HAS to be another type 2 bottom drop, or a type 3 upside-down T shape. Since types 2 and 3 have left/right exits, we can start the algorithm all over again.

If we are on the bottom row of room, and we try to drop, instead of dropping down, we place the exit room.

Spelunky Html5

Spelunky Html5 Controls

Now we have the entire solution path generated (what's in red above). The last thing we do is we add some random type 0 rooms to every grid space that is not on the solution path. These rooms don't have any guarantees of exits on ANY side, which is why you sometimes see them walled off.

Spelunky Html5

If there are 3 or 4 type 0 rooms making a vertical line, then there is a chance that those rooms will become a snake pit. If we decide to make a snake pit, we put down, from top to bottom, a sequence of room type 7 8 9, or 7 8 8 9, depending on the depth of the snake pit we want. (You'll notice that snakes and jewels get placed manually at this point, since they're really part of the landscape and aren't randomly placed like most other enemies.)

Spelunky Html5 Hacked

That's it! In part 2 I show you how individual rooms get laid out (spikes, ladder/pit formations, etc).