The Full Spelunky on Spelunky
At this year’s Game Developers Conference, I gave a 30-minute talk with my friend Andy Hull about Spelunky and how it went from being a freeware PC game to the XBLA project that we’re both working on right now. Overall, I think the talk went quite well (whew)! You can find footage of the talk somewhere on GDC Vault, but unfortunately, you have to be a registered member of something or another to view it, so I provided the slides here, with some extra commentary.
I gave the first half of the talk. Pretty accurate drawing of me, aside from the sweat! All of my flop sweating over public speaking is internal.
A screenshot from the freeware version of the game.
I wanted to show here how important the smaller games (on the left) were in terms of how they made the bigger games (on the right) possible. For example, Alec Holowka found me through I’m O.K. and we started working on Aquaria soon after. Not that I don’t think they’re fun games in their own right, of course. Just small.
Spelunky XBLA is being built on top of the original Spelunky, which itself was built on top of smaller, unfinished prototypes. When I prototype games, I follow a process that’s similar to how I develop a comic or illustration. After I put down enough doodles, the themes and ideas that are interesting to me start to emerge.
I’ve been a fan of roguelikes since I found the MS-DOS port of Hack on a floppy disk my parents kept from graduate school. These are a couple of screenshots from a simple roguelike I started working on after Aquaria.
Some of the reasons why roguelikes are amazing but also relatively unpopular, in my opinion.
I love platform games, natch.
While I was working on my roguelike game, I would take a break and started a few platformers that didn’t get anywhere. However, you can see that some of the graphics from these prototypes made their way into Spelunky.
The idea was to combine the pick-up-and-play, instant gratification of a fun platformer with the variety of a roguelike. I wanted the basic interactions in the game to be simple and few, but allow for a lot of improvisation. And I wanted there to be a lot of chances to improvise.
To extrapolate the last bullet point, there are some challenges with randomized platform level design that are smoothed over by the implementation of destructible terrain and climbing tools. Plus, caves! Putting your game in a cave is a great excuse to make nonsensical but interesting levels, hehe.
I briefly went over the level generation in Spelunky here. First, each level is divided into a grid of 16 rooms.
A path is drawn from the entrance of the level at the top, to the exit of the level at the bottom.
Each room is selected from a set of room templates. Which set it’s selected from depends on where the room lies on the path from the entrance to the exit.
There are randomized “chunks” in each room template that add some variation.
Finally, I add the critters, traps, treasures, and other fun stuff! There are some other things to consider (for example, the placement of special rooms), but that’s the basic idea.
Generating things algorithmically has its upsides. You can’t develop levels that are as good as hand-made levels, but it’s exciting to run around in a dungeon that you know no one else has ever seen or will ever see again. Plus, when you get yourself out of a bind, it really feels like a miracle!
I brought up three examples where people released small projects or “refined prototypes” to great success. Super Meat Boy came from the Flash game Meat Boy, Google has Google Labs, and Haruki Murakami writes short stories between each novel1.
In the indie development scene there’s a lot of mulch – that’s the term I use for all these games that never get taken all the way. Some of these games are never going to be trees, but mulch them and the ideas go into other games.
And I stated that I like the analogy, but even though many developers choose to be one or the other, I feel that you can be a mulch and tree person both, to great success.
Here’s where Andy took over (and yes, he really does have two belly buttons - or at least, one belly button and one thing that looks like a belly button). Andy is doing a bit of everything, but mostly programming. I’ve known him for almost half my life, but this is the first time we’ve ever collaborated on something! He’s a great all-around talent to work with, and a super-nice dude, to boot.
A screenshot from the XBLA version of the game.
Jon Blow was the one who suggested putting Spelunky on Xbox 360, and after I went “Hmmm… hell yeah!”, he was generous enough to put me in touch with the producer at Microsoft who worked with him on Braid. From there, the game was evaluated by an XBLA team and the rest, as they say, is history!
What can I say? Jon is a supremely cool dude and it always feels good when supremely cool dudes take an interest in your game.
I don’t see any downsides to polishing up a promising prototype and releasing it as a small game. There’s no way that Jon Blow, Microsoft, or anyone else would have taken an interest in Spelunky if I hadn’t released the original version. A finished game is worth so much.
Jon was also kind enough to lend us his Braid engine, as we were such green Xbox developers. We used it for a few months before deciding that, in this particular case, creating our own engine would be a better idea. It was still very helpful as a reference.
All-in-all, we didn’t lose too much time to our new engine, and it’s made development smoother once we got back up to speed. There’s definitely a time and a place to roll your own code. Also, I’d personally rather that Jon spend his time working on The Witness than do tech support for us, wouldn’t you agree?
The original game is great, but what excited me about Spelunky XBLA was the chance to expand upon the original and try new things. It’s not a true sequel, but it’s also not a remake or port. This segues nicely into a rundown of some of the updates we’re making to the basic game:
This comparison image is quite fun to look at. It’s an interesting process to riff off your own artwork like this. There’s all of the fun of re-imagining something without the guilty feeling of being unoriginal! Not that a little explorer-man in a cave is all that original, but you catch my drift.
I have a great time doing both pixel art and high-res art - another reason to keep playing with Game Maker in between commercial projects! Now I just need to learn 3d…
The interface in the original game was not as smooth as it could have been. A lot of interactions require more button presses than necessary. For example, to buy an item in the original game, you had to pick the item up, which required two button presses, and then hit another button to buy the item. In Spelunky XBLA, you can stand in front of the item and just hit “RB”.
We teased some new stuff here! The high-resolution artwork lends itself to a bigger world, with more goodies to play with. And so it shall be!
At the end, we made the announcement that Spelunky XBLA will feature co-op multiplayer (offline), although we didn’t go into detail about what other modes will be offered. This was a feature that was requested heavily for the original game, but never made it in due to the amount of work that would be involved. We’ve been developing the XBLA game with it in mind, however.
We’re happy with how it’s turning out. Let’s just say that 4x the players = 4x the shenanigans…
One of the central themes of our talk was how important it has been for us to have the original Spelunky game out there. As someone who has come to think of his creative life in terms of his larger (2+ year) game projects, I still can’t stress the importance of the smaller releases and how they influenced me. There’s no reason why you cannot work on epic games and fill the time between with smaller projects. They scratch different types of itches2.
And that’s the end of the talk! Hope you enjoyed it.
1 Murakami explains this process in the introduction to Blind Willow, Sleeping Woman, a collection of his short stories.
2 In this video interview with Shinji Mikami, the creator of Resident Evil and the founder of Platinum Games, he expresses his interest in making “all kinds of different small games” (0:46).