Inspiration
I got into deckbuilders by watching other people play Slay the Spire, so when I finally had the chance to make my own game, that's where I wanted to start. I also knew I wanted pixel art. I've always loved the look of arcade and retro games.
I didn't want to just remake Slay the Spire, though. One thing kept bugging me while I played it: your deck changes a lot over a run, but your character stays exactly the same. I started to wonder what it would feel like if both changed together.
That question is basically where Deck of Theseus came from. I wanted the knight to change over the journey as much as the deck does, with new stats, armor, and equipment picked up alongside new cards.
The name followed from there. By the end of a run, the knight might have a different deck, different stats, and different armor than when they started. The knight who takes back the kingdom isn't really the same knight who lost it, which made me think of the Ship of Theseus paradox.
What it does
Each run in Deck of Theseus is a climb through eighteen floors of a castle overrun by slimes. The Slime King, who stole your kingdom, is waiting at the top, and you fight your way up to him one card battle at a time.
Combat runs on a deck of cards. Every turn you get energy to spend on cards that attack, defend, or apply buffs and debuffs. Winning a battle also gives you stat points, so you get to decide what kind of knight you're building as the run goes on. If you're not sure what a stat does, you can hold down on its name and a bubble pops up explaining it.
What you find along the way keeps pushing that build in new directions. Enemies can drop weapons and armor in three rarities, rest sites let you either heal or draft new cards, and shops let you spend the gold you get from slimes on more cards and relics. Since all of these systems feed into each other, a card you pick up on floor four might change which stats you want by floor ten, and a lucky legendary drop can pull you toward a totally different deck than the one you had in mind.
Dying doesn't have to end the run. Once per run, you can spend ten Gems to revive with some of your health back and keep climbing. Gems can be bought with real money.
The story plays out during the run through short dialogue scenes between the knight and the slimes, and bit by bit you learn more about the road to the Slime King.
How I built it
I did not write any of the code for Deck of Theseus. The entire game was built with Claude Code.
My part was designing the game, drawing it, testing it, and directing it. I drew every sprite, background, and piece of UI art in Pixelorama. I also designed the cards, enemies, stat systems, floor progression, story, and monetization.
In the end my job looked a lot more like a game director and art director than a programmer. I'd tell Claude what I wanted, play what it built, work out what wasn't working, and explain what needed to change. I did that over and over, and a lot of the game came from problems I only noticed once I could actually play it.
The combat screen is a good example. Early on, the character sprites just floated in the middle of the arena. It worked, but they looked cut off from the castle and the story. They needed somewhere to actually stand, so I drew a new combat background with a floor for the characters and worked with Claude to get it into the game.
That caused a new problem. Once fights had several enemies, there wasn't room anymore to put each health bar under its character, so I redesigned it again and moved the enemy health bars to the top of the screen. Most of the game came together like that: build something, play it, find what's wrong, redesign it, and explain the new version to Claude.
The finished game runs on iPhone, iPad, and Mac, and purchases go through RevenueCat's Test Store.
Challenges I ran into
One of the hardest parts was debugging a game when I couldn't read its code. Since Deck of Theseus was built with Claude Code, everything I knew about how it worked came from playing it. When something broke, all I could do was describe what I saw. I couldn't go find the line that caused it.
So every bug started as something I noticed. I'd reproduce it, pin down exactly when it happened, describe it to Claude, test the fix, and go around again if it still wasn't right. A lot of the time I knew what was wrong from the player's side without knowing what was causing it underneath, or how Claude ended up fixing it. That's why testing mattered so much. Playing the game was the main way I could tell whether things were really working.
Licensing was a challenge I didn't see coming. All of the music and sound effects came from Freesound, so I had to learn how the different Creative Commons licenses work and what each one asks of you. I kept a record of every audio file I downloaded, who made it, and what license it used, and then added a credits screen so the game includes the required attribution.
It was a completely different kind of problem from designing cards or balancing fights, but I had to solve it before the game was something I could actually release.
Accomplishments that I'm proud of
First, I'm proud that I actually finished it. Getting from an idea to a complete, playable game took a long time, and a lot of it was tedious. By the end it wasn't a prototype anymore. It had a story, enemies, working systems, music, monetization, and a full run you can beat.
I'm especially proud of the stat system. While playtesting, I noticed I kept putting points into the same stats, mostly Strength (STR) and Dexterity (DEX), and the others felt like they barely mattered. Rather than just tweaking numbers so every stat scaled better, I tried to give each one its own purpose. Charisma (CHA), for example, improves what shows up in shops during a run. Now picking stats is less about chasing the biggest number and more about deciding what kind of build you're going for.
I'm also happy with how monetization turned out. Reviving is useful, but I didn't want it to take the challenge out of the game. With a limit of one revive per run, players get a second chance but can't keep buying their way through the same run. I wanted the purchase to matter without letting anyone skip past actually earning the win.
And then there's the art. I drew every pixel in the game myself: every character, enemy, background, card, and bit of UI. Seeing all those separate drawings finally come together as a real game is probably what I'm proudest of personally.
What I learned
I learned that directing a game is its own skill, and I wasn't very good at it at first.
My early requests to Claude were pretty vague, so I'd get back something that was technically what I asked for but not what I had pictured. Over time I got a lot better at explaining what was wrong and how I wanted the game to feel.
The biggest lesson was to describe the problem instead of jumping straight to a fix. Saying "the enemies are too close together, and their intent icons overlap" worked much better than "move the enemies farther apart" (and yes, that really happened in my chats with Claude). The first one explains what's actually wrong and gives Claude enough context to come up with a good fix, instead of locking it into whatever idea popped into my head first.
I also learned that making a game is a lot more than designing and building the gameplay. Licensing ended up taking far more of my time than I expected. Using music and sound effects meant learning how Creative Commons licenses work, keeping track of who needs credit, and understanding why a proper credits screen matters when you release something to the public.
What's next for Deck of Theseus
I definitely want the next update to focus on the story. Right now it's pretty simple: a knight loses his kingdom and fights through the castle to get it back. I want the world to feel a lot more alive than that.
I'd also like to add recurring characters besides the knight and the slimes, people who show up more than once and actually matter to the story. I want to tell more of it through new dialogue scenes, moments during combat, and more acts after the current run, like an Act 2.
A bigger story would also give me room for more enemy types, new encounters, and new environments, so each part of the game feels different from the last.
I also want to keep adding pixel art everywhere. I'd like to lean even harder into the retro feel, not only in the character sprites but in the environments, UI, effects, and story scenes, so playing it feels like stepping into a little arcade-era fantasy world.
Built With
- claude
- swift
Log in or sign up for Devpost to join the conversation.