"Just One More Feature": Our Roguelike's Slow Death
The Siren Song of "Just One More Feature": A Roguelike’s Demise
Open the Wayline editors — pixel sprites, sheets, palettes, scenes — and export drop-in assets for Unity, Unreal, and Godot. Free to start, no signup.
We’ve all been there. Staring at our roguelike, already crammed with procedurally generated dungeons and permadeath mechanics, thinking, “Wouldn’t it be cool if…?” That “if” is often the start of a slippery slope, a tempting shortcut to feature creep that can sink your indie dream before it even hits the shore.
The truth is, in roguelike development, the path to hell is paved with good intentions, specifically those whispered promises of “just one more feature.” We learned this the hard way.
Our Descent into Feature Hell
Our project, tentatively titled “Crypt Crawler,” started with a clear vision: a fast-paced, strategic roguelike focused on resource management and clever enemy manipulation. We wanted tight gameplay loops and high replayability. Simple, right?
Not for long.
It started innocently enough. “Wouldn’t it be cool if players could craft temporary buffs from monster parts?” Sure, why not? Then, “Maybe we could add a reputation system with different factions underground?” Sounds neat. Then, a full-blown skill tree, alternate starting classes, an intricate lore system with collectible texts, and a fishing mini-game. Yes, a fishing mini-game.
Each “just one more feature” felt like a small, manageable addition. Individually, they seemed like great ideas. Collectively, they bloated our development time, fractured our focus, and, most importantly, muddied the core gameplay loop that made Crypt Crawler unique.
The Core Roguelike Loop: Protect It at All Costs
Before adding a single line of code, you need to identify the core gameplay loop of your roguelike. What makes it tick? What keeps players coming back for more?
For us, it was the tension of exploring dangerous dungeons, the satisfaction of overcoming difficult encounters through careful planning, and the thrill of finding powerful loot. Every feature we added should have enhanced this loop, not detracted from it.
The crafting system, reputation system, and skill tree, while interesting on paper, ultimately distracted from the core loop. Players spent more time managing inventory and navigating menus than exploring dungeons and fighting monsters. The fishing mini-game? Don’t even ask.
Essential vs. Nice-to-Have: A Brutal Distinction
This is where you need to be honest with yourself. Which features are essential to the core gameplay loop, and which are merely nice-to-have? This distinction can be brutal, especially when you’re emotionally attached to a particular feature.
Essential features directly contribute to the core gameplay. They enhance the tension, challenge, or reward of the player experience. Procedural generation, permadeath, and a variety of enemy types were essential for Crypt Crawler.
Nice-to-have features, on the other hand, are often distractions. They might add flavor or depth, but they don’t fundamentally improve the core gameplay loop. The reputation system and skill tree fell into this category for us. They sounded good, but they didn’t actually make the game more fun or engaging. They simply added complexity.
Objective Metrics: Measuring Feature Impact
How do you objectively measure the impact of a feature? Playtesting is crucial, but it’s not enough to simply ask players if they “liked” a feature. You need to gather data.
Track player behavior. How much time are players spending in the menus? How often are they using the crafting system? Are they actually engaging with the lore? This data will tell you whether a feature is being used and, more importantly, whether it’s contributing to a positive player experience.
For example, we tracked how often players used the crafting system. The data showed that only a small percentage of players used it regularly, and those who did often found it confusing and frustrating. This was a clear sign that the crafting system wasn’t working.
The Art of Ruthless Feature Cutting
This is perhaps the hardest part of game development. You’ve poured hours of work into a feature, and now you have to cut it. It’s painful, but sometimes necessary.
Don’t be afraid to kill your darlings. If a feature isn’t working, get rid of it. It’s better to ship a polished, focused game with fewer features than a bloated, buggy mess with everything but the kitchen sink.
We eventually made the tough decision to remove the reputation system, skill tree, and, yes, the fishing mini-game. It was a difficult process, but it ultimately resulted in a tighter, more focused game.
Learning from Our Mistakes: A Framework for the Future
So, how do you avoid the trap of "just one more feature"? Here’s a framework that we’ve developed based on our experiences:
- Define your core gameplay loop: What makes your roguelike unique and engaging?
- Prioritize ruthlessly: Focus on features that directly enhance the core gameplay loop.
- Establish objective metrics: Track player behavior to measure the impact of each feature.
- Be prepared to cut features: Don’t be afraid to kill your darlings if they’re not working.
- Scope like you mean it: Always keep the scope document updated and in mind.
Remember, the goal is to create a fun, engaging, and polished roguelike. It’s better to ship a smaller, more focused game that players love than a sprawling, unfinished mess that no one will ever play.
Our story doesn’t have a perfectly happy ending. “Crypt Crawler,” in its original overly-ambitious form, never saw the light of day. But the lessons we learned were invaluable. We’re now working on a new roguelike, one that is smaller in scope, more focused in its design, and, hopefully, one that will actually be released. This time, we’re ready to resist the siren song of “just one more feature.” We hope you will be too.