Posted March 09, 2025 by Nuno Das Neves
In late September 2024 I was prototyping a topdown action roguelike based on the idea of a sheepdog herding sheep through a dungeon. I had the basic movement, physics and AI pathing down, and I was working on the sheep's behavior: how they should flock and be manipulated by the player.
I was making some progress, but it was difficult to find the core fun of the game, or even decide how it should play. Could you only "push" the sheep by chasing them? Could you bark to send them further? Maybe the sheep could also follow you ("pull")? How would you interact with other creatures like goats and wolves, and how would they interact with the sheep? I had plenty of ideas but no clear answers, and the iteration process felt more draining than fun.
Rather than forcing my way through an idea that wasn’t clicking, I decided to step back and focus on a project I felt confident I could finish. More than anything, I wanted a game that was exciting to me, within my abilities, and doable in about three months.
My idea was:
Slay the Spire meets Hades, with a pointy hat!
I thought the control scheme should be MOBA-like, using the mouse to move and target, and QWER to cast the spells. As for the deckbuilding aspect, I wanted the player to choose between randomly-drawn spells in real-time! I did have some doubts about it, but I was too excited about the idea not to give it a try.
I was reasonably sure of my ability to actually build the game - I had already made an action roguelike prototype in C, back in 2023, and this would be something similar with the addition of the deckbuilding. The sheepdog game prototype I had was already better than that old prototype in many ways, and I was using the Zig programming language with Raylib, a combo I really enjoy working with.
Would it be too difficult to play? Could it be fun? All I knew is that I desperately wanted to try it out!
I felt like the game was already pretty fun! I gave it to some friends for playtesting and feedback.
One positive signal I got from almost everyone was that they wanted to play another run (or several) after dying a few times. This confirmed for me that I had done a couple of things well:
But my playtesters had plenty of confusion too—how and why spells were randomly populated (it's not at all obvious they are cards drawn from a deck), the unintuitive controls (everyone expects to use WASD for movement these days), and just how the spells work in general (shields, status effects, etc).
"The edges are still rough", I told myself. I'll fix all of that with time!
As it turned out, some of these were design issues I revisited again and again throughout development.
6 months on, in the current release, the situation is improved:
Looking back, Dungeon Wizard taught me a lot about balancing innovation with player expectations. Clear feedback and tutorials are just as crucial as fun mechanics, and some design trade-offs (like control schemes!) can be tough to resolve cleanly.
It may never be perfect, but I’m really proud of the final product.
I have plenty more to say about the development of Dungeon Wizard, so stay tuned for future devlogs!
Thanks for reading
Nuno