Now running Brace Yourself Games, Ryan speaks here about the groove meter that dictates how players can crawl, how enemies and your own music collection work, and how he aims to incorporate Dance Dance Revolution to make this Windows and Mac dungeon crawler aerobic. Later, he discusses forming a super indie dev team, including those from Aquaria, The Binding of Isaac and more.
What are the funnest things about NecroDancer that people can't see from the video?
When you kill an enemy and keep moving without missing a beat, you stay "in the groove". If you get hit or miss a beat for some reason, the groove chain ends. While in the groove, you receive a multiplier on the number of coins that enemies drop. I personally find it very satisfying to chain up big combos, especially while playing with some of the higher tempo songs! And if you really want a challenge, try killing a dragon while staying in the groove! That'll net you a ton of coins for your next shopping spree.
Also, we haven't talked a lot about the beat detection algorithm: it will be possible for players to use any digital music on their machines to play Crypt of the NecroDancer! Slay zombies while listening to Rob Zombie! Deliver beatdowns while listening to Beethoven!
Michael Jackson's "Thriller" was a big inspiration (the way the zombies move to the beat!), and it was quite fun the first time I got Thriller working in the game. You can also try hilariously incongruous stuff like Abba or high tempo death metal, if you like!
How do you do stay alive?
Well, the main survival strategy is to observe the movement patterns of the enemies and use those to your advantage. (Every enemy has a predictable, repetitive movement pattern.) Most enemies move only every second beat, while the player moves on every beat. This means you have time to hit an enemy and retreat before it has a chance to strike back. And, for the enemies that do move on every beat, we've generally made them weaker such that they can be killed in a single strike. The player simply needs to wait for them to approach, and deliver a timely blow!
What kind of research did you do for this game, and what did you find?
I didn't do a lot of intentional research, though I've certainly been inspired by a few recent games. Spelunky and FTL both rekindled my love of hard, roguelike games. So much so that I went back and played the heck out of the original Rogue, thereby reliving my childhood.
But by playing Rogue in such close proximity to Spelunky and FTL, I realized that Rogue is an extremely unfair game. Often it is simply unwinnable, regardless of your skill level. Games like Spelunky and FTL, on the other hand, boast fairly high win rates for truly skilled players. When you die in Spelunky, for example, it's usually your own stupid fault!
I did do a little explicit research on the rhythm game side, but that research quickly devolved into hours and hours of playing Rhythm Heaven Fever with my son. What I found on the rhythm game side is that there are many ways to inform the player of upcoming beats, and that we needed to iterate until we found the best match for NecroDancer. That process is still ongoing!
What are the most interesting things about the game to you?
I like the fact that it's reasonably close to a true roguelike, but while still preserving that same feeling of "when you die, it's your own fault!" of games like Spelunky. I want players to gain something from each death, not throw up their hands in frustration at the unfairness of the game.
Some roguelikes, such as Hack, also boast high win rates, but only after years of study. I want NecroDancer to be based on a player's skill more than knowledge of arcana. (I love secrets as much as the next guy, but I contend that a game should still feel fair and winnable, even without knowledge of those secrets.)
I also like the fact that the game's simple controls allow it to be played on a DDR dance pad! We've had some fun times with this at recent Vancouver indie gatherings, and I hope that I can bring that experience directly to fans if the game is accepted to upcoming festivals such as IndieCade and PAX. It's great fun roasting your enemies with a fireball (press LEFT and RIGHT arrows simultaneously) on a DDR pad! I want to share that with as many people as I can!
Any chance of hacking a DDR arcade cabinet for expos?
Hacking a DDR cabinet would be awesome! Not sure how the border guards would like me going back and forth from Canada with that much gear, though! Maybe if someone in the states already owns such a cabinet, we could set it up. It certainly would be attention grabbing if we could pull it off!
Catch us up on what you've done between now and Grubby Games? I know there's Big Fish...
I shipped 7 games at Grubby Games and 3 at Big Fish, yes. But in that time I also moved from the east coast of Canada to the west coast, got married, had two kids, and started another company! I have a degree in microbiology and have always been the sciency sort, so lately I've been dabbling near the interface of technology and sensory experience. You can have a tiny peek here. I might try someday to merge my interests in both science and gaming by employing the principles of sensory substitution to create novel gameplay experiences.
So what would you say were your biggest Grubby and Big Fish lessons?
I learned two big things from working at Grubby and Big Fish. The first is that I personally need to iterate on games repeatedly before they become truly fun. (I imagine that this is true for other people, but I cannot say for sure!) For some games, we just didn't have enough time or money to iterate. For other games, the design made iteration extremely difficult. Sim games, for example, aren't really playable until they're nearly "done"! To make a fun sim game, you pretty much need to build out your design completely and THEN iterate, possibly scrapping large portions and starting over again! But if you fail to do this, the results can be dismal. For this reason, I will no longer commit to starting a game if I do not feel that I will be able to iterate enough to produce something that I'm proud of.
A sub note, regarding iteration: I find that when I am both a programmer and the designer, I sort of iterate on the fly. But when I am the designer and not a programmer, I have to request features, wait, test them, and then request tweaks. The resultant delay means that you must iterate for longer in order to achieve the same results. The closer a designer is to the code, the better, in my mind. And if the designer cannot be a programmer for any reason, then having fast programmers is vital.
The second thing I learned is that you must choose your teammates wisely! The amount of time and energy that you can lose by choosing the wrong teammates is unfathomable, whereas working with a team of talented, motivated, like-minded people, is going to have the opposite effect: It will energize you and make you eager to work harder than ever on the game.
The first step was to create a prototype of Crypt of the NecroDancer. Once I had convinced myself that the game was fun and worth pursuing, I put the word out (through various indie channels) that I was looking for an artist to partner up with. Josh Larson suggested I talk to Ted Martens, which worked out extremely well! Ted loved the prototype, I loved the concept art he came up with, and we seemed to have very compatible approaches to game development. Ted has contributed significantly to the design as well; the game would not be nearly so awesome had I not been so fortunate as to find Ted!
And speaking of Ted, he happens to be roommates with Evan Balster. I was originally planning to code the MP3 beat detection algorithm on my own (I enjoy that sort of stuff!), but once I found out that Evan was an audio code wizard (and that Ted could vouch for his awesomeness as a person), I figured it made sense to see if Evan would be interested in handling the audio code. The beat detector is really shaping up (and we're getting some cool visualization videos from Evan as fun bonuses!), and Evan has also been a design contributor since he has joined the team. In fact, I'll shortly be coding up a boss battle that was Evan's brainchild.
As for the music side of things, I've known Alec Holowka for a while now, as I live in Vancouver and he has split his time between Vancouver and Winnipeg over the last 10 years. When you're making a rhythm game and you have a friend who's an award winning composer, why not ask him to join you? I always love hanging out with Alec, and his game soundtracks are constantly stuck in my head, so I knew he'd be the best person to have on board. Lucky for me, he said yes!
The first track he produced really nailed the feel of the game, and having it in the game gave me a big motivational boost. Prior to that I had been testing the game with songs like "Thriller" and "Hey Ya", so it felt great to have something so well suited to the gameplay.
But my plan for the game was to have a unique track for each level, and at least 25 levels. I knew that this was a lot to ask of Alec, so I talked to him about getting a second musician involved. He suggested we ask Danny Baranowsky. I had never met Danny before, but I had certainly heard his amazing music! Alec made the introduction and Danny was really excited about the project. Taking inspiration from Alec's work, Danny's first track had this epic, soaring, dark, dancy vibe to it. Everyone on the team loved it, and it was obvious that Danny was a perfect fit for the project.
Last but not least: Sound effects. Kevin Regamey might be working for us as a part of PowerUp Audio, but he really is a member of the team: testing builds, giving design feedback, and of course, crafting the perfect sound effects for the game. I knew Kevin from various Vancouver indie meetups and parties; he and I share a love for HARD video games. When I told him about NecroDancer, he was rather excited I can use Kevin as a barometer for how hard I can make the game. (This is the man who won the GDC2013 Super Hexagon tournament.) If Kevin thinks the game is too hard, then it's probably too hard.
So, there you have it. I'm certainly no "indie superstar", but I was in the great position of knowing (or being introduced to) people with amazing talents, and lucky enough that those people were also excited about the potential of Crypt of the NecroDancer. Having a group like this where everyone cares, and everyone contributes meaningfully to the design, has made it an extremely fun project to work on!
How do you avoid the headaches of managing a superstar indie team? People with so much experience must have many different opinions about making a game.
It honestly hasn't been a problem! People just suggest what they want to suggest and there don't seem to be any hard feelings. Everyone is quite willing to accept criticism, whether it be on the design side, art side, or audio side. Without the various suggestions from Ted, Alec, Danny, Evan, and Kevin, the game would be far weaker, in all respects.
How do you handle rejecting ideas from other indies on the team?
It hasn't really been too big of a problem! Someone will just say, "what about X?" and if people get excited about it, I'll code it and try it out! For example, Alec had the idea to try playing the game with a DDR pad, so I bought a DDR pad and implemented it! And it was Evan's idea to have a boss battle that includes a conga-line of zombies. How can you say no to such awesome ideas?!
I think the prototype goes a long way, but I imagine that my track record has also played a role. When it comes to collaboration, there's a risk that others on the team will abandon the project prior to completion. There's also the risk that team members might not have the skills needed to produce a complete, polished game. The fact that I've shipped 10 games in 9 years shows that I can complete games!
And I'm also putting my money where my mouth is by funding the portions of the game's development that require funding. I think it's pretty clear that I'm going to see this through, and that the results will be solid. The track records of the rest of the NecroDancer team are similarly solid!
I'd suggest that developers who are just starting out should focus on building up a similar reputation. Make games that you're proud of and put them online for all to see. Entercompetitions and submit your games to festivals. Meet up with local indies (and if there are no such meetups, start them!), and travel to nearby game jams. Become a part of online game dev communities, like TIGSource. Put your games out there and put yourself out there! Don't stay locked up in your basement.
Wrapping up, anything about the game or the process you want to talk about that this hasn't addressed?
Yes! We are developing the game in an open fashion on our forums.
Ted posts art on the forums, and we provide feedback. I also post daily change logs, and hope to post design discussions as well. Fans of the game are welcome to chime in, too! Come help us make Crypt of the NecroDancer as awesome as it can be.