← Back to blog
ChoostMarch 19, 2026by Choost

Granny's Gambit: How We Made a Victorian Deckbuilder About a Grandma

The story behind our first shipped game. A Victorian deckbuilder roguelike starring a grandma who refuses to go quietly.

We shipped a game. It's about a grandma. She fights things with cards. We're not entirely sure how we got here but we're glad we did.

Granny's Gambit is a Victorian deckbuilder roguelike and it's the first thing we've actually put out into the world. It took longer than we expected, broke in ways we didn't anticipate, and turned into something we're genuinely proud of. Here's how it happened.

The pitch was always the grandma

Most deckbuilders star some flavor of warrior, rogue, or mage. A grim hero trudging through a dark world. We love those games but we kept coming back to the same question during early design conversations. What if the protagonist had absolutely no business being in a combat situation? What if she was somebody's nan and she just decided today was the day?

That's the whole concept. A Victorian-era grandmother who picks up a deck of cards and goes to war. Not because she's secretly powerful. Not because destiny chose her. Because she's stubborn and she's angry and she's not going to sit around waiting for someone else to handle it.

The tone clicked immediately. Somewhere between cozy and violent. Warm art direction with genuinely dangerous combat. A character you root for because she's funny and tough and a little bit terrifying in the way grandmothers sometimes are.

Building a deckbuilder from scratch

We built Granny's Gambit in Phaser, which is a JavaScript game framework that mostly gets used for smaller 2D games. Building a full deckbuilder roguelike in it meant solving a lot of problems the framework wasn't specifically designed for. Card animations, hand management, a branching Slay the Spire-style map system, enemy AI, status effects, a shop, events, rest scenes. All of it from scratch.

The map was one of the hardest parts to get right. Branching paths where every node is a decision point sounds simple until you're generating them procedurally and trying to make sure the difficulty curve feels intentional. Too many elite fights early and the run feels unfair. Too few and there's no tension. We went through probably a dozen iterations of the generation algorithm before it started producing maps that felt good to navigate.

Combat took even longer. A card game lives or dies on whether the moment-to-moment decisions feel meaningful, and that's entirely a balancing problem. Every card needs to justify its existence. Every enemy needs to present a puzzle the player can solve with the tools available. Every run needs to feel like the player's choices mattered rather than the draw order deciding everything.

We got it wrong a lot before we got it right. Early playtests had fights that were either trivially easy or impossibly hard with nothing in between. The fix wasn't adding more cards. It was removing the ones that didn't force interesting decisions and making the remaining ones do more work. We also added post-combat bonuses and safety-net mechanics so that a rough early fight didn't spiral into an unwinnable run. Roguelikes need the threat of failure to feel meaningful but they also need the player to feel like a comeback is possible. Finding that line took more iteration than anything else in the project.

The art pipeline

Card art came from Gemini, Google's image model, generated at 512x512 and touched up by hand. Enemy portraits went through a similar process. The style we landed on is illustrative and warm with a slightly exaggerated quality that fits the Victorian theme without taking itself too seriously.

The backgrounds were the wildest part of the pipeline. We used Kling AI to generate video backgrounds, actual moving footage, and layered them behind the game canvas. Getting video to play behind a Phaser canvas required bypassing the engine's built-in video system entirely and using raw HTML5 video elements positioned behind a transparent canvas. Not the most elegant solution but the effect is striking. Subtle animated backgrounds give every scene a sense of place that static images can't match.

Audio came from two sources. Background music was composed in Suno, which has gotten surprisingly good at generating atmospheric orchestral tracks when you give it the right prompts. Sound effects came from ElevenLabs, mostly card sounds, impact effects, and UI feedback. We stitched loops in CapCut to handle crossfades on the BGM tracks so they'd loop seamlessly without obvious seams.

What actually shipped

The finished game has a full branching map, multiple encounter types including elite fights and boss encounters, a shop, rest scenes, event scenes where narrative choices affect your run, and a card pool deep enough to support meaningfully different strategies across runs. There's a victory scene and a game over scene and enough safety-net mechanics that a bad early draw doesn't automatically end your run.

Granny herself has a handful of signature mechanics. Cards that play off her personality rather than generic fantasy tropes. A grandmother doesn't cast fireballs. She does something more interesting and more specific to who she is. We'll let you discover the details.

The game is available on itch.io right now. It's a browser game, free to play, works on desktop. No installs, no accounts, no friction. Just click and you're in a card fight with a grandma.

What we learned

A few things that surprised us during development.

Scope is the real enemy. We started with a list of features twice as long as what shipped and the hardest decisions were about what to cut. Every feature we removed made the game better because it forced the remaining features to work harder.

Playtesting breaks your ego in useful ways. The thing you think is clever and intuitive is neither of those things to someone playing it for the first time. We rebuilt the tutorial flow three times based on watching people get confused by things we thought were obvious.

Audio matters more than you expect. The game felt flat and lifeless before we added the BGM and sound effects. After we added them it felt like a real place. If we could go back and prioritize one thing earlier in development it would be audio.

And shipping is its own skill. There's a moment in every project where it's 85% done and you have to decide whether to chase the last 15% of perfection or just put it out. We chose to ship. The game isn't perfect. Some of the balance could be tighter. Some of the animations could be smoother. But it exists, people can play it, and we can build on what we learned.

What's next

Granny's Gambit was our proof-of-concept. Proof that we could design, build, and ship a complete game. Proof that the tools and pipeline work. Now we're taking what we learned and applying it to the next thing, which is bigger and weirder and we're not ready to talk about yet.

If you want to try Granny's Gambit, it's right here. Let us know what you think. Especially if granny beats you, because she will, and we'd like to hear about it.