How blending two genres forged an indie cult classic.
Picture Level 1-1 of Super Mario Bros. Picture the lone goomba, marching toward you in the opening seconds, or the trio of question mark blocks, one hiding a predictable mushroom. Picture the pipes, the fire flower, the mountain of blocks leading to the end flag.
Memory and repetition guide us through platformers. Like driving somewhere you've been hundreds of times before, your brain goes into auto-pilot when playing a platformer you know really well. All the jumps come naturally and all the enemies are easily avoided.
But what if, instead of the uniform levels of Super Mario Bros., it was entirely randomized? Die once and you start at the beginning with a whole new set of levels ... levels you've never seen before. Suddenly that experience you've gained from repetition is completely worthless and you have a very different game on your hands. That game is Spelunky.
Spelunky is a game created by Derek Yu. In it, you control a small, Indiana Jones-esque hero, attempting to survive increasingly difficult 2D platforming levels as he delves deeper into a treasure-rich landscape. And while the levels have specific themes (mines, jungles, caverns), the level designs are different every time you play. The first level might have you avoiding pressure-sensitive traps, using bombs to blast your way to the exit, but it could just as easily have you battling a mess of snakes and spiders, requiring precise jumps to avoid spike pits.
Even though the level design is random, you'll be well-acquainted with the visual style of this first level (the game always starts in the mines) as, unlike most platformers, Spelunky only gives you a single life to make it to the end of the game. Die once and you're back at the very beginning with a whole new set of levels before you. Sounds miserable, doesn't it? Surprisingly, it's not.
"Splelunky is, in my opinion, the best indie game ever made." That's Edmund McMillen. You may recognize the name, as McMillen has been behind some of the best indie games ever made. Most recently: Super Meat Boy and The Binding of Isaac. He continues: "As a designer, it's one of the most influential and inspiring games that I've played in forever."
But it's just randomized Mario, right? What's the big deal about that? Actually, there's far more going on in Spelunky than first meets the eye.
Born to design
Derek Yu was born in 1982. His love of video games started before that.
"My parents got an Atari while they were pregnant with me and I started playing it pretty early ... and then my uncle got an Nintendo Entertainment System pretty much right when it came out."
By second grade he was designing games on paper with the help of a like-minded 8-year-old named Jon Perry. Yu and Perry's partnership would last 12 years, with the pair releasing games through AOL communities and, eventually, dedicated indie game forums. Their collaboration culminated with a freeware Metroidvania called Eternal Daughter in 2002.
For his next game, Yu was ready to try something new. He teamed with another designer, Alec Holowka, to make Aquaria, an underwater exploration game. It took two years to develop, but received plenty of praise along the way, winning the grand prize at the Independent Games Festival in 2006. The game released in 2007 and its success across multiple platforms ended up funding Derek's first major solo project:Spelunky.
The dawn of Spelunky
WHAT'S A ROGUELIKE?
The term "roguelike" comes from the game Rogue, a 1980s RPG. The concept was simple: Unlike most RPGs, Rogue featured a randomized map, and dying at any point would force the player to start from scratch. While punishing, the format of the game became popular as it encouraged thoughtful player movement rather than twitch-based play, thanks in no small part to its turn-based format.The key to Rogue was replayability. Although the maps were random, the enemies you faced and the items you found would act the same way every time you played. Using the knowledge of past failures, players would find it easier to succeed.
After the release of Aquaria, Yu began experimenting with different genres for a follow-up. Using his experience from past projects, he knew what worked and what didn't and tried to use that information to inform where we would go next. Spelunky was the outcome.
"Spelunky came from a bunch of different seeds," remembers Yu. "I was working on quite a few little prototypes for platformers and dungeon crawlers and I had a couple of simple roguelike prototypes. Spelunky was really just inspired by little pieces of all of those genres. It occurred to me to apply some of the core ideas of roguelikes into a platformer.
"There are things that frustrated me about platform games and there were things that frustrated me about roguelike games," says Yu. "I wanted to see if I could rub out the bad parts and just keep the good parts of those genres."
So what are the bad parts, according to Yu?
"For traditional platform games, it's really about playing the same levels over and over again until you get good enough to get through them. With roguelikes I get frustrated just by how esoteric they can be, but also just how many things you need to keep track of and learn about in the game. There's just so much minutiae."
And the good parts?
"For platformers, I really love how fun they are to play and to jump around like Super Mario Bros., which left a huge impact on me. I also really like the randomized aspect of roguelike games."The trick was excising the elements that Yu found uninteresting while staying true to the parts that worked.
The freeware release
In late 2008, after more than a year of prototyping, Derek Yu released the first public version of Spelunky on the TIGSource forums. In the post, he described Spelunky as "a fast-paced platform game that had the kind of tension, re-playability, and variety of a roguelike."
"I released it to get feedback," says Yu. "That's kind of what I've been used to doing with a lot of the freeware stuff that I've done. Just release a basic full version that you can play all the way through, and then get feedback on it and iterate."
Yu got just what he was looking for. At present, his Spelunky forum thread rests at over 4,500 responses and nearly one million views."It kind of shows you how the Internet and how the gaming community has changed in those intervening years between Eternal Daughter and Spelunky," says Yu. "Spelunkywas a much smaller production than Eternal Daughter but had a much bigger impact and just got spread around a lot faster."
"SPELUNKY WAS A MUCH SMALLER PRODUCTION THAN ETERNAL DAUGHTER BUT HAD A MUCH BIGGER IMPACT AND JUST GOT SPREAD AROUND A LOT FASTER."
The Jonathan Blow effect
By early 2009, Spelunky was a verified freeware hit. But, despite its popularity, Yu says he never intended to turn it into a commercial game. That is, until he was approached by Jon Blow.
In 2008, Jonathan Blow became one of the first indie game celebrities with the release of Braid (seen above). The quirky, time-centric platformer was a major success on Xbox Live Arcade, selling more than 55,000 copies in its first week. Finally there was proof that a tiny indie game could be a huge financial success.
As a regular reader of TIGSource, Blow kept up with Spelunky's releases, playing through Yu's updates to the game as they came out.
"I really liked the game a lot," remembers Blow. "It sort of did some things that a lot of games hadn't tried."Yu remembers Blow reaching out in an email, asking if he had any intention of making a commercial version of Spelunky.
"It wasn't until Jon Blow told me he liked the game and asked me if I was planning on putting it on a console that I considered making it a commercial thing. I was just going to finish it up as a freeware game and enjoy having people play it. Jon deserves a lot of credit for helping get the Xbox version of the game going because he put me in touch with people at Microsoft and really got my foot in the door."
"This was after Braid had come out and been very successful but before the XBLA team heard me trashing Microsoft to the press," says Blow. "They still probably read my emails without being too annoyed at me. Derek had released anotherSpelunky update and I emailed my producer Kevin Hathaway, who is also known as the one producer that anybody liked to work with at XBLA, and I said, 'Hey you guys should sign an XBLA version of Spelunky because it's just a really fun game.' So that was basically it. There was an email introduction that I did and that's all that I knew about it until it got signed."
Blow's recommendation was enough to get Derek Yu in the room at Microsoft, at which point he says the pitch for Spelunkywas surprisingly easy.
"This is where I think having the freeware game was instrumental, because the game was the pitch. I didn't have to do anything else, because I already had a game."
Spelunky's dedicated online fanbase only made the pitch easier.
From freeware to XBLA, a two-year journey
With Microsoft on board, Yu set to work on the XBLA version of Spelunky. The only request from the publisher: Lose the pixel graphics of the freeware version. For Yu, this wasn't a problem.
"That was not really a difficult discussion to have with me because I wasn't interested in just putting the pixel graphics from the original game on Xbox anyway. The way I was thinking was that if I was doing this for Xbox, I [didn't] want to just port the game."
But soon it became clear that Yu's one-man operation simply could not sustain the work of bringing a game to XBLA. In the middle of 2009, he reached out to an old friend, Andy Hull, to take on the major programming duties. The two had known each other for over a decade through various indie development communities, and Hull had just wrapped up work on an interactive storybook, 'What is Bothering Carl.' Hull remembers the two met up at PAX Prime in 2009.
"Derek was telling me he got the XBLA deal and that he'd been trying to work on it by himself but that he really needed a programmer, especially someone that had done a lot of graphics programming. I was just like, 'Well, you know, that's what I did in college. That was my major, essentially. And I just wrapped up my last project, so I'm available.' He was like, 'Sure, let's give it a go.'"
SOON IT BECAME CLEAR THAT YU'S ONE-MAN OPERATION SIMPLY COULD NOT SUSTAIN THE WORK OF BRINGING A GAME TO XBLA.
The pair started work on a prototype of the XBLA version, with a planned development cycle of about nine months. Jonathan Blow had actually offered them the source code and engine of Braid to make the game, but it quickly became clear that it wasn't what they needed.
"At one point Derek called me one night and said, 'I think we need to just do our own engine. You can do that, right?'" Hull was terrified.
"After I graduated college, there was a big gap between college and starting Spelunky," says Hull. "I was actually working as a wooden toy designer for most of it. I had not been programming for a long time. I think working in Jon's code got me reacclimated to programming. It was helpful when we started building our own engine, because I had just been working with someone else's engine, so I had an idea of how I could maybe do some things better than I had done in the past."
As it turned out, the new engine was seriously aided by the freeware version ofSpelunky. "From the get-go, I knew what the engine had to do. It's not a luxury that most people have when they're making a game. In that sense, I was able to make decisions specifically tailored to Spelunky because I knew what the game was going to be about."
"AT ONE POINT DEREK CALLED ME ONE NIGHT AND SAID, 'I THINK WE NEED TO JUST DO OUR OWN ENGINE. YOU CAN DO THAT, RIGHT?'"
Even with the freeware version to guide them, Spelunky's nine-month development cycle soon went out the window. Both Hull and Yu admit that their total lack of console development experience led to a massive underestimation of how long the game would take.
"It very much felt like we were always like six months from being done," says Hull. "We were just naïve in terms of the amount of work that the Xbox functionality required."
Polish was another big factor in the delay, says Hull.
"Derek always said, 'The goal is Nintendo quality.' That sense that you want it to feel as polished and as good as the best Mario game. Whether we get there or not is not really the point. Obviously we'd like to, but it's about always striving to make things feel just right. You just lose a lot of time to that. It takes a lot of time to keep tweaking things to make everything perfect."
Signs of achieved perfection began to begin to appear in early 2012, where the XBLA version of Spelunky went on to win the award for Excellence in Design at the Independent Games Festival.
MUSIC TO SPELUNK TO
Eirik Surhke is the composer of Spelunky and has graciously offered up one of the first tracks in the game for your listening pleasure.
Audio: Spelunky Track 1
He describes his style as "slower, jazzier, with the focus shifted from flashy melodies to moody chords. I definitely started leaning more in the direction of Final Fantasy caves (Nobuo Uematsu) as well as Zelda dungeons (Koji Kondo). Some other inspirations I'd be hard pressed not to mention: YMO, David Wise, Alex Mauer, Naoki Kodaka, Junko Tamiya, Bernard Fevre, Chromelodeon."
The magical insanity of Spelunky
Which brings us back to the question: What's the big deal about a randomized platformer? It's a matter of experience.
In traditional RPGs, experience is a unit of advancement. You killed this monster, you earned 50 experience points, you went up an arbitrary level. In Spelunky, you earn experience through death.
Every time you die, you learn something new. Examples: Oh, I guess I can't jump that far. Oh, I guess that frog explodes when you jump on him. Oh, I guess stealing items from a store is not such a good idea when the store owner is carrying a shotgun.
Like the original Rogue, the maps may be randomized, but the objects in them act the same way every time. It's that experience you've earned from your past 50 deaths that makes you better each time you play.
Tommy Refenes, the programmer behindSuper Meat Boy, describes the magic ofSpelunky thusly:
"Each time you play Spelunky you come away with a story about what happened. 'Oh, I was playing and a bomb blew up and it shot this rock above my head and it broke this jar and a spider came down and killed me.' There [are] so many random elements inside of the game that it makes up this little world that always keeps you coming back to it ... instead of a high score it's like a new experience you had with this game."
His partner on Super Meat Boy, Edmund McMillen, agrees. "If there was no Spelunky, there would never have been a Binding of Isaac. Spelunky was one of the first games that I knew of to mix genres with roguelikes."
Jonathan Blow compares Spelunky to some of the games made by a long-dead developer, Looking Glass Studios. Games likeThief and System Shock.
"[Those titles] had this idea of a game as a system, and when you went to program the game what you wanted to do was design objects that had the maximum amount of interactivity with each other. You wanted to program it to basically generate situations that the game designer would not have foreseen ... I feel like Spelunky, intentionally or not, was the first game in a while that came along and pushed that again. Where all sorts of crazy fun stuff would happen while you were playing that just came naturally from the interaction between different objects in the game."
Those magical interactions that make Spelunky great are a giant pain in the ass to program, according to Hull.
"It's awful. There are so many items in the game, so many monsters, so many environmental things like moving platforms and push blocks and elevators ... It's just constant work. It's like building an entire world of toys that all have to play together correctly. Like if I'm designing one toy, I only have to worry about the components that come with that toy. I don't generally think: I wonder how this ice cream scoop is going to work with LEGOs."But, every once in a while, a random, unexpected interaction makes all the effort worthwhile. Hull remembers his favorite.
"I got a really nasty surprise, actually. I had the sticky bombs and I was in a jungle level and a monkey jumped on me. When a monkey jumps on you, it has a random chance of throwing out one of your ropes, throwing out some of your cash, or throwing out a live bomb. Then he jumps off of you. So he latched on to me and ended up taking a bomb, but since I had sticky bombs, he couldn't throw it; it just stuck to him. Then he jumped away from me but, the way the monkeys work, they try to get you again, so he jumped back on me with the bomb stuck to him. So I just died. I exploded. I had never coded that specifically. That was quite the surprise."
The seemingly infinite number of variables means that, for the uninitiated, Spelunky seems impossible to finish. But, as you learn more and more about how each object interacts with the objects around it, the number of unknown variables becomes smaller and smaller.
But never gone. There's always an X-factor. An element of luck to Spelunky. A blind jump you have to make because you're out of ropes and there's a ghost chasing you. And all it takes is one of these moments to send you back to the start.
"I'll be conservative and say I can beat it one out of every 10 times," says Hull. "It might be a little bit better than that. Once you know how all the interactions work, there's usually a fairly safe way of handling it. To be fair, I can only iron man it with any consistency to get the regular ending. There is another way of finishing the game that I have yet to manage."You read that right. The secret ending, which requires a host of off-the-beaten-path items and hidden passageways, has never been completed by the game's lead programmer without cheating. Just so you know what you're getting into.
Regarding that insanely-hard-to-get ending, Hull doesn't want to discourage people who may think Spelunky is too hard. "We want it to be beatable," he says. "The regular ending is fully satisfying. We want that to be attainable by everyone. But to really beat the game ... we want that to be a badge of honor. We want that to be something where, if you tell your friends you did it, they'll be in awe of you. That's what we're going for."
But really, while the achievements list might imply otherwise, the secret ending isn't the true goal of Spelunky. The true goal is to have an adventure. An unplanned, likely cataclysmic journey through ancient mines and ruins, using only your past deaths to guide you. Even if you don't make it to the end, the promise of another unexpected journey will always bring you back.Shortly before publication, Spelunky entered Microsoft's final certification process. Should it be approved, it could see release as soon as this summer, though no official date has been scheduled.
Derek Yu, David Hellman/Number None