I did not set out to create a roguelike platformer. Nor would I advise any indie to make one.
Nine started with me pondering how the “cats have nine lives” myth could translate into a game.
I eventually came up with the following concept: “You have 9 lives to beat 9 levels in 9 minutes”. I liked the simplicity of it and that the “9” was universal across three properties. It also didn’t feel like anything groundbreaking, so I decided to shelve it in favor of other prototypes.
And yet… even as I explored other prototypes, I found myself coming back to Nine. With each revisit I’d come up with secondary features ideas like:
- What if as you lost lives, you became stronger? This would create a rubberbanding effect that could make later lives more exciting.
- What if you had a SUPER move that let you sacrifice a life to deal heavy damage? This could create interesting risk/reward tension and potentially satisfying payoff moments.
I started to think of lives as a dynamic resource. There was something here.
Becoming a 2D Platformer
I liked the concept, but I still didn’t know what kind of game it was going to be. I knew that the focus was action, and I knew that I wanted to make a 2D game, but wasn’t sure about the game’s perspective or moment-to-moment gameplay.
Then I remembered that it wasn’t just about “9” the number. It also mattered that you were a cat, as that was the reason you had 9 lives. This tiny bit of extra thematic information could help me narrow down the design space.
Cats are known for their agility and reflexes. Even my beloved fat cat Kit could suddenly switch into ninja mode on a dime and swat her “enemies” (read: toys and q-tips) with lightning speed. When I imagine a cat in an action experience, I imagine it jumping around and showing off its movement prowess.
And thus, Nine became a platformer.
Becoming a Roguelike
How did I get from platformer to roguelike? Honestly, I’m still in the process of deciding.
Nine had permadeath from the start. The concept of “9 lives, 9 levels, 9 minutes” sounds like a short term action thrill, and I didn’t think it would work broken up by save progress points. I imagined the player taking multiple attempts to learn the mechanics and finally complete all 9 levels.
But this led to an issue of repetition and rote memorization. Even when platformers have bite-sized challenges (like N Game or Super Meatboy), a very natural outcome is for players to grind through the same path over and over. Nine needed some dynamic elements to help players focus on building skills over grindy trial-and-error.
This issue was confirmed by an early prototype I dubbed “6 in 6” (6 lives, 6 challenges). The players who succeeded (including myself) did so through memorization. And many players found repeating early levels to be a chore, opting instead to skip to their current level using debug-cheats.
Spelunky solves this problem via procedural generation. Because the layout is different each time, you are forced to learn high level patterns, such as how enemies behave and how the physics system works. This systemic learning is informed by each run, and empowers you to perform better on average as you improve. It’s a very satisfying loop once you get the hang of it.
But procedural generation is also a massive risk. On top of the heavy technical and production load, it’s a challenging design task to algorithmically generate layouts that feel unique, familiar, and fun all at the same time. Platformer fans are especially sensitive to the feeling of flow in level design thanks to decades of shared experience and built up genre expectations.
It’s not a perfect answer, but it’s a good starting point.
My early playtests are promising, but I need a little more time before I can start getting external playtesters to try out the first draft of proc gen levels. I should have a clear answer by the end of the month on whether I need to start shifting direction.
One possible fall back could be a dynamic Mega Man style model: 8 hand-designed levels/bosses, but you can choose the order and the remaining levels get dynamically harder, followed by a 9th final boss.
One other thing I ditched along the way was the “9 minutes” hard constraint. The whole point of the rubberbanding lives system is to create meaningful tension throughout the run. But if the player is mid-run and realizes they will run out 9-minute clock, they are likely to just give up instead. So instead I will explore some softer time pressures, and maybe offer a bonus reward (like an alternate boss/ending) for players who can get to the final battle in under 9 minutes.
So that’s the story how Nine became a roguelike! Or at least, why it is currently a roguelike. Time and iteration will tell!